Ошибки, баги, вопросы - страница 1140

 

В MQL4 в строке можно прописать какую линию использовать индикатора ишимоку MODE_TENKANSEN и shift (сдвиг относительно текущего бара)

double TK = iIchimoku(NULL, PERIOD_CURRENT, Tenkan, Kijun, SenkouB, MODE_TENKANSEN, 0);

А как правильно прописать точно такую же функцию в пятерке ?

Я написал строку но выдает ошибку 'iIchimoku' - wrong parameters count    Ichimoku.mq5  

Вот это получается в строке лишнее TENKANSEN_LINE, 0

double TK = iIchimoku(NULL, PERIOD_CURRENT, Tenkan, Kijun, SenkouB, TENKANSEN_LINE, 0);
 
Zeleniy:

В MQL4 в строке можно прописать какую линию использовать индикатора ишимоку MODE_TENKANSEN и shift (сдвиг относительно текущего бара)

А как правильно прописать точно такую же функцию в пятерке ?

а что возвращает в пятере?
iIchimoku
 
Zeleniy:

В MQL4 в строке можно прописать какую линию использовать индикатора ишимоку MODE_TENKANSEN и shift (сдвиг относительно текущего бара)

А как правильно прописать точно такую же функцию в пятерке ?

Я написал строку но выдает ошибку 'iIchimoku' - wrong parameters count    Ichimoku.mq5  

Вот это получается в строке лишнее TENKANSEN_LINE, 0

В MQL5 другая запись индикатора iIchimoku. 

int  iIchimoku(
   string           symbol,            // имя символа
   ENUM_TIMEFRAMES  period,            // период
   int              tenkan_sen,        // период Tenkan-sen
   int              kijun_sen,         // период Kijun-sen
   int              senkou_span_b      // период Senkou Span B
   );
Документация по MQL5: Технические индикаторы / iIchimoku
Документация по MQL5: Технические индикаторы / iIchimoku
  • www.mql5.com
Технические индикаторы / iIchimoku - Документация по MQL5
 

Функция OnTesterPass()  вызывается не после всех проходов оптимизации ,а несколько проходов оптимизации всегда пропускает.Происходит даже в случае если фрейм принудительно создан с помощью цикла.

По результату оптимизации данного шаблона число проходов в журнале терминала всегда будет на 5-20 проходов меньше чем задано для оптимизации.

Какой смысл тогда вообще в медленной оптимизации и в функции OnTesterPass() если она всегда не тестирует несколько проходов,причем возможно которые и являлись искомыми???

input int         StringReadOrSumma=1000;
//---
void OnTick()  {  }
//---
long PassNum;
string NameFrameStatistik="stat";
long FrameID_Statistik;
double OnTesterResult;
double ArrValueStatistik[];
//---
double OnTester()
  {
   ArrayResize(ArrValueStatistik,1);
   ArrValueStatistik[0]=StringReadOrSumma;
   if(!FrameAdd(NameFrameStatistik,FrameID_Statistik,OnTesterResult,ArrValueStatistik)) return(0.0);
   return(0.0);
  }
//---
void OnTesterPass()
  {
   if(!FrameNext(PassNum,NameFrameStatistik,FrameID_Statistik,OnTesterResult,ArrValueStatistik))
     { Print(__FUNCTION__,__LINE__);return;}

   static int numPass=0;
   numPass++;
   Print(ArrValueStatistik[0]," --- ",numPass);
  }
 
lewvik:

Функция OnTesterPass()  вызывается не после всех проходов оптимизации ,а несколько проходов оптимизации всегда пропускает.Происходит даже в случае если фрейм принудительно создан с помощью цикла.

По результату оптимизации данного шаблона число проходов в журнале терминала всегда будет на 5-20 проходов меньше чем задано для оптимизации.

Какой смысл тогда вообще в медленной оптимизации и в функции OnTesterPass() если она всегда не тестирует несколько проходов,причем возможно которые и являлись искомыми???

Событие может генерироваться сразу для нескольких фреймов. Т.е. лучше вычитывать фреймы в цикле, например, через while(!FrameNext(...)).

 
antt:

Событие может генерироваться сразу для нескольких фреймов. Т.е. лучше вычитывать фреймы в цикле, например, через while(!FrameNext(...)).

Я пробовал считывать фреймы цикле и создавать в цикле,результат тот же - несколько проходов куда-то бесследно исчезает.Несколько фреймов или один создан разницы нет.Почему так?Это баг или я что то неверно понимаю.Если баг-то это серьезное допущение,как так-то - искал ,искал параметры нужные и в итоге потерял в процессе поиска!

Заявка в сервисдеск     #1007598 | 2014.05.04 12:33

 

народ, кто подскажет как в mql5 вычислить  размер свободных средств, необходимых для открытия 1 лота какого-то символа

в mql4 знаю как, а в mql5 не могу найти 

 

Такой баг обнаружен в тестере советников. Metatrader Client 5. Build 930. Брокер: Открытие. FORTS. 

В тестере отменённые заявки показывают, что якобы количество было исполнено. Пишет 2.0/2.0. Хотя заявка просто отменена:

 

 

На демо-счёте отменённые заявки пишут, что ничего не исполнено (либо исполнены частично). Например, 2.0/0.0 или 2.0/1.0. Что является правильным поведением:

 

 

Соответственно, этот баг мешает отслеживать реально исполненное количество. При тестах.

Это баг? :) 

 
harbor:

народ, кто подскажет как в mql5 вычислить  размер свободных средств, необходимых для открытия 1 лота какого-то символа

в mql4 знаю как, а в mql5 не могу найти 

Возможно так:

Print("Margin=", SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_INITIAL)); 
 
escoman:

Такой баг обнаружен в тестере советников. Metatrader Client 5. Build 930. Брокер: Открытие. FORTS. 

В тестере отменённые заявки показывают, что якобы количество было исполнено. Пишет 2.0/2.0. Хотя заявка просто отменена:

Спасибо за сообщение. Исправлено.
Причина обращения: