
この戦略は,5分間の時間枠に適用されるイチモク一目均衡表に基づく急速突破スカルピング戦略である.この戦略は,イチモクの転換線,基準線,前線A/Bなどの要素を充分に活用して,市場の短期的な動きを捕捉する.この戦略は,従来のイチモク戦略とは異なり,パラメータを最適化して,高周波取引に適している.
戦略の主な考えは,転換線でベースラインを横切ったり下切ったりする際に多額の取引または空調を行うことであり,価格が雲図の2つの前線線を突破するようにすることで,トレンドの方向をより正確に判断することができます.同時に,戦略は,リスクを制御するためにストップ・ロースとストップ・スポットを定義します.
この戦略は,主にイチモクの変換線と基準線を基に構築され,多空信号を行う.変換線は価格の短期的な動力の変化に反応し,基準線は中期的な傾向に反応する.
具体的には,変換線が基準線を横切るときに多信号が生じ,このとき価格が雲図の2つの前沿線AとBより高いことを要求し,これにより突破を上行に保証することができる.反対に,変換線が基準線を横切るときに空信号が生じ,価格が雲図の2つの前沿線より低いことを要求し,突破を下行に保証することができる.
さらに,戦略は,2つのパラメータ,percentStopとpercentTPを定義し,それぞれストップレッシャーとストップレッシャーを表している.この2つの値は,トレーダーのリスク好みに応じて設定することができます.ストップとストップの価格は,ポジション開設平均価格に基づいて計算されます.
オーバーまたはダウンシグナルがトリガーされた後,対応するストップ・ロースとストップ・ストップの指示も発せられます.価格がストップまたはストップ・ロスのレベルに触れた場合,対応するポジションは平仓されます.
この戦略は,従来のイチモク戦略と比べて,以下の方法で最適化されています.
これらのパラメータの調整により,戦略は5分という高頻度取引時間帯に適したもので,局所的な極限点の近くでの反転の機会を素早く判断することができる.また,雲図と組み合わせて,長期短期トレンドを判断する効率が向上する.
また,この戦略はストップ・ストップ・ロジックを直接内蔵しており,トレーダー自身で追加する必要はありません.
この戦略には以下のリスクがあります.
リスクの管理には以下の方法が考えられます.
この戦略は,以下のように最適化できる.
これらの最適化により,より多くの市場環境で戦略が安定したパフォーマンスを保ちます.
このイチモク・スカルピング戦略は,従来のパラメータを調整することで,高周波操作に適している. 変換線,基準線,およびクラウドグラフの判断を組み合わせて,短期的なトレンドを素早く捉えることができる. 組み込みのストップ・ストップ・メカニズムも,リスク管理に便利である.
この戦略には一定の利点があるが,逆転戦略の典型的なリスクもある.その後の変動率,機械学習,イベント駆動など,複数の角度から最適化され,戦略をより安定して複雑な環境に適応させることができる.
/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Scalping Ichimoku Strategy", shorttitle="Scalp Ichimoku", overlay=true)
showBB = input(true, "Show Ichimoku Cloud")
showTrade = input(true, 'Show TP/SL')
conversionPeriods = input(9, "Conversion Line Periods")
basePeriods = input(26, "Base Line Periods")
spanBPeriods = input(52, "Span B Periods")
displacement = input(26, "Displacement")
conversionLine = (ta.highest(high, conversionPeriods) + ta.lowest(low, conversionPeriods)) / 2
baseLine = (ta.highest(high, basePeriods) + ta.lowest(low, basePeriods)) / 2
leadLine1 = (conversionLine + baseLine) / 2
leadLine2 = (ta.highest(high, spanBPeriods) + ta.lowest(low, spanBPeriods)) / 2
plot(showBB ? conversionLine : na, "Conversion Line", color=#2962FF)
plot(showBB ? baseLine : na, "Base Line", color=#B71C1C)
plot(showBB ? ta.lowest(low, 52) : na, "Lagging Span", color=#43A047, offset=-displacement)
p1 = plot(showBB ? leadLine1 : na, "Leading Span A", color=#A5D6A7, offset=displacement)
p2 = plot(showBB ? leadLine2 : na, "Leading Span B", color=#EF9A9A, offset=displacement)
fill(p1, p2, color=leadLine1 > leadLine2 ? color.new(color.green, 90) : color.new(color.red, 90))
// Define the shorter Stop Loss and Take Profit percentages for scalping
percentStop = input(0.5, "Stop Loss (%)")
percentTP = input(1.0, "Take Profit (%)")
// Define the entry conditions
longCondition = ta.crossover(conversionLine, baseLine) and close > leadLine1 and close > leadLine2
shortCondition = ta.crossunder(conversionLine, baseLine) and close < leadLine1 and close < leadLine2
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit or Stop Loss for Long", "Long", stop=strategy.position_avg_price * (1 - percentStop / 100), limit=strategy.position_avg_price * (1 + percentTP / 100))
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit or Stop Loss for Short", "Short", stop=strategy.position_avg_price * (1 + percentStop / 100), limit=strategy.position_avg_price * (1 - percentTP / 100))