この戦略は,連続したキャンドルのトレンドに基づいています.現在の閉じる価格を前回の3つのキャンドルの閉じる価格と比較してポジションに入るか否かを決定します. 3つの連続したキャンドルが上昇しているとき,ロングポジションに入ります.そうでなければポジションを閉じます.同時に,この戦略はダイナミックストップロスの方法を採用します.このストップロスのレベルは,エントリー価格と設定されたストップロスの割合に基づいて決定されます.この方法は,ストップロスのレベルをダイナミックに調整し,リスクをよりよく制御することができます.
この戦略は,リスク制御のために動的ストップロスの方法を採用しながら,連続的なキャンドルのトレンド判断に基づいてポジションの開閉を決定する.戦略論理は明確で,理解し,実装しやすく,さまざまな市場や楽器に適用可能である.しかし,実用的な応用では,トレンドではない市場のリスクに注意を払い,ストップロスの割合などのパラメータを最適化する必要がある.さらに,より多くの技術指標,ポジション管理,および他の方法を導入することで,戦略のパフォーマンスをさらに改善することができます.
/*backtest start: 2023-05-28 00:00:00 end: 2024-06-02 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("4 Candle Entry and Exit Strategy", overlay=true) // Define the stop loss percentage stopLossPercent = input.float(11, title="Stop Loss Percentage", minval=0.1) / 100 // Identify if the previous 3 candles are consecutively higher longCondition = close[3] > close[4] and close[2] > close[3] and close[1] > close[2] // Identify if the previous 3 candles are consecutively lower exitCondition = close[3] < close[4] and close[2] < close[3] and close[1] < close[2] // Initialize the entry price and stop loss variables var float entryPrice = na var float stopLoss = na // Update the entry price and stop loss if the long condition is met if (longCondition) entryPrice := close[1] stopLoss := entryPrice * (1 - stopLossPercent) // Enter the long position at the open of the 4th candle if (longCondition) strategy.entry("Long", strategy.long, qty=1) // Exit the position if exit condition is met or stop loss is hit if (exitCondition or (strategy.position_size > 0 and low <= stopLoss)) strategy.close("Long") // Optional: Plot the entry and exit signals on the chart plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY") plotshape(series=exitCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")