この戦略の主なアイデアは,重なる価格差を活用して市場の動向を判断することです.差がマイナスから正に逆転すると長くなって,差がマイナスから正に逆転すると短くなってしまいます.これは逆の取引戦略に属します.
ストラテジーは,まず,重なり合う価格差 (Close-Close[1]) を計算し,今日の閉店価格マイナス昨日の閉店価格を計算し,その後,過去30日間の差の合計を計算します. 合計がマイナスから正に逆転すると長い信号を生成し,合計が正から負に逆転すると短い信号を生成します. これは典型的な逆転取引戦略です.
具体的には,この戦略は3つの指標を維持しています.
ff がマイナスから正に変化し,つまり 0 未満から0 以上のものになり,dd1 もマイナスから正に変化すると長い信号を生成する.
ff が正から負に変化し,つまり 0 以上のから 0 未満に変化し,dd1 も正から負に変化すると短信号を生成する.
利益とストップ・ロスの線が設定されます
この戦略には以下の利点があります.
この戦略にはいくつかのリスクもあります.
対応する解は次のとおりです.
戦略は以下の側面で最適化できます.
この戦略は,価格差の逆転を計算することによって市場のターニングポイントを判断する.これは典型的な逆取引戦略である.論理は明確で,実践的な価値のある実装が容易である.しかし,市場の変化に適応するためにさらに最適化する必要があるリスクもあります.全体として,戦略は定量的な取引のための基本的な枠組みを提供し,それを構築し拡張することができます.
/*backtest start: 2023-12-07 00:00:00 end: 2023-12-14 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Fst",currency="USD",initial_capital=100000) //Length0 = input(30, title="fastperiod", minval=1) Length = input(30, title="SUMM") Length1 = input(15, title="Signalperiod", minval=1) Length2= input(30, title="Info", minval=1) profit=input(95, title="profit", minval=1) loss=input(95, title="loss", minval=1) //f=iff(close>open,close-open,iff(close>open[1],close[1]-open[1],0)) f=0.0 dd1=0.0 dd2=0.0 ff=0.0 ff0=0.0 f:=close-close[1] ff:=sum(f,Length) //ff0:=sum(f,Length0) dd1:=wma(ff,Length1) dd2:=wma(ff,Length2) bull=ff<0 and dd1<0 and ff[1]<dd1 and ff>dd1 and abs(ff)>20 bear=ff>0 and dd1>0 and ff[1]>dd1 and ff<dd1 and abs(ff)>20 if(bull) strategy.entry("long", strategy.long) strategy.exit("exit", "long", profit = close*profit/1000, loss=close*loss/1000) strategy.close("long", when = bear) plotchar(bull,size=size.small,location=location.bottom) plot(ff,color=black,linewidth=2) plot(ff0,color=green,linewidth=2) plot(wma(ff,Length1),color=red,linewidth=2) plot(wma(ff,Length2),color=blue,linewidth=2) plot(wma(ff,Length1)-wma(ff,Length2),color=green,style=columns) plot(0,linewidth=1,color=black) plot(500,linewidth=1,color=red) plot(-500,linewidth=1,color=red)