Написать советник для отслеживания ордеров в MT4

MQL4 エキスパート

仕事が完了した

実行時間19 時間
依頼者からのフィードバック
Спасибо за работу! Советник соответствует ТЗ, работа сдана раньше срока.

指定

Здравствуйте.

Необходимо написать советника для платформы MetaTrader 4, который будет отслеживать срабатывание(открытие) ордеров и вызывать метод myMethod().

Пункт 1. Важный момент и основное условие:

1. Отслеживаться должны как ручные ордера, которые выставляет пользователь в программе, так и те ордера, которые приходят по подписке(сигналам).

2. Метод myMethod() должен вызываться только в момент срабатывания ордера, а не выставления!


Пункт 2. Какие типы ордеров необходимо отслеживать:

  • OP_BUY - ордер на покупку (метод myMethod() вызывается моментально),
  • OP_SELL - ордер на продажу (метод myMethod() вызывается моментально),
  • OP_BUYLIMIT - отложенный ордер на покупку по достижении заданного уровня, текущая цена выше уровня (метод myMethod() вызывается только при срабатывании ордера),
  • OP_BUYSTOP - отложенный ордер на покупку по достижении заданного уровня, текущая цена ниже уровня (метод myMethod() вызывается только при срабатывании ордера),
  • OP_SELLLIMIT - отложенный ордер на продажу по достижении заданного уровня, текущая цена ниже уровня (метод myMethod() вызывается только при срабатывании ордера),
  • OP_SELLSTOP - отложенный ордер на продажу по достижении заданного уровня, текущая цена выше уровня (метод myMethod() вызывается только при срабатывании ордера).


Пункт 3. При срабатывании данных ордеров в терминале должен вызываться метод myMethod() и в него должны передаваться следующие параметры:

1. Тип ордера, смотреть пункт 2

2. Торговый инструмент - OrderSymbol()

3. Время срабатывания ордера - TimeCurrent()


Пункт 4. Необходимо создать метод myMethod() и описать его свойства(параметры) и добавить следующие условия:


if(OrderType()==OP_BUY) {

   Print("Сработал метод OP_BUY");

}

if(OrderType()==OP_SELL) {

   Print("Сработал метод OP_SELL");

}

if(OrderType()==OP_BUYLIMIT) {

   Print("Сработал метод OP_BUYLIMIT");

}

if(OrderType()==OP_BUYSTOP) {

   Print("Сработал метод OP_BUYSTOP");

}

if(OrderType()==OP_SELLLIMIT) {

   Print("Сработал метод OP_SELLLIMIT");

}

if(OrderType()==OP_SELLSTOP) {

   Print("Сработал метод OP_SELLSTOP");

}



Советник должен устанавливаться на любое количество пар

Корректно обрабатывать сигналы по каждой паре

При срабатывании ордера, метод должен вызываться 1 раз, без зацикливания. При повторном срабатывании метод должен снова вызываться 1 раз (вообщем все должно работать исправно и логично)

Советник должен обрабатывать как открытие ордеров пользователем терминала, так и открытие ордеров по сигналам сервиса(https://www.mql5.com/ru/signals)






応答済み

1
開発者 1
評価
(241)
プロジェクト
387
51%
仲裁
14
14% / 14%
期限切れ
43
11%
パブリッシュした人: 1 article, 1 code
2
開発者 2
評価
(50)
プロジェクト
94
29%
仲裁
4
25% / 0%
期限切れ
4
4%
パブリッシュした人: 3 codes
類似した注文
Требуется создать советник на основе разворотных паттернов, используя дополнительные индикаторы такие как скользящее среднее, отклонение от скользящей средней, угол наклона скользящей средней. Возможно будет добавлено что то еще по ходу работы
Суть ТС:Приход в POI старшего тф, вход в позицию на младшем тф Анализ графика начинается всегда со старшего тф. Должен быть понятный контекст для работы. Активы: EURUSD, XAUUSD POI старшего таймфрейма: Liquidity (1M, 1W, 1D, 4H, 1H) Imbalance (1M, 1W, 1D, 4H, 1H) Order Block (1M, 1W, 1D, 4H, 1H) HTF Fractals (1M, 1W, 1D, 4H, 1H) Всегда дожидаться цену в POI старшего таймфрейма. Вход в позицию: Слом LTF структуры на
к примеру 10 стратегий выстреливают одновременно в одну и ту же милисекунду при открытие бара надо их сделать последовательными один за другим, с проверкой, что предыдущий ордер был открыт и модифицирован SL TP оредра могут быть отложенные и маркет пока один ордер исполняется другие ждут в очереди так как используется ММ настоящий баланс double Total_Current_Risk() { double res = 0; for (int i = 0; i <

プロジェクト情報

予算
30 - 50 USD
締め切り
最低 1 最高 3 日