この戦略は,3つの時間周期の平滑異動平均指数に基づいている.異なる周期の指標が同方向の看板または看板になると,取引シグナルを生成する.目的は,複数の時間枠を利用してトレンドを確認し,偽のシグナルの可能性を減らすことです.
滑らかな異対称平均 ((Heiken Ashi) 指数は,通常のK線とは異なり,価格曲線を平坦に計算し,傾向をより正確に識別する.
この戦略は,日線,周線,月線の3つの時間周期の平滑異対平均指標を採用している. 3つの同向看板,すなわちすべての時間周期の火線が緑色であるとき,買入シグナルを生成する. 3つの同看板,すなわち火線がすべて赤色であるとき,売出シグナルを生成する.
入場後,任意の時間周期の平らな異動平均の転向で平仓シグナルが生成される.
複数のタイムフレームの検証により,偽信号が減り,安定性が向上する.
滑らかな異性平均指標は,傾向を識別し,ノイズを減らす.
規則はシンプルでわかりやすく,実行しやすい.
柔軟に選択できる時間周期の組み合わせ,異なる品種に適合する.
パーメータなしの最適化,操作が簡単.
複数の条件の制限により,取引機会を逃す可能性があります.条件の制限を下げることができます.
平滑離散平均の遅れの問題が残っており,信号が遅れる可能性がある.他の指標と組み合わせて最適化することができる.
止損は設定されず,リスクをコントロールできません. 移動止損戦略に参加できます.
利回り比率は固定で,柔軟性がない. 動的止損を設定できる.
価格の確認メカニズムに追加できます.
テストには15分や60分といった時間枠を追加します.
滑らかな差異平均のパラメータを最適化して,感度を向上させる.
リスク管理のための移動式ストップ戦略に参加します.
市場構造の指標に注目し,波動の範囲を回避する.
新規再入学条件と長期保有期間
この戦略は,多時間周期の平滑異対平均線指標の優位性を利用してトレンド追跡を実現するが,単なる指標に基づいて偽信号を生成する.より多くの指標,止損戦略,最適化パラメータなどの方法によって改善し,戦略をより信頼性のあるものにすることができる.全体的に,多時間フレームワークの検証理念は学ぶに値する.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_5",true]]
*/
//@version=4
strategy("Heiken Ashi MTF Strategy")
ha_t = heikinashi(syminfo.tickerid)
res = input('D', title="TM 1")
ha_open = security(ha_t, res, open)
ha_close = security(ha_t, res, close)
ha_dif = ha_open-ha_close
ha_diff=iff(ha_dif > 0, 1, iff(ha_dif<0, 2, 3))
res2 = input('W', title="TM 2")
ha_open2 = security(ha_t, res2, open)
ha_close2 = security(ha_t, res2, close)
ha_dif2 = ha_open2-ha_close2
ha_diff2=iff(ha_dif2 > 0, 1, iff(ha_dif2<0, 2, 3))
res3 = input('M', title="TM 3")
ha_open3 = security(ha_t, res3, open)
ha_close3 = security(ha_t, res3, close)
ha_dif3 = ha_open3-ha_close3
ha_diff3=iff(ha_dif3 > 0, 1, iff(ha_dif3<0, 2, 3))
plot(15, title="TF1", color=iff(ha_diff==1, color.red, iff(ha_diff==2, color.green, color.white)), style=plot.style_circles, linewidth=5, join=true)
plot(14, title="TF2", color=iff(ha_diff2==1, color.red, iff(ha_diff2==2, color.green, color.white)), style=plot.style_circles, linewidth=5, join=true)
plot(13, title="TF3", color=iff(ha_diff3==1, color.red, iff(ha_diff3==2, color.green, color.white)), style=plot.style_circles, linewidth=5, join=true)
short = ha_diff ==1 and ha_diff2==1 and ha_diff3 ==1
long = ha_diff ==2 and ha_diff2==2 and ha_diff3 ==2
exitlong = ha_diff ==1 or ha_diff2==1 or ha_diff3 ==1
exitshort = ha_diff ==2 or ha_diff2==2 or ha_diff3 ==2
longA = input(true)
shortA = input(false)
if(longA)
strategy.entry("long",1,when=long)
strategy.close("long",when=exitlong)
if(shortA)
strategy.entry("short",0,when=short)
strategy.close("short",when=exitshort)