Общий принцип
Текущая цена выше MA(xxx) - сигнал BUY
Текущая цена ниже MA(xxx) - сигнал SELL
В зависимости от результирующего сигнала (суммирование сигналов с разных таймфреймов) будет различаться ОБЪЁМ позиции.
...
Ещё можно вес для каждого ТФ прикрутить. Вообще, данная идея вписывается в формат СБ-ного класса CExpertSignal.
Именно так я и хотел. Но пока ещё не решил, как из этого выкрутить размер лота.
А зачем такие сложности, с разных ТФ?
Допустим на 1 мин используем МА 10, на 5 мин ТФ тоже МА 10. Тогда МА 50 на 1 мин будет эквивалентно (и даже лучше) МА 10 на 5 мин. И т.д.
Именно так я и хотел. Но пока ещё не решил, как из этого выкрутить размер лота.
А причем сигнал и размер лота?
А причем сигнал и размер лота?
Не сигнал, а его суммарная сила:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Суммируем сигналы от Moving Average с разных таймфреймов
Vladimir Karputov, 2017.07.28 14:34
Общий принцип
Текущая цена выше MA(xxx) - сигнал BUY
Текущая цена ниже MA(xxx) - сигнал SELL
В зависимости от результирующего сигнала (суммирование сигналов с разных таймфреймов) будет различаться ОБЪЁМ позиции.
...
Не сигнал, а его суммарная сила:
ясно, пропустил этот момент
Интересная идея, было бы опыта больше и времени, реализовал бы. Если добавить веса к каждому таймфрейму ( чем больше таймфрейм, тем больше вес), нормализовать это, и далее от суммы совокупности всех сигналов, если все подтверждаются и если МА плавно увеличивается, значит, скорее всего, тренд будет длинный, размер лота максимальный в заданных диапазонах и пропорционально его уменьшать при других условиях.
Думаю использовать модуль сигналов SignalMAAboveBelow - самые простые сигналы: цена выше или ниже Moving Average. Если цена Moving Average - сигнал "BUY", если цена ниже индикатора Moving Average - сигнал "SELL". Также есть параметр "Reverse" - когда можно задать реверс сигналов, то есть если цена выше - это будет "SELL", а если цена ниже - это будет "BUY".
Внимание: в конструкторе модуля сигналов паттерну присваивается значение не 100%, а 80%:
//+------------------------------------------------------------------+ //| Constructor | //+------------------------------------------------------------------+ CSignalMA::CSignalMA(void) : m_reverse(false), m_ma_period(12), m_ma_shift(0), m_ma_method(MODE_SMA), m_ma_applied(PRICE_CLOSE), m_pattern_0(80), m_last_loss_price(0.0) { //--- initialization of protected data m_used_series=USE_SERIES_OPEN+USE_SERIES_HIGH+USE_SERIES_LOW+USE_SERIES_CLOSE; }
У Вас реверс включен при значении false в настройках, а не наоборот.
"Реверс" == обратное. То есть реверс ВСЕГДА будет противоположное.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Общий принцип
Текущая цена выше MA(xxx) - сигнал BUY
Текущая цена ниже MA(xxx) - сигнал SELL
В зависимости от результирующего сигнала (суммирование сигналов с разных таймфреймов) будет различаться ОБЪЁМ позиции.
...