
これは4周期単調移動平均に基づく取引戦略システムで,ダイナミックなストップ・ストップ・損失管理機構を統合している.この戦略は,価格と短期平均線の交差関係を監視して市場のトレンドの転換点を捉え,リスク管理を実現するためにパーセントの方法でストップ・ストップを設定する.戦略の核心は,短期平均線が市場の迅速な反応の特性を利用し,厳格な資金管理規則と組み合わせて,安定した取引効果を実現することである.
戦略は,次の核心論理に基づいて動作します:まず,4サイクルSMAを主な指標として計算し,価格がSMAを上方から越えたとき,システムが看多信号として認識し,ポジションを多めに開きます.価格がSMAを下方から越えたとき,システムは看空信号として認識し,ポジションを空にする.各取引は,ポジション開設価格に基づいて動的なストップ・ロストを設定し,ストップ・ロストは,2%で,ストップ・ロストは1%で設定されます.この設定は,プロフェッショナルな資金管理原則に適合する損比を2:1に保ちます.
これは,構造が整った,論理が明確な量化取引戦略である.それは,短期平均線によって市場の動力を捕捉し,厳格なリスク管理機構を補強し,安定した収益を追求するトレーダーに適している.ある程度の最適化余地があるが,戦略の基本的枠組みは,良好な拡張性を持ち,継続的な最適化と調整によって,より良い取引効果を達成する見込みがある.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("4SMA Strategy with Targets and Stop Loss", overlay=true)
// Input parameters for SMA
smaLength = input.int(4, title="SMA Length", minval=1)
// Input parameters for stop loss and take profit
takeProfitPercent = input.float(2.0, title="Take Profit (%)", step=0.1) // Default: 2%
stopLossPercent = input.float(1.0, title="Stop Loss (%)", step=0.1) // Default: 1%
// Calculate 4-period SMA
sma = ta.sma(close, smaLength)
// Plot SMA
plot(sma, color=color.blue, title="4SMA Line")
// Entry Conditions
longCondition = ta.crossover(close, sma) // Price crosses above SMA (bullish signal)
shortCondition = ta.crossunder(close, sma) // Price crosses below SMA (bearish signal)
// Strategy Logic
if (longCondition)
strategy.entry("Long", strategy.long) // Enter long position
if (shortCondition)
strategy.entry("Short", strategy.short) // Enter short position
// Calculate Take Profit and Stop Loss
longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100) // TP for long
longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100) // SL for long
shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100) // TP for short
shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100) // SL for short
// Exit for Long
if (strategy.position_size > 0) // If in a long position
strategy.exit("Long TP/SL", from_entry="Long", limit=longTakeProfit, stop=longStopLoss)
// Exit for Short
if (strategy.position_size < 0) // If in a short position
strategy.exit("Short TP/SL", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss)