Попробовал - все нормально работает. Видимо нужен точный код, а не краткое описание.
Вообще какой билд терминала использовался?
билд последний - 159
код - точнее некуда. Дописывал ф-цию в библиотеку параллельно с постом в форуме.
Незнаю.... я ещё попробую поэксперементировать - если что получиться - скажу..
Попробовал - все нормально работает. Видимо нужен точный код, а не краткое описание.
Вообще какой билд терминала использовался?
Ренат, я был неправ в пре-предыдущем посте. Дело в том, что я вызывал qwe() из своей ф-ции, а не из zxc(), в этом и вся разница. Сейчас посидел 10 мин - воспроизвёл то, что я написал - нет ошибки, а потом просто добавил в ф-цию входящию переменную - получилось =)
библиотека:
5. Добавлен пример скрипта "period_converter.mq4", формирующий HST-файл с нестандартным таймфреймом. Сгенерированный HST-файл можно открыть автономно (File - Open Offline).
То работает, то нет. Исходный график Н1, конечный Н6. сейчас 18:00 последняя свеча на Н6 от 06:00.
А что можно объяснить, если Вы представили 4 неизвестные переменные? Правильный вопрос - половина ответа.
простите, думал - догадаетесь. Ситуация такая - эксперт перед установкой ордера проверяет расстояние от уровня СтопЛосс( _StopLoss ) до уровня ( _OpenPrice ). Если оно меньше MarketInfo( Symbol(), MODE_STOPLEVEL ), то запрос на установку не даётся. Т.е. расстояние при проверке было больше, и запрос был дан. На что в логе выскочила ошибка - неправильный СЛ:
2005.03.23 17:00:45 '14070': opening order buy stop 1.00 EURJPY at 137.6900 sl: 137.4800 tp: 0.0000 failed [Invalid S/L or T/P]
Вручную установить ордер по этим же значениям не удалось. А прошу объяснить я, собственно, вот что: почему неправильный стоплосс? Если MODE_STOPLEVEL для EURJPY > 21 пункта, то не должна была пропустить проверка, а если меньше, то должен был установиться ордер.
А прошу объяснить я, собственно, вот что: почему неправильный стоплосс? Если MODE_STOPLEVEL для EURJPY > 21 пункта, то не должна была пропустить проверка, а если меньше, то должен был установиться ордер.
Проверяем ситуацию, похоже переборщили с контролем цен.
2005.03.23 17:00:45 '14070': opening order buy stop 1.00 EURJPY at 137.6900 sl: 137.4800 tp: 0.0000 failed [Invalid S/L or T/P]
А где был рынок в момент установки отложенного ордера? Укажите Bid/Ask.
Похоже что Open price слишком близко к рынку стоял - на него тоже "Invalid S/L or T/P" получить можно.
Проверка на отступ стоплосса от цены открытия тут не причем.
Где проверка на отступ цены Open price от текущей цены Ask ?
Вообще какой билд терминала использовался?
билд последний - 159
код - точнее некуда. Дописывал ф-цию в библиотеку параллельно с постом в форуме.
Незнаю.... я ещё попробую поэксперементировать - если что получиться - скажу..
Вообще какой билд терминала использовался?
Ренат, я был неправ в пре-предыдущем посте. Дело в том, что я вызывал qwe() из своей ф-ции, а не из zxc(), в этом и вся разница. Сейчас посидел 10 мин - воспроизвёл то, что я написал - нет ошибки, а потом просто добавил в ф-цию входящию переменную - получилось =)
библиотека:
#property library ///////////////////////////////////////////////////////////////////////////////// /**/ void qwe( int q ) ///////////////////////////////////////////////////////////////////////////////// { asd ("asd!!!"); } ///////////////////////////////////////////////////////////////////////////////// /**/ void asd( string zxc ) ///////////////////////////////////////////////////////////////////////////////// { Print(zxc); }експерт:
#import "qwe.ex4" void qwe( int q ); int init() { qwe( 1 ); return(0); } int deinit() { return(0); } int start() { return(0); }лог:
можете объяснить? сервер МQ, проверка
if ( ( _OpenPrice - _StopLoss ) / point < stoplevel ) { return(0); }проходится, как ни в чём не бывало...
"руками" тоже не ставится
Проверим, спасибо.
А что можно объяснить, если Вы представили 4 неизвестные переменные?
Правильный вопрос - половина ответа.
То работает, то нет. Исходный график Н1, конечный Н6. сейчас 18:00 последняя свеча на Н6 от 06:00.
Правильный вопрос - половина ответа.
простите, думал - догадаетесь.
Ситуация такая - эксперт перед установкой ордера проверяет расстояние от уровня СтопЛосс( _StopLoss ) до уровня ( _OpenPrice ). Если оно меньше MarketInfo( Symbol(), MODE_STOPLEVEL ), то запрос на установку не даётся. Т.е. расстояние при проверке было больше, и запрос был дан. На что в логе выскочила ошибка - неправильный СЛ:
Вручную установить ордер по этим же значениям не удалось.
А прошу объяснить я, собственно, вот что: почему неправильный стоплосс? Если MODE_STOPLEVEL для EURJPY > 21 пункта, то не должна была пропустить проверка, а если меньше, то должен был установиться ордер.
спасибо. нашли ошибку в компилере. в ближайшем билде будет исправление
Проверяем ситуацию, похоже переборщили с контролем цен.
А где был рынок в момент установки отложенного ордера? Укажите Bid/Ask.
Похоже что Open price слишком близко к рынку стоял - на него тоже "Invalid S/L or T/P" получить можно.
Проверка на отступ стоплосса от цены открытия тут не причем.
Где проверка на отступ цены Open price от текущей цены Ask ?