これは価格アクションをベースとした取引戦略で,動向平均と組み合わせてトレンドを特定し,入場価格パターンを利用します.
この戦略は主に以下の側面に基づいています.
トレンドを判断する EMA を使用する.89期 EMA と Hull MA が両方とも赤である場合,それは熊のトレンドとして判断され,ショートのみに行く.両方とも緑である場合,それはブルトレンドとして判断され,ロングのみに行く.一つが緑で一つが赤である場合,それは統合として判断され,長と短の両方が可能です.
価格パターンのシグナルを識別する.戦略は,単一のキャンドル,偽のパターン,内部バーなどの様々なキャンドルスタイク組み合わせを認識し,潜在的なエントリーポイントを特定します.
戦略は,価格パターン信号をさらに検証し,偽のブレイクを避けるために,S/Rレベルも組み込む.
MACD ヒストグラムの色は,価格パターン信号を確認し,確率を改善するために使用されます.
トレンドフォローメカニズム. 戦略には,トレンド逆転をより正確に検出し,上下を追いかけることを避けるためのトレンドフォローモジュールが含まれます.
リスク/リターンを管理するために,ATRに基づく固定ストップ損失とリターンを含む.
この戦略には以下の利点があります.
価格の動向に基づいて 指標に影響を受けない 複雑な指標なしで 純粋な価格に基づいて 市場の性質に近い
トレンドを組み合わせ,追いかけるのを避けます. EMAとハル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)