В процессе загрузки ресурсов... загрузка...

Мультитехнический индикатор импульс-МА

Автор:Чао Чжан, Дата: 2025-01-06 16:56:14
Тэги:MACDРСИMA50MA200

img

Обзор

Эта стратегия представляет собой трендовую торговую систему, основанную на нескольких технических индикаторах, объединяющую MACD, RSI и скользящие средние показатели (MA) для подтверждения торговых сигналов.

Принцип стратегии

Основная логика основана на подтверждении трех технических показателей:

  1. MACD для идентификации импульса - генерирует начальный сигнал покупки, когда линия MACD пересекает линию сигнала
  2. RSI для подтверждения силы - требует значения RSI выше установленного порога (по умолчанию 50), чтобы подтвердить рост импульса
  3. Система скользящей средней для подтверждения тренда - MA50 выше MA200 подтверждает общий восходящий тренд Кроме того, стратегия предусматривает всестороннее управление денежными средствами:
  • Кредитные обязательства, связанные с рисками
  • Фиксированный процент стоп-лосса для индивидуального контроля риска торговли
  • Цели двойной прибыли (TP1 и TP2) для оптимизации доходности

Преимущества стратегии

  1. Взаимная проверка нескольких технических показателей повышает надежность сигнала
  2. Всеобъемлющая система управления деньгами для эффективного контроля рисков
  3. Настраиваемые параметры стратегии для высокой адаптивности
  4. Цели двойной прибыли защищают прибыль, одновременно отслеживая более широкие тенденции
  5. Ясная структура кода для простого обслуживания и оптимизации

Стратегические риски

  1. Потенциальные ложные сигналы на консолидирующихся рынках
  2. Подтверждение нескольких показателей может привести к незначительной задержке записи
  3. Долгосрочный подход не обеспечивает хеджирование на рынках с снижающимся уровнем
  4. Оптимизация параметров может привести к рискам перенастройки

Руководство по оптимизации

  1. Включить показатели объема для дополнительного подтверждения
  2. Добавить механизм фильтрации волатильности рынка
  3. Улучшить механизм выхода с задержкой остановок
  4. Внедрение адаптивной системы параметров на основе рыночных условий
  5. Добавить механизм контроля за загрузкой

Резюме

Эта стратегия создает надежную систему, следующую за тенденциями, благодаря синергии нескольких технических индикаторов. Ее комплексный механизм управления деньгами и регулируемый дизайн параметров обеспечивают хорошую практичность и адаптивность. Будущие улучшения могут сосредоточиться на выявлении состояния рынка и оптимизации механизма выхода для дальнейшего повышения стабильности и прибыльности стратегии.


/*backtest
start: 2024-12-29 00:00:00
end: 2025-01-05 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Saudi Market Buy-Only Strategy (Customizable)", overlay=true)

// مدخلات المستخدم لتخصيص القيم
// رأس المال وإدارة المخاطر
capital = input.float(10000, title="رأس المال (ريال)", minval=1000)    // رأس المال الافتراضي
riskPercent = input.float(2, title="نسبة المخاطرة (%)", minval=0.1, maxval=10) / 100  // نسبة المخاطرة
buySLPercent = input.float(1, title="وقف الخسارة (%)", minval=0.1, maxval=10) / 100  // وقف الخسارة
tp1Percent = input.float(2, title="الهدف الأول (%)", minval=0.1, maxval=20) / 100   // الهدف الأول
tp2Percent = input.float(3, title="الهدف الثاني (%)", minval=0.1, maxval=30) / 100 // الهدف الثاني

// إعدادات المؤشرات الفنية
macdFastLength = input.int(12, title="MACD - فترة المتوسط السريع", minval=1)
macdSlowLength = input.int(26, title="MACD - فترة المتوسط البطيء", minval=1)
macdSignalLength = input.int(9, title="MACD - فترة الإشارة", minval=1)

rsiLength = input.int(14, title="RSI - فترة المؤشر", minval=1)
rsiThreshold = input.int(50, title="RSI - مستوى الدخول", minval=1, maxval=100)

ma50Length = input.int(50, title="MA50 - فترة المتوسط المتحرك", minval=1)
ma200Length = input.int(200, title="MA200 - فترة المتوسط المتحرك", minval=1)

// حساب إدارة المخاطر
riskAmount = capital * riskPercent  // قيمة المخاطرة

// حساب المؤشرات الفنية
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)
rsiValue = ta.rsi(close, rsiLength)
ma50 = ta.sma(close, ma50Length)
ma200 = ta.sma(close, ma200Length)

// تعريف الاتجاه العام للسوق باستخدام المتوسطات
isBullishTrend = ma50 > ma200

// شروط الدخول شراء فقط
if ta.crossover(macdLine, signalLine) and rsiValue > rsiThreshold and isBullishTrend
    entryPrice = close
    stopLoss = entryPrice * (1 - buySLPercent)   // وقف الخسارة أسفل نقطة الدخول
    takeProfit1 = entryPrice * (1 + tp1Percent) // الهدف الأول
    takeProfit2 = entryPrice * (1 + tp2Percent) // الهدف الثاني
    strategy.entry("Buy", strategy.long)        // فتح صفقة شراء
    strategy.exit("TP1", "Buy", limit=takeProfit1, stop=stopLoss)
    strategy.exit("TP2", "Buy", limit=takeProfit2)

// رسم خطوط المتوسطات
plot(ma50, color=color.blue, title="MA50")
plot(ma200, color=color.orange, title="MA200")


Связанные

Больше