Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1550

 
законопослушный гражданин:

автор кода как я понял, предлагал следующее:

если сов открывает сделку buy со стопом и тейком, то его кусок кода открывает сделку в sell в то же время в том же месте (с учетом спреда) так же со стопом и тейком вместо сделки buy .

таким образом логика поиска точки входа советника не меняется, а меняется только направление с учетом спреда.

именно это мне и нужно

Если тебе нужен реверс всех сделок, то просто поменяй здесь местами

vOrderOpenSell и vOrderOpenBuy


//+-----------------------------------------------------------------------------------------------+
void OnTick()
  {
// Получим значение индикатора
   dMA = iMA(Symbol(), 0, iPeriodMA, 0, MODE_SMA, PRICE_CLOSE, 0);

// Если нет открытых ордеров, то входим в условие
   if(bCheckOrders() == true)
     {
      // Если появился сигнал на покупку, то откроем ордер на покупку
      if(bSignalBuy() == true)
         vOrderOpenSell();

      // Если появился сигнал на продажу, то откроем ордер на продажу
      if(bSignalSell() == true)
         vOrderOpenBuy();
     }
  }
 
SGarnov:

Первый результат. есть конфликт между валютными парами по выставлению советником отложенных ордеров. например кинул отложку по EURUSD, советник отработал по алгоритму(Buy по цене 1,18901 открыта сделка, советник выставил стоп 1,18751 и тейк 1,19051 и отложку на селл по цене 1,18751) всё ок по задуманному.

Но пришло время открыть сделку по GBPUSD там цены другие и советник всё делает правильно, за исключением выставления отложенного ордера. Сработала отложка Sell 1,39393 советник включился в работу, выставил стоп 1,39633  и тейк 1,39153, а вот отложенника на покупку по цене 1,39633 он полностью продублировал с EURUSD и выставил  отложку на селл по цене 1,18751)

Ещё проблему только что обнаружил: по открытой сделке по EURUSD сработал стоп по 1,18751 и отложенник sell открылся к которому советник выставил стоп 1,18901 и тейк  1,18595. Советник не прибавил к тейку сработанный стоп, который в истории. 

Вот такие проблемы.

По отложкам нашел ошибку, а с прибавлением работаю

 
MakarFX:

Если тебе нужен реверс всех сделок, то просто поменяй здесь местами

vOrderOpenSell и vOrderOpenBuy


нет мне  нужен не реверс а "отзеркаливание" убыточных сделок на другой терминал с учетом спреда. как в теме автора куска кода. 

но тестеры не дают таких возможностей, дл этого мне нужно чтобы сов в тестере "зеркалил" сделки со спредом, так, как будто они открываются в другом терминале но по логике этого сова, скажем через копировщик с ревесом.

мне нужно для проверки ТС

 
Alexey Viktorov:

Макар правильно обратил внимание на OrderMagicNumber(), но не правильно понял ошибку. Прочтите в документации синтаксис этой функции… тут должен быть или индекс в списке ордеров, или тикет конкретного ордера, но никак не магик. И OrderTicket() тут не поможет. Не пытайтесь это туда всунуть.

Логично. Скомпилировал с заменой на OrdersHistoryTotal, а в настройках терминала историю сделал за последние три дня. Буду тестировать.

 
законопослушный гражданин:

нет мне  нужен не реверс а "отзеркаливание" убыточных сделок на другой терминал с учетом спреда. как в теме автора куска кода. 

но тестеры не дают таких возможностей, дл этого мне нужно чтобы сов в тестере "зеркалил" сделки со спредом, так, как будто они открываются в другом терминале но по логике этого сова, скажем через копировщик с ревесом.

мне нужно для проверки ТС

Если проблемы с ордерами входа по рынку попробуй заменить это

///////////////
if (cmd==OP_SELL) // Переворачиваем ордера OP_SELL
{
Ret=OrderSend (symbol,OP_BUY,volume,Ask,slippage,takeprofit-sprd,stoploss-sprd,comment,magic,expiration,arrow_color);
}
if (cmd==OP_BUY) // Переворачиваем ордера OP_BUY
{
Ret=OrderSend (symbol,OP_SELL,volume,Bid,slippage,takeprofit+sprd,stoploss+sprd,comment,magic,expiration,arrow_color);
}

А если проблема со всеми ордерами, то проверь STOPLEVEL

 
MakarFX:

........................., а с прибавлением работаю

Пришёл к выводу что это сложно реализовать, Ваш код намного проще, понятнее и логичнее, но .....почему то тоже не прибавляет. Главное не сдаваться.

 
SGarnov:

Пришёл к выводу что это сложно реализовать, Ваш код намного проще, понятнее и логичнее, но .....почему то тоже не прибавляет. Главное не сдаваться.

Служу Советскому Союзу!
 
SGarnov:

Пришёл к выводу что это сложно реализовать, Ваш код намного проще, понятнее и логичнее, но .....почему то тоже не прибавляет. Главное не сдаваться.

MakarFX:
Служу Советскому Союзу!

Может ещё необходимо учитывать количество сработанных стопов. К примеру советник и найдёт стоп в истории, а если их будет два, он их обоих должен прибавить и три и четыре, всё зависит от внешней настройки "количество стоп лосс".

 
SGarnov:

Может ещё необходимо учитывать количество сработанных стопов. К примеру советник и найдёт стоп в истории, а если их будет два, он их обоих должен прибавить и три и четыре, всё зависит от внешней настройки "количество стоп лосс".

там есть учет кол-ва сработанных стопов и если "Количество убыточных ордеров" больше указанного в настройках, то отложенные больше не выставляются(уже проверенно).
 

Всем привет, помогите пожалуйста! 

У меня проблема такая. Я купила впс от mql5  все работает хорошо, установила себе эксперта, выставила 8 графиков и поставила эксперта. И все это дело перенесла в впс.

И мне нужно было удалить программу метатрейд ер с компьютера, т. К не мой был. 

И теперь когда захожу со своего компьютера 

Всё работает, экспер. Работает, но я не могу его увидеть,чтобы делать какие либо поправки в настройках. Как мне вернуть эксперта и графики, чтоб я могла ими управлять со своего компьютера?

Спасибо!

Причина обращения: