
この戦略は,VWAP ((成交量加重平均価格) 指数と価格の交差関係に基づいて取引する.価格がVWAPを上方に突破するときに多ポジションを開く,VWAPを下方に突破するときに空ポジションを開く.同時に,ATR ((平均実物変動幅度) 指数を使用して,リスク管理と利益のロックをするために,動的ストップとストップのレベルを計算する.
この戦略は,VWAPを中心に,価格と交差して取引信号を生成し,同時にATRと組み合わせてダイナミックなストップ・ローズ・ストップを実現し,トレンドを把握しながら撤回リスクを制御し,全体的な考え方は簡単でわかりやすい.しかし,戦略には,さらなる最適化スペースがあり,補助指標の導入,ストップ・ローズ・ストップの論理の最適化,資金管理などの追加により,変化する市場環境により良く適応し,戦略の安定性と収益性を向上させることができる.
/*backtest
start: 2023-03-26 00:00:00
end: 2024-03-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Hannah Strategy Stop Loss and Take Profit", overlay=true)
// Inputs
cumulativePeriod = input(40, "VWAP Period")
atrPeriod = input(14, "ATR Period")
multiplier = input(1.5, "ATR Multiplier for Stop Loss")
targetMultiplier = input(3, "ATR Multiplier for Take Profit")
// Calculations for VWAP
typicalPrice = (high + low + close) / 3
typicalPriceVolume = typicalPrice * volume
cumulativeTypicalPriceVolume = sum(typicalPriceVolume, cumulativePeriod)
cumulativeVolume = sum(volume, cumulativePeriod)
vwapValue = cumulativeTypicalPriceVolume / cumulativeVolume
// Plot VWAP on the chart
plot(vwapValue, color=color.blue, title="VWAP")
// Entry Conditions based on price crossing over/under VWAP
longCondition = crossover(close, vwapValue)
shortCondition = crossunder(close, vwapValue)
// ATR Calculation for setting dynamic stop loss and take profit
atr = atr(atrPeriod)
// Execute Trades with Dynamic Stop Loss and Take Profit based on ATR
if (longCondition)
strategy.entry("Long", strategy.long)
// Setting stop loss and take profit for long positions
strategy.exit("Long Exit", "Long", stop=close - atr * multiplier, limit=close + atr * targetMultiplier)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Setting stop loss and take profit for short positions
strategy.exit("Short Exit", "Short", stop=close + atr * multiplier, limit=close - atr * targetMultiplier)