
この戦略は,ハル移動平均指標に基づいて,異なる時間軸でハルMAを計算し,異なる時間軸のハルMAの動きを比較して,トレンドの変化を発見します. 短い周期のハルMA上で長い周期のハルMAを通過するときに買取シグナルを生成します. 短い周期のハルMAの下に長い周期のハルMAを通過するときに売るシグナルを生成します.
入力パラメータ:Hull MA周期Period,HMA2の時間軸Resolution2,HMA3の時間軸Resolution3
Hull MAのHMAを現在のK線で計算する
Hull MA値HMA2をResolution2の時間軸で計算する
Hull MA値HMA3をResolution3の時間軸で計算する
HMA,HMA2,HMA3の大きさの関係を比較する
HMA>HMA2>HMA3のとき,購入シグナルが生成されます.
HMA
インターフェースの左上にある異なる時間軸のHull MA値と信号
色で区別する落状態
複数の時間軸を使用すると,偽突破をフィルタリングして,入札を回避できます.
タイム軸のパラメータをカスタマイズし,異なる周期に適用します.
リアルタイムで信号を表示し,操作は直感的です.
Hull MAの動きを視覚化して,現在のトレンド判断を形成する.
パラメータを正しく設定しない場合,取引が頻発する可能性があります.
大周期のHull MAは遅滞しており,トレンド転換点を逃す可能性がある。
牛とクマが変形すると,その策略は偽信号を生成する.
突破型の策略で,偽の突破が容易になる.
取引手数料は考慮されていないので,実際の収益に影響を与える.
パラメータを最適化して,他の指標を組み合わせてフィルターとして,適切な緩解の止損ラインを使用してリスクを軽減することができます.
ハルMA周期パラメータを最適化して,異なる周期と波動率に対応する.
偽の突破を避けるために,取引量指標の判断を増やす.
動揺の指標を増やして,トレンドの強さを決定する.
機械学習モデルを導入して 買い物や売却のタイミングを判断する.
感情指数と組み合わせて,市場のホットスポットを見つけます.
リスク管理の最適化と ストップ・ローズ戦略の調整
買い物条件をカスタマイズし,他の指標のシグナルを組み合わせる.
価格チャネルや波段に基づく取引戦略の強化
この戦略は,Hull MA指標が異なる時間軸上の均線走行を比較した上で,現在のトレンドの方向を判断し,トレンドが転じるときに買入・売却の信号を生成する.単一の平均線と比較して,多時間軸のHull MAは偽突破を効果的にフィルタリングできる.しかし,この戦略には,パラメータ設定,トレンド判断などの問題もある.より多くの指標を統合し,パラメータ設定を最適化し,止損戦略を改善することによって,戦略のProfitabilityを高め,リスクを制御することができる.
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//
strategy("wtfBUYorSELLffs",overlay=true,currency="USD",initial_capital=100000,default_qty_type=strategy.percent_of_equity,default_qty_value=100,commission_type=strategy.commission.percent,commission_value=0.1)
Period=input(title="Hull MA Period",type=input.integer,defval=6,minval=1)
Resolution2=input(title="HMA2 Resolution", type=input.resolution,defval="60")
Resolution3=input(title="HMA3 Resolution", type=input.resolution,defval="240")
Price=input(title="Source of Price",type=input.source,defval=open)
xOffset = input(40, title="Panel offset (X-Axis)")
yOffset = input(0, title="Panel offset (y-Axis)")
lightgray = #D3D3D3FF
pnlTextColor = color.silver
pnlColor = color.black
HMA = hma(Price,Period)
HMA2 = security(syminfo.tickerid, Resolution2, HMA,barmerge.gaps_off,barmerge.lookahead_off)
HMA3 = security(syminfo.tickerid, Resolution3, HMA,barmerge.gaps_off,barmerge.lookahead_off)
HUP = HMA > HMA[1]
H1UP = security(syminfo.tickerid, Resolution2, HUP,barmerge.gaps_off,barmerge.lookahead_off)
H2UP = security(syminfo.tickerid, Resolution3, HUP,barmerge.gaps_off,barmerge.lookahead_off)
int barSize = timeframe.isdaily ? timeframe.multiplier*86400000 :
timeframe.isseconds? timeframe.multiplier*1000 :
timeframe.isminutes? timeframe.multiplier*60000 : (time[0]-time[1])
int lapos_x = timenow + barSize*xOffset
float lapos_y = highest(20) + yOffset*syminfo.mintick * syminfo.pointvalue
f_draw_infopanel(_x, _y, _line, _text)=>
_rep_text = ""
for _l = 0 to _line
_rep_text := _rep_text + "\n"
_rep_text := _rep_text + _text
// var label _la = na
// label.delete(_la)
// _la := label.new(
// x=_x, y=_y,
// text=_rep_text, xloc=xloc.bar_time, yloc=yloc.price,
// color=pnlColor, style=label.style_labelup, textcolor=pnlTextColor, size=size.normal)
// f_draw_infopanel(lapos_x, lapos_y, 8, "╚═══════════════════════╝")
f_draw_infopanel(lapos_x, lapos_y, 6, "HMA3 on TF " + Resolution3 + " = " + tostring(HMA3,"#.####") + (H2UP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 4, "HMA2 on TF " + Resolution2 + " = " + tostring(HMA2,"#.####") + (H1UP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 2, "HMA1 on TF " + timeframe.period + " = " + tostring(HMA,"#.####") + (HUP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 0, "╔═════════ HMA(" + tostring(Period,"#") +") ════════╗")
change_color=HMA>HMA3?color.green:color.red
change_color2=HMA2>HMA3?color.lime:color.yellow
plot1=plot(HMA3,color=change_color2,title="3 Hull MA Line",linewidth=2,transp=75)
plot2=plot(HMA2,color=change_color,title="2 Hull MA Line",linewidth=2,transp=75)
plot3=plot(HMA,color=color.white,title="Hull MA Line",linewidth=2,transp=75)
fill(plot1,plot3,color=change_color,transp=90)
fill(plot2,plot3,color=change_color2,transp=75)
if (H2UP and H1UP and HUP)
strategy.entry("BUY",strategy.long)
if (not H2UP and not H1UP and not HUP)
strategy.entry("SELL",strategy.short)