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

 
EvgeTrofi:

Если в return много скобок - он начинает путаться!?

 Вот, к примеру функция, которая возвращает число из строки типа "klsfd Step 2.":

 Чем она отличается от этой?

 Во втором варианте возникнут проблемы при компиляции, а в первом - нет.

Попробуйте так

int GetStep(string text){
   string Right;
   int U = StringFind(text, "Step ");
   int End;
   if(U>=0){
      U=U+5;
      Right = StringSubstr(text, U);
      End = StringFind(Right, ".");
      return((int)(MathRound(StringToDouble(StringSubstr(text, U, End-U)))));
   }
   return(0);
}
 
Interesting:

Необходимо явное приведение результата к типу int.

PS

Но как я понимаю на данное предупреждение в принципе можно закрыть глаз...

Ну это понятно, но по логике не правильно! Ведь выражение справа от знака равенства должно возвращать тип int ?!

 

 
EvgeTrofi:

Ну это понятно, но по логике не правильно! Ведь выражение справа от знака равенства должно возвращать тип int ?!

 

Это для SYMBOL_TRADE_STOPS_LEVEL результат int, но у функции могут быть варианты возврата и других типов...

Идентификатор

Описание

Тип свойства

SYMBOL_SELECT

Признак того, что символ выбран в Market Watch

bool

SYMBOL_VOLUME

Volume - объем в последней сделке

long

SYMBOL_VOLUMEHIGH

Максимальный Volume за день

long

SYMBOL_VOLUMELOW

Минимальный Volume за день

long

SYMBOL_VOLUMEBID

Объем в текущем Bid

long

SYMBOL_VOLUMEASK

Объем в текущем Ask

long

SYMBOL_TIME

Время последней котировки

datetime

SYMBOL_DIGITS

Количество знаков после запятой

int

SYMBOL_SPREAD

Размер спреда в пунктах

int

SYMBOL_SPREAD_FLOAT

Признак плавающего спреда

bool


PS

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

 
Скажите пожалуйста, как можно отключить автоматическое обновление? Мне на работе всего 200 Мб дают на месяц. Ещё одно обновление и трафик накроется :(
 
EvgeTrofi:
Скажите пожалуйста, как можно отключить автоматическое обновление? Мне на работе всего 200 Мб дают на месяц. Ещё одно обновление и трафик накроется :(
Стандартными способами это не возможно, по крайней мере пока...
 

"обновился" до последнего билда-в итоге при каждом подключении к инету клиент  сначала жрет по 60 мб,затем не отвечает,вынужден закрывать 

клиент через диспетчер задач,открыл прогу "дефрагментация диска" ,этот раздел диска (где установлен клиент)сильно фрагментирован, дефрагметация

все равно не помогает-файлы в той директории(куда установлен terminal MQL-5)остаются  сильно фрагментированными.

 
Переписал советник с MQL4 на MQL5. При компеляции нет ни одной ошибки и замечания. При тестировании - не совершает ни одной сделки. Где посоветуете искать причину такого результата? На что в первую очередь стоит обратить внимание?
 
EvgeTrofi:
Переписал советник с MQL4 на MQL5. При компеляции нет ни одной ошибки и замечания. При тестировании - не совершает ни одной сделки. Где посоветуете искать причину такого результата? На что в первую очередь стоит обратить внимание?
Лог можно посмотреть советника на тестере (желательно файлом)?
 
Лог, можно сказать пустой. Я привык, что MQL4 писалось типа неправильный лот или неправильные стопы....
 
EvgeTrofi:
Лог, можно сказать пустой. Я привык, что MQL4 писалось типа неправильный лот или неправильные стопы....

Это лог тестера, в нем есть указание на то, где смотреть лог агента

MN      0       Tester  13:42:54        log file "C:\Program Files\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20100817.log" written
Причина обращения: