この戦略は,移動平均線,相対的に強い指標 ((RSI)) と一目的な均衡表指標を組み合わせて,株価のトレンドを識別し,トレンドの背景で取引することを目的としています. 核心的な考え方は,短期平均線が中長期平均線を突破して一目的な均衡表の雲群の上に突破するときに,買入シグナルを生成することであり,短期平均線が中長期平均線を短線の下に突破し,雲群の下に突破するときに,売出シグナルを生成することである.
この戦略では,13,21,89,233日の4つの移動平均を使用しています. 13日線は短期トレンドを表し,233日線は長期トレンドを表し,21日線と89日線は中期です. 短期平均線の上を横切ると,中期長期平均線を横切ると,株価の動きが転転して買い信号を生じます. 逆に,短期平均線を下を横切ると,中期長期平均線を横切ると,売り信号を生じます.
さらに,この戦略は,第1均衡表の指標の変換線,基準線,前沿線を組み合わせている.変換線は9日移動平均値,基準線は26日移動平均値,前沿線は中短期移動平均値を採用している.価格が前沿線を上を横切るときは買入信号であり,下を横切るときは出売り信号である.
最後に,戦略はまた,RSI指標の12日線と24日線を使用する. 12日線は短期間の超買超売を代表し,24日線は中期間の超買超売を代表する. 12日RSI線と24日RSI線の交差を判断することによって,戦略は取引信号を確認する.
この戦略は,株式価格の主要なトレンドの方向を非常によく識別できます.移動平均は,目安均衡表の指標と組み合わせて,買入販売のシグナルをより正確にします.さらに,RSI指標の導入は,偽の突破の可能性を回避します.全体的に,この戦略は,複数の指標の優位性を集めて,主要なトレンドを効果的にロックして,そこから利益を得ることができます.
トレンド反転リスク
取引者は,市場状況の変化に注意を払い,価格が平均に触れる兆候が現れたら,警戒を高め,適時にポジションを平準化する必要があります.
パラメータ最適化空間
移動平均の周期設定,一目平衡表パラメータなどに最適化の余地があり,トレーダーは異なる品種に応じて最適のパラメータ組み合わせを選択することができる.
取引頻度が高い
戦略の取引頻度は比較的高く,手数料の問題を十分に考慮する必要がある.パラメータを適切に調整して,不要な取引を減らすことができる.
ストップ・ストップ・ストップ戦略を追加する
現在では,ストップ・ロスト・ストップ・ロジックが設定されていないため,一定のリスクが生じます.将来的には,このようなモジュールを戦略に追加することを検討することができます.
パラメータ最適化
異なる取引品種に対して,移動平均周期,一目平衡表パラメータ,RSI周期などを最適化して最適な組み合わせを見つけることができる.これは戦略の安定性をさらに向上させることができる.
さらに多くの指標を組み合わせて
使用されている指標に加えて,波動率,取引量変化などの他の派生指標を組み合わせて考慮することもできます.
この戦略は,移動平均,比較的強い指標と一目的な均衡表指標を組み合わせて,証券価格の主要なトレンドを効果的に識別することができ,比較的に典型的なトレンド追跡戦略に属します. この戦略の優点は,指標のポートフォリオが包括的で,トレンドをうまく把握できることです.しかし,取引頻度は高く,ある程度の引き戻しリスクもあります.
/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("EMA + Ichimoku Kinko Hyo Strategy", shorttitle="EMI", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(26, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(52, minval=1, title="Senkou Span B Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
SenkouSpanH = max(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
SenkouSpanL = min(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
ChikouSpan = close[displacement-1]
Sema = ema(close, 13)
Mema = ema(close, 21)
Lema = ema(close, 89)
XLema = ema(close, 233)
plot(Sema, color=blue, title="13 EMA", linewidth = 2)
plot(Mema, color=fuchsia, title="21 EMA", linewidth = 1)
plot(Lema, color=orange, title="89 EMA", linewidth = 2)
plot(XLema, color=teal, title="233 EMA", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=lime, title="Chikou Span", linewidth = 2)
sa=plot (SenkouSpanA, offset = displacement, color=green, title="Senkou Span A", linewidth = 1)
sb=plot (SenkouSpanB, offset = displacement, color=red, title="Senkou Span B", linewidth = 3)
fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red)
longCondition = (rsi(close, 12)>rsi(close, 24)) and close>ChikouSpan and Sema>KijunSen
strategy.entry("Long",strategy.long,when = longCondition)
strategy.close("Long", when = (rsi(close, 12)<rsi(close, 24) and (close<KijunSen and close<ChikouSpan)))
shortCondition = (rsi(close, 12)<rsi(close, 24)) and close<ChikouSpan and Sema<KijunSen
strategy.entry("Short",strategy.short, when = shortCondition)
strategy.close("Short", when = (rsi(close, 12)>rsi(close, 24) and (close>KijunSen and close>ChikouSpan)))