
この戦略は,複数の技術指標に基づいた高周波数量化取引戦略である.これは,多次元信号の確認により取引の正確性を高めるために,図形状分析,トレンド追跡,動向指標を総合的に使用している.この戦略は,1: 3のリスク/利益比率の設定を採用しており,この保守的な資金管理方法は,波動的な市場で安定した利益を維持するのに役立ちます.
戦略の核心的な論理は,3つの主要な技術指標の協同作用に基づいています. まず,平らなK線 (Heiken Ashi) を使用して,市場騒音をフィルターし,より明確なトレンド方向を提供します. 次に,ブルリン帯 (Bollinger Bands) を使用して,超買超売の領域を識別し,同時に,ダイナミックなサポートプレッシャーレベルを提供します.
これは,古典的な技術分析方法と近代的な量的な取引理念を組み合わせた戦略である.多重な指標の配合による使用により,安定性を保証しながら,高い収益性を追求する.戦略の拡張性と柔軟性は,さまざまな市場環境に適している.しかし,トレーダーは慎重にリスクを制御し,定期的にパラメータを最適化する必要があります.
/*backtest
start: 2024-11-26 00:00:00
end: 2024-12-03 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BTC Scalping Strategy with Risk-Reward 1:3", overlay=true)
// Heiken Ashi Candle Calculation
var float haOpen = na
haClose = (open + high + low + close) / 4
haOpen := na(haOpen[1]) ? (open + close) / 2 : (haOpen[1] + haClose[1]) / 2
haHigh = math.max(high, math.max(haOpen, haClose))
haLow = math.min(low, math.min(haOpen, haClose))
// Plot Heiken Ashi Candles
plotcandle(haOpen, haHigh, haLow, haClose, color=haClose >= haOpen ? color.green : color.red)
// Bollinger Bands Calculation
lengthBB = 20
src = close
mult = 2.0
basis = ta.sma(src, lengthBB)
dev = mult * ta.stdev(src, lengthBB)
upperBB = basis + dev
lowerBB = basis - dev
// Stochastic RSI Calculation (fixed parameters)
kLength = 14
dSmoothing = 3
stochRSI = ta.stoch(close, high, low, kLength)
// Average True Range (ATR) for stop loss and take profit
atrLength = 14
atrValue = ta.atr(atrLength)
// Entry conditions
longCondition = ta.crossover(close, lowerBB) and stochRSI < 20
shortCondition = ta.crossunder(close, upperBB) and stochRSI > 80
// Alerts and trade signals
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit", "Long", profit=atrValue*3, loss=atrValue)
alert("Buy Signal Triggered", alert.freq_once_per_bar_close)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit", "Short", profit=atrValue*3, loss=atrValue)
alert("Sell Signal Triggered", alert.freq_once_per_bar_close)