Wavetrend 大幅のリバウンド・グリッド・トレード戦略

作者: リン・ハーンチャオチャン, 日付: 2024-04-25 17:13:39
タグ:DCAエイマSMA

img

概要

この戦略はWavetrend指標に基づい,価格が多重な過売り値と過買い値に達するとロングポジションを確立する.価格が過買い値にリバウンドしたとき,利益のためにポジションを閉じる.これは,ビットコインやソラナなどの仮想通貨の15分サイクルのために適した,市場で過売りリバウンド機会を捕捉するために設計されたグリッド取引戦略である.

戦略の原則

  1. 波動傾向指標の2つの行を計算する.一つは元の値 (wt1) で,もう一つは滑らかな値 (wt2) である.
  2. 複数の過剰販売レベル (OSlevel1~8) と過剰購入レベル (Oblevel1~5) を設定する.
  3. wt1 と wt2 が一定の過剰販売値を下回り, wt1 が wt2 を上回ったとき,ロングポジションを開きます.レベルが低いほど,ポジションがより攻撃的です.
  4. wt1 と wt2 がオーバー買いレベル 1 を上回り, wt1 が wt2 を下回る場合,ロングポジションの 70% を閉じる.
  5. ネットワーク取引システムを構築するためにステップ3と4を繰り返します.

戦略 の 利点

  1. 過剰売り回転の機会を把握する 過剰売り回転のレベルを複数設定することで,大幅な価格下落後にポジションを開き,リバウンドから利益を得ます
  2. リスク制御のためのバッチポジション構築: 過剰販売レベルに応じてバッチでポジションを構築し,より低いレベルではより重いポジションで,よりよいリスク管理を可能にします.
  3. オートマティック・プロフィート・テイク: 価格がオーバー・バイト・ゾーンに反転すると,ほとんどのポジションを自動的に閉鎖し,利益を固定します.
  4. 柔軟なパラメータ: 過剰販売と過剰購入のレベルは,市場特性と個人の好みに合わせて調整され,異なる取引製品とサイクルに適応できます.

戦略リスク

  1. クラッシュリスク:価格が引き続き下がり,過剰販売の開示信号が増加する場合は,重量ポジションが閉じ込められる可能性があります.
  2. 市場変動リスク: 過売れ地帯で価格が繰り返し変動する場合は,利益を得ることができずに複数のポジションを開設し,戦略の効果を弱体化させる可能性があります.
  3. パラメータリスク: 異なるパラメータ設定は戦略のパフォーマンスに重大な影響を及ぼし,バックテストと経験に基づいて最適化する必要があります. そうでなければ損失をもたらす可能性があります.

戦略の最適化方向

  1. トレンドフィルタリングを追加する: ダウントレンドでポジションを開くのを避けるために,ポジションを開く前に,大きなレベルのトレンドが上昇しているかどうかを決定する.
  2. ポジション管理を最適化: 価格と過売値の距離に応じて開設ポジションサイズを調整し,より大きな距離のポジションを大きくします.
  3. ダイナミックな収益: 固定比率でポジションを閉じる代わりに,保有利益と損失比率に基づいて,収益レベルをダイナミックに調整する.
  4. ストップ・ロスを追加する: 取引の最大損失を制御するために固定またはトラッキングストップ・ロスを設定する.

概要

Wavetrend Large Amplitude Oversold Rebound Grid Trading Strategyは,過剰販売と過剰購入の信号に基づいた定量戦略である.バッチポジション構築と自動収益化によって急落した後,価格差から利益を得ることを目的としてリバウンド機会を掴むことを試みる.この戦略の利点は,強力な適応性と柔軟なパラメータ調整にあります.しかし,継続的な市場減少や不適切なパラメータ設定などのリスクにも直面しています.実用的な応用では,トレンドフィルタリング,ダイナミックポジショニング,利益採取,ストップ損失最適化方法は,戦略の安定性と収益性を向上するために検討することができます.しかし,この戦略は厳格なポジション制御と慎重な使用を必要とする高リスク戦略であることを注意する必要があります.


/*backtest
start: 2024-03-25 00:00:00
end: 2024-04-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// © And Isaac, all rights reserved. If there is any piracy, please call the police immediately. 

strategy(title='wavetrend',shorttitle='DCA-High win rate quantitative trading')
n1 = input(40,'channel length')
n2 = input(60,'average length')
Oblevel1 = input(40,'over bought level 1')
Oblevel2 = input(50,'over bought level 1')
Oblevel3 = input(70,'over bought level 1')
Oblevel4 = input(80,'over bought level 1')
Oblevel5 = input(100,'over bought level 2')
oslevel1 = input(-40,'over sold level 1')
oslevel2 = input(-45,'over sold level 1')
oslevel3 = input(-50,'over sold level 1')
oslevel4 = input(-55,'over sold level 1')
oslevel5 = input(-65,'over sold level 1')
oslevel6 = input(-75,'over sold level 1')
oslevel7 = input(-85,'over sold level 1')
oslevel8 = input(-100,'over sold level 2')

ap = input(title="source",defval=hlc3)
esa =ta.ema(ap, n1)
d =ta.ema(math.abs(ap - esa),n1)
ci = (ap - esa)/ (0.015 * d)
tci = ta.ema(ci,n2)

wt1 = tci
wt2 = ta.sma(wt1, 4)

plot(0,color=color.new(#787b86, 0 ))
plot(Oblevel1, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel1, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel2, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel3, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel4, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel5, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel6, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel7, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel8, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel2, color=color.new(#89ff52, 53), linewidth = 2)
plot(wt1, color=color.new(#ff5252,0))
plot(wt2, color=color.new(#ffffff,0))
plot(wt1 - wt2, color=color.new(#00bcd4, 30),style=plot.style_area)

plot(ta.cross(wt1, wt2) ? wt2 : na, color=color.new(#ff5252,0) , style=plot.style_circles, linewidth=4 )

// barcolor(cross(wt1, wt2) ? (wt2 - wt1 > 0 ? aqua : yellow) : na)
barcolor(ta.cross(wt1, wt2) ? (wt2 - wt1 > 0 ? color.new(#ffffff,0) : color.new(#89ff52, 53)) : na)

/////////////
Long1 = wt2 < oslevel1 and wt1 < oslevel1 and wt1>wt2 and wt2 > oslevel3 and wt1>oslevel3
Long5 = wt2 < oslevel5 and wt1 < oslevel5 and wt1>wt2 and wt2 > oslevel6 and wt1>oslevel6

Long7 = wt2 < oslevel7 and wt1 < oslevel7 and wt1>wt2 and wt2 > oslevel8 and wt1>oslevel8
Long8 = wt2 < oslevel8 and wt1 < oslevel8 and wt1>wt2
LS1 = wt2 > Oblevel1 and wt1 > Oblevel1 and wt1<wt2



if Long1
    strategy.entry("L",strategy.long,comment = "做多1")


if Long5
    strategy.entry("L",strategy.long,comment = "做5")

if Long7
    strategy.entry("L",strategy.long,comment = "做多7")
if Long8
    strategy.entry("L",strategy.long,comment = "做多8")
if LS1
    strategy.close("L", qty_percent = 70,comment = "平多")




関連性

もっと