シェード・トレーディング戦略は,潜在的な市場逆転機会を決定するために,長い下下または上下のシェードでKラインを識別する.長い下下のシェードが特定された場合,長い上下のシェードが特定された場合,短くなります.この戦略は主に,シェード逆転の一般的な原則を使用して取引します.
シェード・トレーディング戦略の基本的な論理は,K線で長い上下のシェードを識別することです.戦略は,K線体の大きさを計算します.corpo
影の大きさに誓って,pinnaL
そしてpinnaS
. 影のサイズが特定の倍数で体サイズよりも大きい場合,逆転の機会があると考えられる.特に,戦略には以下のステップが含まれます:
corpo
オープン価格と閉鎖価格の絶対値です.pinnaL
絶対値で,最高値と閉値の差です.pinnaS
最低値と閉値の絶対値です.pinnaL > (corpo*size)
どこにsize
調整可能なパラメータですpinnaS > (corpo*size)
.さらに,この戦略は,K線範囲がdim
最低値より大きい場合min
中小範囲の些細なK線をフィルタリングする.ストップ・ロストとテイク・プロフィートは出口に使用されます.
シャドー・トレーディング戦略は,シンプルで実用的な短期的トレーディング戦略である.シャドー・リバースの一般的な原則を使用して取引信号を生成する.戦略論理は単純で実行が容易で,製品の違いに応じて調整および最適化することができる.同時に,シャドー・トレーディングには一定のリスクも伴う.偽取引を減らすためにトレンドやその他のフィルタリング要因と組み合わせることが必要です.適切に使用すると,シャドー・トレーディングは量子トレーディングシステムの効果的な構成要素になることができます.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-11 23:59:59 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Shadow Trading", overlay=true) size = input(1,type=float) pinnaL = abs(high - close) pinnaS = abs(low-close) scarto = input(title="Tail Tollerance", type=float, defval=0.0018) corpo = abs(close - open) dim = abs(high-low) min = input(0.001) shortE = (open + dim) longE = (open - dim) barcolor(dim > min and (close > open) and (pinnaL > (corpo*size)) and (open-low<scarto) ? navy : na) longcond = (dim > min) and (close > open) and (pinnaL > (corpo*size)) and (open-low<scarto) minimo=low+scarto massimo=high+scarto barcolor( dim > min and(close < open) and (pinnaS > (corpo*size)) and (high-open<scarto) ? orange: na) shortcond = (dim > min) and(close < open) and (pinnaS > (corpo*size)) and (high-open<scarto) //plot(shortE) //plot(longE) //plot(open) ss= shortcond ? close : na ll=longcond ? close : na offset= input(0.00000) DayClose = 2 closup = barssince(change(strategy.opentrades)>0) >= DayClose longCondition = (close > open) and (pinnaL > (corpo*size)) and (open-low<scarto) crossFlag = longcond ? 1 : 0 monthBegin = input(1,maxval = 12) yearBegin = input(2013, maxval= 2015, minval=2000) if(month(time)>monthBegin and year(time) >yearBegin) if (longcond) strategy.entry("short", strategy.short, stop = low - offset) //strategy.close("short", when = closup) shortCondition = (close < open) and (pinnaS > (corpo*size)) and (high-open<scarto) if(month(time)>monthBegin and year(time) >yearBegin) if (shortcond) strategy.entry("long", strategy.long, stop = high + offset) //strategy.close("long", when = closup) Target = input(20) Stop = input(70) //- 2 Trailing = input(0) CQ = 100 TPP = (Target > 0) ? Target*10: na SLP = (Stop > 0) ? Stop*10 : na TSP = (Trailing > 0) ? Trailing : na strategy.exit("Close Long", "long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP) strategy.exit("Close Short", "short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)