資源の読み込みに... 荷物...

ダイナミックストップ・ロスト&テイク・プロフィート ボリンガー・バンド戦略

作者: リン・ハーンチャオチャン開催日:2024年5月17日 15:11:50
タグ:SMA

img

概要

戦略原則

  1. 上部,中部,下部ボリンジャー帯を計算します.
  2. 価格が下帯を下回るときに購入信号と,価格が上帯を下回るときに販売信号を生成します.
  3. 購入する際,過去期間の最低価格でストップ・ロスのレベルを設定し,まだ利益のレベルを設定しないでください.
  4. 新しい買い/売る信号が表示されたときに 利益を取るレベルを空にする.

戦略 の 利点

  1. ボリンジャー・バンドは成熟し,広く使われている技術指標で,市場の変動を効果的に把握できます.
  2. 戦略の論理は明確で 分かりやすく 実行できます

戦略リスク

  1. 横向市場では,頻繁な買い・売るシグナルが過剰な取引に繋がり,取引コストを増やす可能性があります.
  2. 戦略は傾向の方向性を判断できず,強い傾向の市場での機会を逃す可能性があります.

戦略の最適化方向

  1. ストップ・ロスの設定方法と利益のレベルを最適化し,例えばATRのような変動指標を使用することで,市場変化により動的で適応できるようにする.
  2. 購入・販売信号に追加的なフィルタリング条件,例えば取引量と変動性を追加することで,信号の信頼性を向上させる.

概要


/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy", overlay=true)

// Bollinger Bands settings
length = 20
src = close
mult = 2.0

// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plot Bollinger Bands
plot(basis, color=color.blue, title="Middle Band")
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")

// Trade logic
// Buy when the price crosses below the lower Bollinger Band
buySignal = ta.crossover(lower, src)
// Sell when the price crosses above the upper Bollinger Band
sellSignal = ta.crossover(src, upper)

// Define stop loss and take profit levels
var float stopLoss = na
var float takeProfit = na

// Calculate stop loss and take profit levels
if (buySignal)
    stopLoss := ta.lowest(low, length)
    takeProfit := na
if (sellSignal)
    stopLoss := ta.highest(high, length)
    takeProfit := na

// Update take profit on new signals
if (buySignal)
    takeProfit := na
if (sellSignal)
    takeProfit := na

// Execute trades
if (buySignal)
    strategy.entry("Buy", strategy.long, stop=stopLoss, limit=takeProfit)

if (sellSignal)
    strategy.entry("Sell", strategy.short, stop=stopLoss, limit=takeProfit)

// Plot signals on chart
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy", title="Buy Signal")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell", title="Sell Signal")

// Alert conditions
alertcondition(buySignal, title="Buy Alert", message="Buy Signal detected")
alertcondition(sellSignal, title="Sell Alert", message="Sell Signal detected")

関連性

もっと