Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 4912
- Рейтинг:
- Опубликован:
- 2017.07.13 07:42
- Обновлен:
- 2018.02.16 18:46
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Если закрытие по Stop loss - удваиваем объём, если по Take Profit - ставим минимальный объём. Для определения того, что сделка произошла вследствие срабатывания Stop Loss или Take Profit, используем OnTradeTransaction.
Начиная с билда 1625 появилось замечательное перечисление ENUM_DEAL_REASON:
ENUM_DEAL_REASON | Описание причины |
---|---|
... | ... |
DEAL_REASON_SL | Операция совершена в результате срабатывания Stop Loss |
DEAL_REASON_TP | Операция совершена в результате срабатывания Take Profit |
... | ... |
которое можно отследить в OnTradeTransaction.
Другими словами теперь можно очень просто и главное гарантированно определить, что данная сделка была следствием срабатывания Take Profit или Stop Loss.
На данный момент (билд 1626) этот советник можно тестировать только в живую - накинув на график или в режиме отладки на реальных данных (F5 в редакторе MetaEditor). Также пока я применил обходной манёвр:
Определяем, что именно сработало: Take Profit или Stop Loss в процедуре OnTradeTransaction:
if(deal_symbol==m_symbol.Name() && deal_magic==m_magic) if(deal_entry==DEAL_ENTRY_OUT) { if(deal_reason==DEAL_REASON_SL) ExtLot*=2.0; else if(deal_reason==DEAL_REASON_TP) ExtLot=m_symbol.LotsMin(); }

Семафорный сигнальный индикатор.

Канал, построенный на вершинах и впадинах индикатора ЗигЗага ZigZagOnParabolic.

Покупаем (открываем позиции BUY) подешевле, продаем (открываем позиции SELL) подороже.

Покупаем (открываем позиции BUY) подешевле, продаём (открываем позиции SELL) подороже.