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

 
Здравствуйте, подскажите как сделать чтоб при формировании новой свечи М1 откладывались 2 отложенных ордера на покупку и продажу
 
Иван Титов:
Здравствуйте, подскажите как сделать чтоб при формировании новой свечи М1 откладывались 2 отложенных ордера на покупку и продажу

int timeM1=0;

int PlaceOrdersOnM1() {

  datetime candleOpenTime=iTime(Symbol(),_Period,0);

  if (timeM1==0) {

     timeM1=candleOpenTime;

     return 0;

  }

 if (timeM1!=candleOpenTime) {

   timeM1=candleOpenTime;

   int ticket1=OrderSend(...); // выставляет отложку 1

   int ticket2=OrderSend(...);// отложку 2

   return !(ticket1<0 || ticket2<0);

 }

 return 0;

}

// вызывать каждый тик или по таймеру (по вкусу)

написано "с руки", не проверялось ни разу никак

 
Иван Титов:
Здравствуйте, подскажите как сделать чтоб при формировании новой свечи М1 откладывались 2 отложенных ордера на покупку и продажу

это функция проверки на открытую новую свечу любого ТФ (оч полезная)

bool NewBar(ENUM_TIMEFRAMES TF = PERIOD_CURRENT)
  {
   static datetime NewTime=0;
   if(NewTime!=iTime(Symbol(),TF,0))
     {
      NewTime=iTime(Symbol(),TF,0);
      return(true);
     }
   return(false);
  }
 

Что означает это предупреждение в тестере? 

2020.02.06 09:55:17.596 TestGenerator: unmatched data error (volume limit 95 at 2020.01.20 08:10 exceeded)

прямой перевод "превышен лимит объема 95". Но что это означает? У объема нет лимитов... да и другие свечи (М5) дают намного большие объемы, но предупреждения по ним нет...
 

Можно ли создавать функции , где параметр может быть переменной любого типа сразу ? 

void Function (any_type A);
 
Viatcheslav Pashkov:

Что означает это предупреждение в тестере? 

2020.02.06 09:55:17.596 TestGenerator: unmatched data error (volume limit 95 at 2020.01.20 08:10 exceeded)

прямой перевод "превышен лимит объема 95". Но что это означает? У объема нет лимитов... да и другие свечи (М5) дают намного большие объемы, но предупреждения по ним нет...
Загрузите историю по символу. F2
 
Viatcheslav Pashkov:

Можно ли создавать функции , где параметр может быть переменной любого типа сразу ? 

Да, шаблон называется

template<typename T>
void Foo(T param){
...
}
 
Vladimir Simakov:

Да, шаблон называется

не понял.

Прочитал FAQ.

все еще не понял. Приведите простой пример между int, double и string пожалуйста? 

 
Viatcheslav Pashkov:

не понял.

Прочитал FAQ.

все еще не понял. Приведите простой пример между int, double и string пожалуйста? 

https://www.mql5.com/ru/docs/basis/oop/templates

Зачем это в раздел ООП поместили?

Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
  • www.mql5.com
Перегруженные функции обычно используются для выполнения похожих операций над различными типами данных. Простой пример такой функции в MQL5 - ArraySize(), которая возвращает размер массива любого типа. На самом деле эта системная функция является перегруженной, и вся реализация такой перегрузки спрятана от разработчика программ на MQL5: То есть...
 
Vladimir Simakov:

https://www.mql5.com/ru/docs/basis/oop/templates

Зачем это в раздел ООП поместили?

вот именно это я и читал.

но писали видимо для тех, кто знал, но подзабыл. 

А мне та информация ни сколько не помогла. 

 приведете самый простой пример? 

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