
この戦略は,一文雲指標 ((Ichimoku Cloud) と黄金分割率 ((Fibonacci Ratio) と結合して設計されたトレンド認識と取引戦略である.この戦略は,一文雲指標の変換線 ((Conversion Line),ベースライン ((Base Line),雲 ((Kumo Cloud) と遅延線 ((Lagging Span) を使って,現在の市場トレンドを判断し,1.618と0.618の2つの黄金分割率を組み合わせて,ストップ・ロスの位置を設定し,市場の揺れを識別する.さらに,戦略は,偽の信号を検知するために2つの追加の中線を導入する.
一文の雲指標は,変換線,ベース線,雲,および遅延線の4つの部分で構成されている. 変換線とベース線は,それぞれ,異なる周期の最高価格と最低価格の平均値から計算される. 雲は,ベース線が前へ推移する26周期で形成され,遅延線は,閉盘価格が後へ推移する26周期である.
この戦略の多頭開設条件は以下の通りです.
“空頭”の条件は”多頭”の条件の反対である.
ストップポジションの設定は1.618と0.618の2つの黄金分割率を使用している.多頭ストップは,雲の上沿線を上下沿線距離の1.618倍に減算し,空頭ストップは,逆である.0.618線は,揺れ動いている市場を識別するために使用され,雲が緑で,0.618線は1.618ストップよりも低いとき,市場は揺れ動いていると考えられている.
1文の雲指標に加えて,この戦略は偽信号をフィルターするために2つの中線を導入した.中線は,異なる周期の最高最低価格の平均値から計算された.
この戦略は,一文の雲指標と黄金の分割率を革新的に組み合わせて,一整のトレンド識別と取引システムを形成している.同時に,追加の中線フィルタを導入することで,信号の質を一定程度向上させることができる.戦略の優点は,トレンドと振動の両方の市場状態によりよく適応でき,ダイナミックなストップダウンのリスク制御である.しかし,戦略には,理論的参数がないこと,数値最適化が過度に適合しているなど,いくつかの欠点がある.将来,より多くの指標を導入し,ストップダウンの最適化,ポジション管理,機械学習パラメータの最適化などから戦略を完善することができる.全体的に,この戦略は新しい考えであり,一定の参照価値があります.しかし,実際のアプリケーションでは,さらなるテストと最適化が必要である.
/*backtest
start: 2023-03-13 00:00:00
end: 2024-03-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar
//@version=5
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar
//@version=5
strategy("Advanced_Ichimoku_Cloud_Strategy", overlay=true, margin_long=100, margin_short=100)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpanPeriods = input.int(52, minval=1, title="Leading Span B Length")
pivotPeriods1 = input.int(17,minval = 1,title = "PPL1")
pivotPeriods2 = input.int(39,minval = 1,title = "PPL2")
displacement = input.int(26, minval=1, title="Lagging Span")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
midLine1 = donchian(pivotPeriods1)
midLine2 = donchian(pivotPeriods2)
midLine3 = donchian(laggingSpanPeriods)
leadLine1 = math.avg(conversionLine, baseLine, midLine1)
leadLine2 = math.avg(midLine2 , midLine3)
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")
plot(close, offset = -displacement + 1, color=color.yellow, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
title="Leading Span B")
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none)
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none)
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
//stoploss calculating
mult1 = input.float(1.618, "Mult1")
mult2 = input.float(0.618, "Mult2")
stoploss1 = leadLine1 - (leadLine1 - leadLine2)*mult1
stoploss2 = leadLine1 - (leadLine1 - leadLine2)*mult2
plot(stoploss1,"Sl", color = color.fuchsia, linewidth = 2, style = plot.style_line, offset = displacement - 1)
plot(stoploss2,"S2", color = color.lime, linewidth = 2, style = plot.style_line, offset = displacement - 1)
longCondition = leadLine1 > leadLine2
if (longCondition)
strategy.entry("Buy", strategy.long)
shortCondition = leadLine1 < leadLine2
if (shortCondition)
strategy.entry("Sell", strategy.short)