イチモク初期クラウドトレンドフォロー戦略 (Ichimoku Early Cloud Trend Following Strategy) は,人気のイチモククラウド指標に基づくトレンドフォロー戦略である.イチモククラウドのクロスオーバーラインを利用して早期エントリー信号を生成し,トレンドを事前に把握する.この戦略には,誤ったブレイクを避けるためにトレンド検証のための移動平均値も組み込まれている.
この戦略は主に以下の要素に基づいています.
変換線とベースラインを使って イチモク雲を構成し 26 周期の移動で雲を描画します
雲の上部から接近が切れる時 長い信号を発します. 雲の下部から接近が切れる時 短い信号を発します.
変換線とベースラインの最大/最小を割るため,偽のブレイクをフィルタリングする必要があります.
入場価格に基づいて 5%のストップロスを設定します
このような多層フィルタリングにより,トレンド逆転点を効果的に特定し,新興の取引機会を迅速に把握できます. 厳格なブレークアウト基準はまた,誤った信号を減らすのに役立ちます.
この戦略には以下の利点があります.
考慮すべきリスクもいくつかあります.
リスクは以下によって軽減できます.
この戦略は,以下の点においてさらに改善することができる.
プログラム的に取引されたコントロール金額にポジションサイズを追加します.strategy.position_size
.
トレンド強さを自動検出するセキュリティ宇宙フィルタリングを追加しますsecurity()
.
リスク管理のためのストップ・ロスト/利益採取のテクニックを組み込む.
ボリンジャー帯やRSIのような指標を組み合わせた 多指標システムを作り 信号の質を向上させる
信号の信頼性を判断し,注文量を動的に調整するために機械学習を適用します.
イチモク初期クラウドトレンドフォロー戦略は,動平均フィルターによって強化された初期トレンド識別のためにイチモククラウドを使用し,高品質の取引機会を信頼的に検出する.この戦略は,改善の余地があり,安定しており,ライブ取引に広く採用することができます.
/*backtest start: 2022-12-05 00:00:00 end: 2023-12-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © QuantCT //@version=4 strategy("Ichimoku Cloud Strategy Idea", shorttitle="Ichimoku", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=99, initial_capital=1000, commission_type=strategy.commission.percent, commission_value=0.1) // ____ Inputs conversion_period = input(9, minval=1, title="Conversion Line Period") base_period = input(26, minval=1, title="Base Line Period") lagging_span2_period = input(52, minval=1, title="Lagging Span 2 Period") displacement = input(26, minval=1, title="Displacement") long_only = input(title="Long Only", defval=false) slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0) use_sl = input(title="Use Stop-Loss", defval=false) // ____ Logic donchian(len) => avg(lowest(len), highest(len)) conversion_line = donchian(conversion_period) base_line = donchian(base_period) lead_line1 = avg(conversion_line, base_line) lead_line2 = donchian(lagging_span2_period) chikou = close chikou_free_long = close > high[displacement] and close > max(lead_line1[2 * displacement], lead_line2[2 * displacement]) enter_long = chikou_free_long and close > max(lead_line1[displacement], lead_line2[displacement]) exit_long = close < lead_line1[displacement] or close < lead_line2[displacement] chikou_free_short = close < low[displacement] and close < min(lead_line1[2 * displacement], lead_line2[2 * displacement]) enter_short = chikou_free_short and close < min(lead_line1[displacement], lead_line2[displacement]) exit_short = close > lead_line1[displacement] or close > lead_line2[displacement] strategy.entry("Long", strategy.long, when=enter_long) strategy.close("Long", when=exit_long) if (not long_only) strategy.entry("Short", strategy.short, when=enter_short) strategy.close("Short", when=exit_short) // ____ SL sl_long = strategy.position_avg_price * (1- (slp/100)) sl_short = strategy.position_avg_price * (1 + (slp/100)) if (use_sl) strategy.exit(id="SL", from_entry="Long", stop=sl_long) strategy.exit(id="SL", from_entry="Short", stop=sl_short) // ____ Plots colors = enter_long ? #27D600 : enter_short ? #E30202 : color.orange p1 = plot(lead_line1, offset = displacement, color=colors, title="Lead 1") p2 = plot(lead_line2, offset = displacement, color=colors, title="Lead 2") fill(p1, p2, color = colors) plot(chikou, offset = -displacement, color=color.blue)