Это стратегия торговли, основанная на ценовом движении, в сочетании с признанием тенденций в среднелинейном индикаторе, используя ценовые формы для входа.
Стратегия основана на следующих аспектах:
Используйте среднюю линию EMA, чтобы определить тренд. Когда 89-циклическая EMA и Hull MA являются красными, определитесь как медвежий тренд, только сделайте пробел; когда обе средние линии зеленые, определитесь как бычий тренд, только сделайте больше; когда одна из них зеленая, а другая - красная, определитесь как колебание, сделайте больше и сделайте больше.
Использование сигналов распознавания ценовых форм. Стратегия распознавания различных комбинаций и/или иных сигналов, таких как одноименная линия, ложная прорывная форма, материнская линия и т. д., для идентификации потенциальных точек входа.
Стратегия одновременно сочетает в себе ключевые поддерживающие и сопротивляющие позиции, чтобы дополнительно проверять сигналы ценовой формы и избегать ложных прорывов.
MACD помогает в определении цвета столбика MACD, проверке ценовых сигналов и повышения успешности.
Использование механизма отслеживания тенденций. Стратегия включает модуль отслеживания тенденций, который позволяет более точно определять переломные моменты тенденций, избегая перепадов и перепадов.
Установка стоп-стоп-убытков. Стратегия включает в себя модуль стоп-убытков и стоп-стопов, основанный на значениях ATR, что помогает получить прибыль и убыток.
Эта стратегия имеет следующие преимущества:
Основанный на ценовых тенденциях, не подверженный влиянию индикаторов. По сути, основанный на ценовых суждениях, не подверженный ошибочному влиянию сложных индикаторов, ближе к источнику рынка.
Вместе с концепцией тренда, избегайте подтягивания. Присоединяйтесь к EMA и Hull MA, чтобы определить направление тренда, действуйте только в направлении тренда, избегайте противоположного входа.
Форма, объединенная с показателями, повышает вероятность успеха. Форма цены и MACD-индикаторы проверяют друг друга, фильтруют ложные сигналы и повышают вероятность получения прибыли.
Модуль отслеживания трендов позволяет зафиксировать тенденции на более длинные периоды времени, что позволяет увеличить прибыль.
Существует механизм сдерживания убытков, контролируемый риск. Установлена фиксированная пропорция сдерживания убытков, которая помогает удерживать прибыль и убыток, контролировать риск.
Также существуют следующие риски:
Риск перехода в большую циклическую тенденцию. Стратегия подходит только для операций в пределах более четкой тенденции в средней короткой линии. Если встречается переход в большую циклическую тенденцию, она будет остановлена.
Риск неэффективности ценовых форм. В различных рыночных условиях эффективность ценовых форм сильно варьируется, в некоторых рыночных формах они не могут работать как ожидалось, что приводит к срыву системы.
Сложность оптимизации параметров. Стратегия включает в себя множество параметров, различные комбинации параметров оказывают большое влияние на результат, требуют большого количества обратных откликов, чтобы найти оптимальные параметры, а статическая настройка параметров также сопряжена с риском изменения рынка.
Невозможно эффективно контролировать риски по отдельным сделкам. Фиксированная установка стоп-стоп затрудняет понимание колебаний в каждой сделке и не позволяет целенаправленно контролировать пропорцию отдельных прибылей и убытков. Можно ввести динамические алгоритмы стоп-убытков или модуль управления рисками.
Эта стратегия может быть оптимизирована в следующих аспектах:
Внедрение машинного обучения для выявления более сложных ценовых форм. Использование технологий, таких как глубокое обучение, для автоматического выявления более эффективных форм.
Повышение адаптивности. Создание механизма оптимизации динамических параметров, позволяющего приспосабливать параметры стратегии к рынку в реальном времени, а не к статическим настройкам.
Включение дополнительных факторов проверки сигналов. Добавление большего количества факторов, влияющих на ценовую ситуацию, таких как объемы торгов, пробелы в ночное время, для проверки, снижает риск подкупа.
Внедрение модуля управления ветром и управлением позицией. Автоматическая коррекция размеров позиций в соответствии с убылью, эффективный контроль одиночных стоп-убытков и оптимизация убыточной доли.
Оптимизация механизмов приема. Модуль определения тенденций может быть усовершенствован, чтобы выявить более четкие ритмы колебаний тенденций для повышения успешности приема.
В целом, ключевое преимущество этой стратегии заключается в том, что она основана на оценке ценовых тенденций, избегает зависимости от показателей и максимально отражает природу рынка. Объединение тенденций и показателей повышает вероятность получения прибыли, включая риск контроля стоп-лосса.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_1",true]]
*/
//@version=2
// strategy(title="Price Action", shorttitle="Price Action", overlay=true,default_qty_value=2000,initial_capital=1000,currency=currency.USD, pyramiding=1,calc_on_every_tick=true)
// EMA //
HiLoLen = 34
pacL = ema(low,HiLoLen)
pacC = ema(close,HiLoLen)
pacH = ema(high,HiLoLen)
signalMA = ema(close,89)
col1=pacC>signalMA?lime:pacC<signalMA?red:yellow
plot(signalMA, color=col1, title="SignalMA")
// Plot the Price Action Channel (PAC) base on EMA high,low and close//
//L=plot(pacL, color=yellow, linewidth=1, title="High PAC EMA",transp=0)
//C=plot(pacC, color=yellow, style = line, linewidth=1, title="Close PAC EMA",transp=0)
//H=plot(pacH, color=yellow, linewidth=1, title="Low PAC EMA",transp=0)
// HullMA //
n=89
//
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))
//
n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))
//
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
condDown = n2 >= n1
condUp = condDown != true
col =condUp ? lime : condDown ? red : yellow
plot(n1,title="Hull MA", color=col,linewidth=1)
// Macd Barcolor
fastlength = 12
slowlength = 26
MACDLength = 9
MACD = ema(close, fastlength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
hisup= iff(delta>delta[1] and delta>0, 1,iff(delta<delta[1], -1, nz(hisup[1], 0)))
hisdown = iff(delta<delta[1] and delta<0, 1,iff(delta>delta[1], -1, nz(hisdown[1], 0)))
//Swing high low//
ktswinghigh=(high<=high[2] and high[1]<=high[2] and high[3]<=high[2] and high[4]<=high[2])// and high<high[1] and high[4]<high[3]) or (high<high[1] and high[1]<high[2] and high[4]<high[2] and high[5]<high[2] and high[3]<high[2])
ktswinghigh3=(high<high[1] and high[1]<high[3] and high[5]<high[3] and high[6]<high[5]and high[2]<high[3] and high[4]<high[3]) or(high<high[3] and high[2]<high[3] and high[1]<high[3] and high[4]<high[3] and high[5]<high[4])
sh=ktswinghigh?high[2]:na
swinghigh = fixnan(sh)
colorsh=swinghigh==swinghigh[1]?white:na
plot(swinghigh,color=colorsh,title="Swing High",style=line,offset=-2)
ktswinglow=(low>=low[2] and low[1]>=low[2] and low[3]>=low[2] and low[4]>=low[2])// and low>low[1] and low[4]>low[3]) or (low>low[1] and low[1]>low[2] and low[4]>low[2] and low[5]>low[2] and low[3]>low[2])
ktswinglow3=low>low[1] and low[1]>low[3] and low[5]>low[3] and low[6]>low[5] and low[2]>low[3] and low[4]>low[3] or (low>low[3] and low[1]>low[3] and low[2]>low[3] and low[4]>low[3] and low[5]>low[4])
sl=ktswinglow?low[2]:na
swinglow = fixnan(sl)
colorsl=swinglow==swinglow[1]?white:na
plot(swinglow,title="Swing Low",color=colorsl,style=line,offset=-2)
// Pinbar FailBreak
ema21=ema(close,13)
beariskpinbar= (close-open<(high-low)/3 and open-close<(high-low)/3) and ((high>swinghigh and high>high[1] and high>high[2] and high>high[3] and close<swinghigh))// or ((open[2]<ema21[2] or close[2]<ema21[2]) and high>ema21 and low[2]<low[1] and low[3]<low[2] and high>high[1] and high>high[2] and high>high[3]))
bullishpibar=(close-open<(high-low)/3 and open-close<(high-low)/3) and ((low<swinglow and low<low[1] and low<low[2] and low<low[3] and close>swinglow))// or ((open[2]>ema21[2] or close[2]>ema21[2]) and low<ema21 and high[2]>high[1] and high[3]>high[2] and low<low[1] and low<low[2] and low<low[3]))
//
Inside(position) => high <= high[position] and low >= low[position]
outsidebar = (high >= high[1] and low <= low[1])
barcolor((high <= high[1] and low >= low[1]) ? white : na)
barcolor(hisup==1 and MACD>0 ? lime: hisdown==1 and MACD<0 ? red : hisup==-1 and MACD>0 ? green: orange )
barcolor(bullishpibar or beariskpinbar ?white:na)
secLast = 1
fakey = (high[1] <= high[2] and low[1] >= low[2] and high > high[2] and close >= low[2] and close < high[2]) or (high[2]<=high[3] and low[2]>=low[3] and high[1]>high[2] and close<high[2] and close>low[3] and high-close>0.75*(high-low))// ? red : na
fakey1 = (high[1] <= high[2] and low[1] >= low[2] and low < low[2] and close > low[2] and close <= high[1]) or (high[2]<=high[3] and low[2]>=low[3] and low[1]<low[2] and close>low[2] and close<high[3] and close-low>0.75*(high-low)) //? lime : na
barcolor(fakey or fakey1?white:na)
//plotshape(beariskpinbar and (not fakey or (fakey and outsidebar)) , title= "Pinbar Bearisk", location=location.abovebar, color=white, style=shape.arrowdown, text="Pinbar",size=size.tiny)
//plotshape(bullishpibar and (not fakey1 or (fakey1 and outsidebar)), title= "Pinbar Bullish", location=location.belowbar, color=white, style=shape.arrowup, text="Pinbar",size=size.tiny)
//insidebar= Inside(secLast)? #FF9800: na
onewhitesoliderbear= close<open and high[1]-close>0.5*(high[1]-low[1]) and (open-close)>2/3*(high-low) and (high[1]>ema21[1] or high>ema21) and open[1]<ema21[1] and close-low<(high-close)*0.3 and (open[2]<ema21[2] or close[2]<ema21[2]) and close<ema21 and low[2]<low[1] and low[3]<low[2]
onewwhitesoliderbull= close>open and close-low[1]>0.5*(high[1]-low[1]) and (close-open)>2/3*(high-low) and (low[1]<ema21[1] or low<ema21) and open[1]>ema21[1] and high-close<(close-low)*0.3 and (open[2]>ema21[2] or close[2]>ema21[2]) and close>ema21 and high[2]>high[1] and high[3]>high[2]
onewhitesoliderbear1= close<open and high[1]-close>0.5*(high[1]-low[1]) and (open-close)>2/3*(high-low) and (high[1]>pacC[1] or high>pacC) and open[1]<pacC[1] and close-low<(high-close)*0.3 and (open[2]<pacC[2] or close[2]<pacC[2]) and close<pacC and low[2]<low[1] and low[3]<low[2]
onewwhitesoliderbull1= close>open and close-low[1]>0.5*(high[1]-low[1]) and (close-open)>2/3*(high-low) and (low[1]<pacC[1] or low<pacC) and open[1]>pacC[1] and high-close<(close-low)*0.3 and (open[2]>pacC[2] or close[2]>pacC[2]) and close>pacC and high[2]>high[1] and high[3]>high[2]
onewhitesoliderbear2= close<open and high[1]-close>0.5*(high[1]-low[1]) and (open-close)>2/3*(high-low) and (high[1]>signalMA[1] or high>signalMA) and open[1]<signalMA[1] and close-low<(high-close)*0.3 and (open[2]<signalMA[2] or close[2]<signalMA[2]) and close<signalMA and low[2]<low[1] and low[3]<low[2]
onewwhitesoliderbull2= close>open and close-low[1]>0.5*(high[1]-low[1]) and (close-open)>2/3*(high-low) and (low[1]<signalMA[1] or low<signalMA) and open[1]>signalMA[1] and high-close<(close-low)*0.3 and (open[2]>signalMA[2] or close[2]>signalMA[2]) and close>signalMA and high[2]>high[1] and high[3]>high[2]
//plotshape(beariskpinbar and (not fakey or (fakey and outsidebar)) and not onewhitesoliderbear and not onewwhitesoliderbull, title= "Pinbar Bearisk", location=location.abovebar, color=white, style=shape.arrowdown, text="Pinbar",size=size.tiny)
//plotshape(bullishpibar and (not fakey1 or (fakey1 and outsidebar)) and not onewwhitesoliderbull and not onewhitesoliderbear, title= "Pinbar Bullish", location=location.belowbar, color=white, style=shape.arrowup, text="Pinbar",size=size.tiny)
//
//pinbar=(open>ema21 and low<ema21 and close-low>2*(high-close)) or (open[1]>ema21[1] and low[1]<ema21[1] and (close-low[1]>2*(high[1]-close) or close-low>2*(high[1]-close)))? green:na
//pinbar2=(open<ema21 and high>ema21 and high-close>2*(close-low)) or (open[1]<ema21[1] and high[1]>ema21[1] and (high[1]-close>2*(close-low[1]) or high-close>2*(close-low[1])))?orange:na
//plot(ema21)
//bgcolor(insidebar, transp=70)
//bgcolor(fakey, transp=80)
//bgcolor(fakey1, transp=80)
//bgcolor(pinbar, transp=70)
//bgcolor(pinbar2, transp=70)
insidebar = ((high[1] <= high[2] and low[1] >= low[2]) and not(outsidebar))
barcolor(outsidebar and high[1]<=high[2] and low[1]>=low[2]?white:na)
bearishibbf=( insidebar and (high > high[1] and close < high[1]))
//barcolor( bearishibbf ? white : na, 0, true, "Bearish Inside Bar Breakout Failure")
//plotshape(bearishibbf and not fakey, title= "Bearish Inside Bar Breakout Failure", location=location.abovebar, color=white, style=shape.arrowdown, text="InsideBar\nFailBreak",size=size.tiny)
bullishibbf=(insidebar and (low < low[1] and close > low[1]))
//barcolor( bullishibbf ? white : na, 0, true, "Bullish Inside Bar Breakout Failure")
//plotshape(bullishibbf and not fakey1, title= "Bullish Inside Bar Breakout Failure", location=location.belowbar, color=white, style=shape.arrowup, text="InsideBar\nFailBreak",size=size.tiny)
//
barcolor((onewwhitesoliderbull or onewhitesoliderbear) and not insidebar?white:na)
//
// Outsidebar follow Insidebar
///plotshape(outsidebar and ((high[1]<=high[2] and low[1]>=low[2] ) ) and close<ema21 and not beariskpinbar and not bullishpibar, title= "OutsideBar Break InsideBar", location=location.abovebar, color=white, style=shape.arrowdown, text="Outside\nBar",size=size.tiny)
//plotshape(outsidebar and ((high[1]<=high[2] and low[1]>=low[2]) ) and close>ema21 and not beariskpinbar and not bullishpibar, title= "OutsideBar Break InsideBar", location=location.belowbar, color=white, style=shape.arrowup, text="Outside\nBar",size=size.tiny)
//
whitesoldierreversal= ((low[1]<low[2] and low[2]<low[3]) or (high[1]<high[2] and high[2]<high[3])) and low[3]<low[8] and low[8]<ema21[8] and high[2]<ema21[2] and high[1]<ema21[1] and high[3]<ema21[3] and close-low[1]>(high[1]-close) and (open<close[1] or open<open[1]) and close-open>0.3*(high-low) and high-close<0.5*(close-open)
blackcrowreversal= ((high[1]>high[2] and high[2]>high[3]) or (low[1]>low[2] and low[2]>low[3])) and high[3]>high[8] and high[8]>ema21[8] and low[2]>ema21[2] and low[1]>ema21[1] and low[3]>ema21[3] and close-low[1]<(high[1]-close) and (open>close[1] or open>open[1]) and open-close>0.3*(high-low) and close-low<0.5*(open-close)
// Black Crow and White Soldier Reversal
//plotshape(whitesoldierreversal, title= "Piercing Pattern", location=location.belowbar, color=white, style=shape.arrowup, text="Piercing",size=size.tiny)
//plotshape(blackcrowreversal, title= "Dark Cloud Cover", location=location.abovebar, color=white, style=shape.arrowdown, text="Dark\nCloud",size=size.tiny)
barcolor(blackcrowreversal or whitesoldierreversal?white:na)
//
pinbarreversalbull= ((low[1]<low[2] and low[2]<low[3]) or (high[1]<high[2] and high[2]<high[3])) and low[3]<low[8] and low[8]<ema21[8] and high[2]<ema21[2] and high[1]<ema21[1] and high[3]<ema21[3] and close-open<(high-low)/3 and open-close<(high-low)/3 and high-close<close-low and low<low[1]
pinbarreversalbear= ((high[1]>high[2] and high[2]>high[3])or (low[1]>low[2] and low[2]>low[3])) and high[3]>high[8] and high[8]>ema21[8] and low[2]>ema21[2] and low[1]>ema21[1] and low[3]>ema21[3] and close-open<(high-low)/3 and open-close<(high-low)/3 and high-close>close-low and high>high[1]
// Pinbar Reversal
//plotshape(pinbarreversalbull and not whitesoldierreversal and not fakey1 and not blackcrowreversal and not whitesoldierreversal and not bullishpibar, title= "Bullish Pinbar Reversal", location=location.belowbar, color=white, style=shape.arrowup, text="Pinbar",size=size.tiny)
//plotshape(pinbarreversalbear and not blackcrowreversal and not fakey and not whitesoldierreversal and not blackcrowreversal and not beariskpinbar, title= "Bearisk Pinbar Reversal", location=location.abovebar, color=white, style=shape.arrowdown, text="Pinbar",size=size.tiny)
barcolor(pinbarreversalbear or pinbarreversalbull?white:na)
// Fakey
plotshape(fakey and (not outsidebar or not (high[1]<=high[2] and low[1]>=low[2]) ) and not blackcrowreversal , title= "Fakey Bearisk", location=location.abovebar, color=white, style=shape.arrowdown, text="Fakey",size=size.tiny)
plotshape(fakey1 and (not outsidebar or not (high[1]<=high[2] and low[1]>=low[2]) ) and not whitesoldierreversal , title= "Fakey Bullish", location=location.belowbar, color=white, style=shape.arrowup, text="Fakey",size=size.tiny)
// Pinbar Fake Breakout
//plotshape(beariskpinbar and (not fakey or (fakey and outsidebar)) and not onewhitesoliderbear and not onewwhitesoliderbull and not blackcrowreversal and not whitesoldierreversal and not fakey, title= "Pinbar Bearisk", location=location.abovebar, color=white, style=shape.arrowdown, text="FalseBreak\nPinbar",size=size.tiny)
//plotshape(bullishpibar and (not fakey1 or (fakey1 and outsidebar)) and not onewwhitesoliderbull and not onewhitesoliderbear and not whitesoldierreversal and not blackcrowreversal and not fakey1, title= "Pinbar Bullish", location=location.belowbar, color=white, style=shape.arrowup, text="FalseBreak\nPinbar",size=size.tiny)
// Black Crow and White Soldier Continuation
//plotshape((onewhitesoliderbear or onewhitesoliderbear1 or onewhitesoliderbear2) and not insidebar and not fakey and not fakey1 and not outsidebar, title= "One solider Bearisk", location=location.abovebar, color=white, style=shape.arrowdown, text="Black\nCrow",size=size.tiny)
//plotshape((onewwhitesoliderbull or onewwhitesoliderbull1 or onewwhitesoliderbull2)and not insidebar and not fakey and not fakey1 and not outsidebar, title= "One solider Bullish", location=location.belowbar, color=white, style=shape.arrowup, text="White\nSoldier",size=size.tiny)
// Pinbar Continuation
pinbarresistance= (close-open<(high-low)/3 and open-close<(high-low)/3) and high-close>(close-low) and high-open>(open-low) and ((open[2]<ema21[2] or close[2]<ema21[2]) and high>ema21 and low[2]<low[1] and low[3]<low[2] and high>high[1] and high>high[2] and high>high[3])
pinbarsupport=(close-open<(high-low)/3 and open-close<(high-low)/3) and close-low>(high-close) and open-low>(high-open) and ((open[2]>ema21[2] or close[2]>ema21[2]) and low<ema21 and high[2]>high[1] and high[3]>high[2] and low<low[1] and low<low[2] and low<low[3])
//plotshape(pinbarresistance and (not fakey or (fakey and outsidebar)) and not onewhitesoliderbear and not onewwhitesoliderbull and not blackcrowreversal and not whitesoldierreversal and not fakey and not beariskpinbar, title= "Pinbar Bearisk", location=location.abovebar, color=white, style=shape.arrowdown, text="Pinbar",size=size.tiny)
//plotshape(pinbarsupport and (not fakey1 or (fakey1 and outsidebar)) and not onewwhitesoliderbull and not onewhitesoliderbear and not whitesoldierreversal and not blackcrowreversal and not fakey1 and not bullishpibar, title= "Pinbar Bullish", location=location.belowbar, color=white, style=shape.arrowup, text="Pinbar",size=size.tiny)
// barcolor
onlybuy=input(false)
onlysell=input(false)//
conmua= hisup==1 and MACD>0?1: (hisdown[1]==1 and MACD[1]<0 and pacC[1]>signalMA[1]) or (n1[2]<n1[3] and pacC[1]>signalMA[1])?-1:nz(conmua[1],1)
conmua1= conmua==1 and (hisdown==1 and MACD<0 and pacC>signalMA) or (n1[1]<n1[2] and pacC>signalMA)?1:(close[1]>n1[1] and pacC[1]>signalMA[1] and open[1]<n1[1] and close[1]>pacC[1]) or crossunder(pacC,signalMA) ?-1:nz(conmua1[1],1)
conmua2=conmua1==1 and hisup==1 and MACD>0 and close>n1?1: high[1]<high[3] and high[2]<high[3]?-1:nz(conmua2[1],1)
conmua3=conmua2==1 and high<high[2] and high[1]<high[2]?1: (close[1]>swinghigh[1] and hisup[1]==1 and MACD[1]>0) or ( MACD<0)?-1:nz(conmua3[1],1)
mua=conmua3==1 and hisup==1 and MACD>0 and conmua2==-1 and conmua1==-1
mua2= conmua1==1 and ( close>n1 and pacC>signalMA and open<n1 and close>pacC) and conmua[1]==-1
//if(mua2 and onlysell==false)
// strategy.entry("Buy",strategy.long)
conban=hisdown==1 and MACD<0?1:(hisup[1]==1 and MACD[1]>0 and pacC[1]<signalMA[1]) or (n1[2]>n1[3] and pacC[1]<signalMA[1])?-1:nz(conban[1],1)
conban1= conban==1 and (hisup==1 and MACD>0 and pacC<signalMA) or (n1[1]>n1[2] and pacC<signalMA)?1:( close[1]<n1[1] and pacC[1]<signalMA[1] and open[1]>n1[1] and close[1]<pacC[1]) or crossover(pacC,signalMA)?-1:nz(conban1[1],1)
conban2=conban1==1 and hisdown==1 and MACD<0 and close<n1?1: low[1]>low[3] and low[2]>low[3]?-1:nz(conban2[1],1)
conban3=conban2==1 and low[1]>low[2] and low>low[2]?1: (close[1]<swinglow[1] and hisdown[1]==1 and MACD[1]<0) or ( MACD>0)?-1:nz(conban3[1],1)
ban=conban3==1 and hisdown==1 and MACD<0 and conban2==-1
ban2=conban1==1 and ( close<n1 and pacC<signalMA and open>n1 and close<pacC) and conban[1]==-1
//if(ban2 and onlybuy==false)
// strategy.entry("Sell",strategy.short)
plotshape(conmua1==1 and conmua[1]==-1, style= shape.triangleup, color = lime, location = location.bottom,size=size.tiny)
plotshape(conban1==1 and conban[1]==-1, style= shape.triangledown, color = red, location = location.bottom,size=size.tiny)
plotshape(mua2, style= shape.labelup, color = lime, location = location.bottom,size=size.tiny)
plotshape(ban2, style= shape.labeldown, color = red, location = location.bottom,size=size.tiny)
// TP and SL/
SL = input(defval=50.00, title="Chốt lời (Pip)", type=float, step=1)
rr= input(defval=20.00,title="Cắt lỗ (Pip)",type=float, step=1)
useTPandSL = input(defval = true, title = "Sử dụng chốt lời và cắt lỗ?")
Stop = rr*10
Take=SL*10
Q = 100
if(useTPandSL)
strategy.exit("ExitBuy", "Buy", qty_percent=Q, profit= Take, loss=Stop)
strategy.exit("ExitSell", "Sell", qty_percent=Q, profit= Take, loss=Stop)