Strategi ini adalah strategi bot perdagangan berdasarkan zon tindakan CDC. Ia menggunakan purata bergerak eksponen 12 tempoh dan 26 tempoh (EMA) untuk menentukan trend pasaran, pergi lama apabila EMA jangka pendek di atas EMA jangka panjang dan pergi pendek apabila sebaliknya berlaku. Strategi ini menggunakan Julat Benar Purata (ATR) untuk menetapkan tahap mengambil keuntungan dan menghentikan kerugian dinamik. Tahap mengambil keuntungan ditentukan berdasarkan ATR dan pengganda, sementara tahap kehilangan berhenti ditetapkan pada 5% daripada harga penutupan semasa.
Strategi ini adalah strategi bot perdagangan mengambil keuntungan dan menghentikan kerugian berasaskan ATR berdasarkan zon tindakan CDC. Ia menggunakan EMA untuk menangkap trend pasaran, ATR untuk menetapkan tahap mengambil keuntungan dinamik, dan kerugian berhenti peratusan tetap untuk mengawal risiko. Walaupun strategi ini mempunyai kelebihan tertentu, ia masih mempunyai beberapa risiko dan ruang untuk peningkatan. Dengan pengoptimuman dan ujian lanjut, strategi ini mungkin mencapai prestasi yang baik dalam perdagangan sebenar.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("CDC Action Zone Trading Bot with ATR for Take Profit and 5% Stop Loss", overlay=true) // ดึงข้อมูลราคาปิด close_price = close // คำนวณเส้น EMA 12 และ EMA 26 ema12 = ta.ema(close_price, 12) ema26 = ta.ema(close_price, 26) // คำนวณ ATR atr_length = input.int(14, title="ATR Length") atr = ta.atr(atr_length) // กำหนด Multiplier สำหรับ ATR Trailing Stoploss mult_atr_stoploss = input.float(2.5, title="ATR Stoploss Multiplier") // คำนวณ ATR Trailing Stoploss prev_stoploss = close_price for i = 1 to 10 prev_stoploss := math.max(prev_stoploss, high[i] - mult_atr_stoploss * atr) // กำหนด Take Profit เป็น ATR Trailing Stoploss takeProfitPercent = input.float(10, title="Take Profit (%)") / 100 takeProfit = close_price + (close_price - prev_stoploss) * takeProfitPercent // กำหนด Stop Loss เป็น 5% ของราคาปิดปัจจุบัน stopLossPercent = input.float(5, title="Stop Loss (%)") / 100 stopLoss = close_price * stopLossPercent // กำหนดสีแท่งกราฟ buyColor = input.color(color.green, title="Buy Color") sellColor = input.color(color.red, title="Sell Color") neutralColor = input.color(color.gray, title="Neutral Color") color = if (ema12 > ema26) buyColor else if (ema12 < ema26) sellColor else neutralColor // สัญญาณ Buy buySignal = (color == buyColor) and (color[1] != buyColor) // สัญญาณ Sell sellSignal = (color == sellColor) and (color[1] != sellColor) // เปิด Position Long if (buySignal) strategy.entry("Long", strategy.long) // เปิด Position Short if (sellSignal) strategy.entry("Short", strategy.short) // ปิด Position เมื่อถึง Take profit if (strategy.position_size > 0 and close_price > takeProfit) strategy.exit("Long", profit=takeProfit) // ปิด Position เมื่อถึง Stop loss if (strategy.position_size > 0 and close_price < stopLoss) strategy.exit("Long", loss=stopLoss) // ปิด Position เมื่อถึง Take profit if (strategy.position_size < 0 and close_price < takeProfit) strategy.exit("Short", profit=takeProfit) // ปิด Position เมื่อถึง Stop loss if (strategy.position_size < 0 and close_price > stopLoss) strategy.exit("Short", loss=stopLoss)