Вопрос или проблема
Как переключаться между покупкой и продажей
Как изменить условие с Покупка (текущий скрипт), чтобы также учесть Продажу?
enter code here
//@version=5
indicator("Фиксированный % Стоп Лосс Тейк Профит", overlay=true)
Цена = input.price(defval = 0,confirm = true)
slF = input.float(title="Короткая % ниже цены", defval=0.5, minval=0, step=0.001) * 0.01
tpF = input.float(title="Длинная % выше цены", defval=1.0, minval=0, step=0.001) * 0.01
h = Цена
короткая = (h * (1 - slF))
длинная = (h * (1 + tpF))
Покупка = input.bool(true)
Продажа = input.bool(false)
//Условие
plot(h,color=color.white,linewidth = 5)
plot(короткая,color=color.red,linewidth = 5)
plot(длинная,color=color.lime,linewidth = 5)
Ответ или решение
Чтобы изменить условия скрипта так, чтобы он также учитывал ситуации для продажи, вам нужно внести несколько правок в ваш код. Я объясню, как это сделать, добавив необходимые условия и логику для обоих действий — покупки и продажи.
Полный ответ на вопрос
Изначальный код:
//@version=5
indicator("Fix % Stop Loss Take Profit", overlay=true)
Price = input.price(defval = 0, confirm = true)
slF = input.float(title="Short % Below Price", defval=0.5, minval=0, step=0.001) * 0.01
tpF = input.float(title="Long % Above Price", defval=1.0, minval=0, step=0.001) * 0.01
h = Price
short = (h * (1 - slF))
long = (h * (1 + tpF))
Buy = input.bool(true)
Sell = input.bool(false)
// Условия для покупки и продажи
plot(h, color=color.white, linewidth = 5)
plot(short, color=color.red, linewidth = 5)
plot(long, color=color.lime, linewidth = 5)
Изменения для добавления возможности продажи:
- Параметры для стоп-лосса и тейк-профита не только для покупки, но и для продажи.
- Добавить логику для определения ценовых уровней для коротких позиций (продаж).
- Отображение условий на графике.
Обновлённый код:
//@version=5
indicator("Fix % Stop Loss Take Profit", overlay=true)
// Входные параметры
Price = input.price(defval = 0, confirm = true)
// Параметры для стоп-лосса и тейк-профита
slF_Buy = input.float(title="Long % Below Price (Stop Loss)", defval=0.5, minval=0, step=0.001) * 0.01
tpF_Buy = input.float(title="Long % Above Price (Take Profit)", defval=1.0, minval=0, step=0.001) * 0.01
slF_Sell = input.float(title="Short % Above Price (Stop Loss)", defval=0.5, minval=0, step=0.001) * 0.01
tpF_Sell = input.float(title="Short % Below Price (Take Profit)", defval=1.0, minval=0, step=0.001) * 0.01
// Уровни цен
h = Price
short = (h * (1 + slF_Sell)) // Уровень стоп-лосса для короткой позиции
long = (h * (1 - tpF_Buy)) // Уровень тейк-профита для длинной позиции
// Условия покупки и продажи
Buy = input.bool(true, title="Enable Buy Conditions")
Sell = input.bool(false, title="Enable Sell Conditions")
// Плотинг условий
plot(Buy ? h : na, color=color.white, linewidth=5, title="Buy Price")
plot(Buy ? long : na, color=color.lime, linewidth=5, title="Long Take Profit")
plot(Buy ? short : na, color=color.red, linewidth=5, title="Long Stop Loss")
plot(Sell ? h : na, color=color.black, linewidth=5, title="Sell Price")
plot(Sell ? short : na, color=color.red, linewidth=5, title="Short Take Profit")
plot(Sell ? long : na, color=color.green, linewidth=5, title="Short Stop Loss")
Пояснение изменений:
-
Добавлены параметры для продаж: Теперь у вас есть параметры
slF_Sell
иtpF_Sell
для определения уровней стоп-лосса и тейк-профита для коротких позиций. -
Логика условий: Для определения результатов покупки и продажи добавлены условия на график. Они будут отображать уровни в зависимости от выбранного действия (покупка или продажа).
- Плотинг условий: Используется тернарный оператор для отображения уровней на графике только в случае включения соответствующих условий.
Теперь ваш скрипт готов к использованию для обеих стратегий, и вы сможете лучше управлять своими рисками как при покупке, так и при продаже.