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

 
Alexey Viktorov #:

Зарегистрируйте демо счёт от MQ и подключившись к нему автоматом получите обновление, если оно уже есть.

Но не забывайте о том, что это бета версии, а у брокеров только релизы. И если у вас случится чего-то, брокер спросит версию, или сам увидит, то сошлётся на неадекватность беты.

Благодарю за отзыв и страховку от бета версий, я уже нашел как и прописал демосчет Алпари в новой версии разработчика MQ, а до открытия вот так реального счета, задумал потестить в новой версии МТ5 эксперт из под Мастера MQL5, в поисках решения проблемы возможной ограниченности старой версии МТ5 с открытием в нем только одной позиции, только на одной валютной паре, только в одном окне, остальные пока молчат в полной готовности эксперта открыть позицию по сигналу рынка. Я пока даже не джун в программировании, поэтому приходится искать решение проблемы, пока глупым перебором разных идей, по наитию)  

 
Tretyakov Rostyslav #:

Кто у Вас брокер?

Благодарю за отзыв, я уже нашел способ как подключить к демосерверам Alpari последнюю версию MT5 MetaQuote, все в поисках причины ограничений эксперта, из под Мастера MQL5, в старой версии МТ5 Alpari, с открытием только одной позиции, только по одной валютной паре, только в одном окне, вместо остальных, в которых тот же эксперт в полной готовности открыть позицию по сигналу рынка, пока молчит... 

 
Rustam Ayupov #:

Благодарю за отзыв, я уже нашел способ как подключить к демосерверам Alpari последнюю версию MT5 MetaQuote, все в поисках причины ограничений эксперта, из под Мастера MQL5, в старой версии МТ5 Alpari, с открытием только одной позиции, только по одной валютной паре, только в одном окне, вместо остальных, в которых тот же эксперт в полной готовности открыть позицию по сигналу рынка, пока молчит... 


Причина скорее всего в советнике.
 
Tretyakov Rostyslav #:


Причина скорее всего в советнике
Tretyakov Rostyslav #:


Причина скорее всего в советнике.

Благодарю за отзыв! Есть еще одно чудо с советником из под Мастера MQL5. С его помощью все таки удалось добиться открытия нескольких позиций, в нескольких окнах, нескольких валютных пар, на одном терминале MT5 и даже на терминале от последнего обновления MetaQuote, с прописанным там сервером Алпари. Позиции открываются, при переключении между окнами, т.е. открыл окно, а через пару секунд открывается позиция, и даже учитывается наличие сигнала на открытие, т.е. если сигнала нет, позиция не открывается даже после переключения в очередное окно. Вот так пока, это прогресс, однако ручками, с полуавтоматикой) Но изучаю копаюсь в классах программы советника, все непросто, но высший пилотаж программирования разработчиков с ООП, радует, есть чему поучиться серьезно, программа советника кардинально отлична от советников, упрощенных опытными трейдерами программистами в кодобазе. Насколько я понимаю так правильно.

 
Добрый день, подскажите как закрыть ордер с самым большим лотом вместе с ордером с самым маленьким лотом при просадке советника с мартингейлом. тоесть нужно проверить все ордера в серии и выбрать и закрыть те которые вместе вышли в плюс или ноль на отскоке, тем самым уменьшить просадку в ожидании разворота.
 
walter27 #:
Добрый день, подскажите как закрыть ордер с самым большим лотом вместе с ордером с самым маленьким лотом при просадке советника с мартингейлом. тоесть нужно проверить все ордера в серии и выбрать и закрыть те которые вместе вышли в плюс или ноль на отскоке, тем самым уменьшить просадку в ожидании разворота.
  1. Найти в списке открытых позиций позицию с самым большим лотом,
  2. Найти в списке открытых позиций позицию с самым маленьким лотом,
  3. Закрыть их.
 
Artyom Trishkin #:
  1. Найти в списке открытых позиций позицию с самым большим лотом,
  2. Найти в списке открытых позиций позицию с самым маленьким лотом,
  3. Закрыть их.

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

 
Artyom Trishkin #:
  1. Найти в списке открытых позиций позицию с самым большим лотом,
  2. Найти в списке открытых позиций позицию с самым маленьким лотом,
  3. Закрыть их.
F  можно скинуть скрип поиска минимального лота если есть.
 
walter27 #:
F  можно скинуть скрип поиска минимального лота если есть.

Сами что пробовали написать? Что не получилось? Покажите

 
Artyom Trishkin #:

Сами что пробовали написать? Что не получилось? Покажите

//+------------------------------------------------------------------+
double FindLastLots (int otype){
  int ticket=0, oldticket;
  for(int cnt=OrdersTotal()-1; cnt>=0; cnt--){
  if(OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES)){
  if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype){
  oldticket = OrderTicket();
  if (oldticket > ticket){
  ticket = oldticket;
  oldlots = OrderLots();
  }   
  }
  }
  }
  return(oldlots);     
  }
//+------------------------------------------------------------------+
double FindMinLots (int otype){
  int ticket=0, oldticket;
  for(int cnt=OrdersTotal()-1; cnt>=0; cnt--){
  if(OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES)){
  if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype){
  oldticket = OrderTicket();
  if (oldticket < ticket){
  ticket = oldticket;
  oldlots = OrderLots();
  }   
  }
  }
  }
  return(oldlots);     

  }

Если я правильно понимаю то вроде верно выбрал ордера, ну с самым большим то точно, мартин работает у меня. Вот как теперь их закрыть при достижении CountSell(Buy) = n / количества например 5 ордеров в просадке.

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