Написать советник для отслеживания ордеров в 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
類似した注文
Кто может добавить alert при пробитии последнего фрактала. из 3 баров. Flexible Fractal c notification с ценой и валютной парой / и чтоб звучало 1 раз. // Как и в стандартном индикаторе текущий бар сравнивается с барами стоящими справа на графике строго - текущий бар должен быть выше (для верхнего фрактала) или ниже (для нижнего фрактала), если же он равен - тогда фрактал не рисуется. А вот сравнение текущего бара с
1. Загальна логіка Треба створити ЕА для MetaTrader 5 на основі індикатора Zig Zag (параметри індикатора стандартні: Depth, Deviation, Backstep) та рівнів Фібоначчі. Детально логіка входу описана в додатку до ТЗ. 2. Відкриття сету ордерів ЕА відкриває сет відкладених ордерів (кількість ордерів від 1 до 5) Для кожного ордеру задається - рівень входу (значення рівня Фібоначчі) - рівень SL

プロジェクト情報

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