
DAKELAX-XRPUSDTは,BinanceのXRPUSDTのための取引ロボット戦略であり,単純に平均線に逆転する戦略であり,2019年5月~8月のH1タイムサイクルで反測され,リアルタイムで動作する.
この戦略は,まず20周期のSMA平均線と上線,下線波動帯を計算する.上線はSMA平均線に標準差1.5倍,下線はSMA平均線に標準差2.2倍を減算する.それから波動帯収縮率を計算し,収縮率1.3以上なら黒で,0.1未満なら黄色で,そうでないなら赤で記入する.
閉盘価格が下位線を下回ると,20コインの量で増やし,閉盘価格が上位線を超えると,すべてのポジションをクリアする.
この戦略はまた,7日EMA快線,18日EMA慢線を計算し,快線上を通過すると買信として判断し,快線下を通過すると売信として判断する.
リスクを制御するために,購入量を動的に調整するか,ストップを設定することを考えることができます. 金叉死叉戦略を最適化して,震動の状況で閉じ込められることを避ける. より高度なトレンド指標と組み合わせて,大きな方向を決定します.
波動帯の幅に応じて購入量を調整し,波動帯が狭くなると購入量が少なく,広くなると購入量が適切に増加する.
波動帯が収縮しているのにまだ信号が触発されていないとき,空き倉庫のポジションの構築を考慮する
全体の長線INDICATOR指標と組み合わせて,トレンドの方向を判断し,大きなトレンドが不明な場合は,戦略を一時停止することができます.
リスク管理には,ストップと組み合わせて,ストップポイントを最近の波動帯の低点に設定できます.
金叉死叉戦略のパラメータを最適化し,均線周期を調整し,套装を避ける
DAKELAX-XRPUSDTは,波動帯収縮と均線戦略を組み合わせた取引ロボットプログラムである.この戦略は直感的に理解しやすく,反測効果は良いが,一定のリスクがある.購入数量を調整し,ストップ戦略,ストップロスを設定し,均線戦略を最適化することでリスクを軽減することができる.全体的に,この戦略の構想は明確で操作が容易であり,ボリンジャーバンド戦略の参考例である.しかし,異なる通貨種と市場環境に対して最適化された調整を行うことが必要である.
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//study(title="Tradebotler DAKELAX Binance:XRPUSDT Study-strategy", overlay=true)
strategy(title="Tradebotler DAKELAX Binance:XRPUSDT Strategy", overlay=true)
buyAmount = input(20, minval=1)
// SMA20
len2 = input(20, minval=1)
src2 = input(close)
out2 = sma(src2, len2)
// BB contraction value (medium tight)
contraction_value = 1.3
// BB contraction value (very tight)
contraction_value2 = 0.1
// 2xSTDEV BB calculation
dev = stdev(src2, len2)
upper_BB = out2 + 1.5*dev
lower_BB = out2 - 2.2*dev
x1 = plot(upper_BB, color=blue, linewidth = 2)
x2 = plot(lower_BB, color=blue, linewidth = 2)
contraction = (upper_BB-lower_BB)/out2
//fills the BBands according to the contraction value (threshold)
// Calculate values
fastMA = ema(close, 7)
slowMA = ema(close, 18)
// Determine alert setups
crossUp = crossover(fastMA, slowMA)
crossDown = crossunder(fastMA, slowMA)
buySignal = (crossUp or crossUp[1]) and (low > slowMA)
shortSignal = (crossDown or crossDown[1]) and (high < slowMA)
// Highlight alerts on the chart
bgColour =
(buySignal and barstate.isrealtime) ? green :
(shortSignal and barstate.isrealtime) ? red :
na
signalBuy = (buySignal ) ? true : false
signalSell = (shortSignal ) ? true : false
test = true
test := not test[1]
closesBelowLowerBB = close < lower_BB
closesAboveUpperBB = close > upper_BB
tmptext = "blah"
// Plot values
plot(series=fastMA, color=teal)
plot(series=slowMA, color=orange)
plot(out2, color=black, linewidth = 1)
fill(x1, x2, color = contraction > contraction_value ? black : contraction < contraction_value2 ? yellow: red)
isInRed = contraction < contraction_value and contraction >= contraction_value2
isInYellow = contraction < contraction_value and contraction < contraction_value2
if ( closesBelowLowerBB )
strategy.order('Buy', strategy.long, buyAmount)
if ( closesAboveUpperBB )
strategy.close_all()