一目パターンとSTOCH指標に基づくトレンドフォロー戦略


作成日: 2023-11-15 11:19:29 最終変更日: 2023-11-15 11:19:29
コピー: 1 クリック数: 650
1
フォロー
1617
フォロワー

一目パターンとSTOCH指標に基づくトレンドフォロー戦略

概要

この策略はICHIMOKU雲図形指標とSTOCHランダム指標に基づいて,トレンドの判断と追跡を可能にします. 策略名は雲図Stochトレンド追跡策略。

戦略原則

この戦略は,主にICHIMOKU雲図とSTOCH指標によって,現在のトレンドの方向を判断し,オーバーオーバーオールオーバーオール状態を判断する.

変換線が変換線を横切ってベースラインを横切ってストック指数が超売り区域から反発すると,看板の動きであると考えられ,この戦略は看板の方向を取ります.変換線がベースラインを横切ってベースラインを横切ってストック指数が超買い区域から反発すると,看板の動きであると考えられ,この戦略は看板の方向を取ります.

コードでは,Conversion Line 変換線は,K線近N1の最高値と最低値の平均値として定義され,Base Line は,K線近N2の最高値と最低値の平均値として定義される.変換線が基准線を横切ると看板信号が生じる.

ストッチ指数では,超買線と超売り線の値と,平滑パラメータKとDを定義している.ストッチは,超売り区域から反発すると看板信号を発生させ,超買区域から反発すると看板信号を発生させる.

この戦略は2つの指標を組み合わせて,トレンドの方向性を判断します.

優位分析

この戦略は,グラフィカル形状指標と,超買い超売り指標を組み合わせて,トレンドの方向を効果的に判断します.

単一のトレンド判断指標を使用するよりも,この戦略は,トレンドとオーバーフローを総合的に考慮し,入場タイミングをより正確に判断することができます.

ICHIMOKUの雲図は中長線トレンドを識別し,ストッチの指標は短期的な超買超売を検出し,両者は相互に補完し,体系的な判断を形成する.

リスク分析

この戦略には以下のリスクがあります.

  1. 突発的な黒天事件の発生時に指標が機能しなくなるシステムのリスク.

  2. 市場の一部を見逃したり,逆転するリスクがある.

  3. 多要素の総合判断にはある程度の主観性があり,パラメータの設定が不適切である場合,誤りにつながるリスクがある.

  4. 取引が頻繁であれば,取引コストが収益に一定影響を及ぼします.

対応する最適化策

  1. ニュース・イベントの判断と組み合わせて,主要な政策イベントの発生時に盲目取引を避ける.

  2. 周期パラメータを適切に短縮して,遅延判断の確率を下げる.

  3. パラメータの科学性を向上させるため,パラメータの最適化と再測量を行う.

  4. ストップ・ストップ・ロスの幅を適正に拡大し,取引頻度を減らす.

最適化の方向

この戦略は以下の点で最適化できます.

  1. ICHIMOKU変換線と基準線の周期パラメータを最適化して,異なる市場の特徴に適合させる.

  2. ストック指数のK,D平滑パラメータと,超買い超売り値パラメータを最適化する.

  3. 他の指標の判断を増やし,多要素モデルを形成し,戦略の体系性を向上させる.

  4. ストップ・ストップ・ロスの位置を最適化し,取引頻度を低減しながら利益を確保する.

  5. 緊急事態の判断モジュールが追加され,重大事態の発生時に失効を回避する.

要約する

この戦略はICHIMOKU雲図とStoch指標に基づいており,トレンド方向とオーバーバイオーバーセールの総合判断を実現し,トレンド状況を効果的に追跡することができる.グラフィック形状と量化指標を考慮したため,戦略はより体系的になります.将来的には,最適化パラメータ,その他の指標の追加,および突発事件判断モジュールなどの方法で戦略をさらに最適化することができます.

ストラテジーソースコード
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ICHI + STOCH V1", overlay=true)
length = input.int(20, minval=1)
smoothK = input(5)
smoothD = input(3)
OverBought = input(25)
OverSold = input(65)
Profit = input(1800)
Stop = input(1200)
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
co = ta.crossover(k,d)
cu = ta.crossunder(k,d)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(1, minval=1, title="Lagging Span")
conversionLine = math.avg(ta.lowest(conversionPeriods), ta.highest(conversionPeriods))
baseLine = math.avg(ta.lowest(basePeriods), ta.highest(basePeriods))
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = math.avg(ta.lowest(laggingSpan2Periods), ta.highest(laggingSpan2Periods))
TREND = ta.ema(math.avg(leadLine1,leadLine2),displacement)
//plot(conversionLine, color=#2962FF, title="Conversion Line")
//plot(baseLine, color=#B71C1C, title="Base Line")
//plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span")
plot(TREND, color=#2962FF, title="TREND")
p1 = plot(leadLine1,style=plot.style_line, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")

p2 = plot(leadLine2,style=plot.style_line, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
close_price = ta.sma(close,1)
pc = plot(close_price,style=plot.style_line, color=#2a0ab9,
	 title="Price Close")
if (not na(k) and not na(d))
	if (co and k < OverSold)and(close_price > TREND)
		strategy.entry("BUY order", strategy.long, comment="BUY order")
		strategy.exit("exitBUY", "BUY order", profit = Profit, loss = Stop)
	if (cu and k > OverBought)and(close_price < TREND)
		strategy.entry("SELL order", strategy.short, comment="SELL order")
		strategy.exit("exitSELL", "SELL order", profit = Profit, loss = Stop)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)