
Эта стратегия использует пересечение движущихся средних индексов (EMA) для создания торговых сигналов, одновременно динамически устанавливая стоп- и стоп-убытки. Когда более короткие периоды EMA (EMA 12) пересекают более длинные периоды EMA (EMA 26), создается сигнал покупки; наоборот, когда EMA 12 пересекает EMA 26 сверху, создается сигнал продажи.
В основе этой стратегии лежит использование перекрестных перемещений средних индексов (EMA) двух различных циклов для получения торговых сигналов. EMA - это индикатор, отслеживающий тенденции, который позволяет сгладить данные о ценах и уменьшить шумовые помехи. Когда EMA более короткого цикла пересекает EMA более длительного цикла снизу, это указывает на усиление ценового курса и создает сигнал покупки; наоборот, когда EMA более короткого цикла пересекает EMA более длительного цикла снизу, это указывает на ослабление ценового курса и создает сигнал продажи.
В то же время, стратегия использует динамический метод остановки и убытка, в зависимости от направления текущей позиции (многоголовый или пустой), устанавливая различные уровни остановки и убытка. Этот динамический метод регулирования остановки и убытка позволяет достаточно расширять прибыль при сильных тенденциях, а также своевременно прекращать убыток при реверсии цены, что позволяет лучше контролировать риск.
Простая в использовании: стратегия использует только две линии EMA, чтобы создать торговый сигнал, логически ясный, легкий для понимания и реализации.
Тренд-слежение: индикатор EMA обладает хорошей способностью отслеживать тенденции, эффективно захватывая основные тенденции цен.
Динамический стоп-стоп: в зависимости от направления позиции динамически корректируется уровень стоп-стоп и стоп-убытков, что позволяет максимально расширять прибыль при сильных тенденциях, а также своевременно останавливать убытки в случае реверсии цены, чтобы лучше контролировать риск.
Сильная адаптивность: стратегия применяется в различных рыночных условиях и торговых видах, обладая высокой адаптивностью и гибкостью.
Риск оптимизации параметров: выбор цикла EMA и настройка стоп-стоп-лосс должны быть оптимизированы в зависимости от конкретных рыночных условий и торгового типа, а неправильная настройка параметров может привести к плохой эффективности стратегии.
Частые риски торговли: пересечение EMA может происходить часто, когда рынок находится в состоянии колебаний, что приводит к тому, что стратегия генерирует больше торговых сигналов, увеличивая затраты на торговлю и риск.
Риск обратного тренда: когда рыночная тенденция резко меняется, стратегия может дать неверный торговый сигнал, что приводит к потере.
Введение других технических индикаторов: можно рассмотреть возможность введения других технических индикаторов, таких как RSI, MACD и т. д., чтобы помочь подтверждению перекрестных сигналов EMA и повысить надежность торговых сигналов.
Настройка оптимальных параметров: находить оптимальную комбинацию параметров, подходящих для конкретной рыночной среды и торговой разновидности, путем оптимизированного тестирования циклов EMA и стоп-стоп-лосс.
Внедрение мер по контролю риска: рассмотреть возможность внедрения мер по контролю риска, таких как управление позициями, управление капиталом и т. д., чтобы лучше контролировать риск торгов.
Комбинирование фундаментального анализа: объединение технического анализа с фундаментальным анализом, комплексный учет рыночных условий, экономических данных и других факторов для повышения точности торговых решений.
Стратегия использует пересечение EMA для создания торговых сигналов и использует динамический метод остановки и остановки для управления рисками. Она обладает такими преимуществами, как простота использования, отслеживание тенденций и высокая адаптивность, но в то же время сталкивается с такими проблемами, как риск оптимизации параметров, риск частой торговли и риск обратного тренда.
/*backtest
start: 2023-05-23 00:00:00
end: 2024-05-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("CDC Action Zone Trading Bot with Dynamic TP/SL", overlay=true)
// ดึงข้อมูลราคาปัจจุบัน
current_price = close
// คำนวณเส้น EMA 12 และ EMA 26
ema12 = ta.ema(current_price, 12)
ema26 = ta.ema(current_price, 26)
// กำหนดเปอร์เซ็นต์ Take Profit และ Stop Loss
takeProfitPercent = 0.080
stopLossPercent = 0.025
// คำนวณระดับ Take Profit และ Stop Loss
longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent)
longStopLoss = strategy.position_avg_price * (1 - stopLossPercent)
shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent)
shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent)
// สัญญาณ Buy
buySignal = (ema12 > ema26) and (ema12[1] <= ema26[1])
// สัญญาณ Sell
sellSignal = (ema12 < ema26) and (ema12[1] >= ema26[1])
// เปิด Position Long
if (buySignal)
strategy.entry("Long", strategy.long)
// เปิด Position Short
if (sellSignal)
strategy.entry("Short", strategy.short)
// ปิด Position Long เมื่อถึง Take Profit หรือ Stop Loss
if (strategy.position_size > 0)
strategy.exit("Long TP/SL", from_entry="Long", limit=longTakeProfit, stop=longStopLoss, comment="TP/SL")
// ปิด Position Short เมื่อถึง Take Profit หรือ Stop Loss
if (strategy.position_size < 0)
strategy.exit("Short TP/SL", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss, comment="TP/SL")
// ปิด Position Long เมื่อเกิดสัญญาณขาย
if (strategy.position_size > 0 and sellSignal)
strategy.close("Long", comment="Sell Signal")
// ปิด Position Short เมื่อเกิดสัญญาณซื้อ
if (strategy.position_size < 0 and buySignal)
strategy.close("Short", comment="Buy Signal")
// Debugging messages to plot the calculated levels for visual verification
//plot(longTakeProfit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_line)
//plot(longStopLoss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_line)
//plot(shortTakeProfit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_line)
//plot(shortStopLoss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_line)