Ответ
 
Опции темы
Старый 11.07.2014, 10:21   #2861 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от qqmber Посмотреть сообщение
Для начала неплохо было бы закрывать BUY по Bid, SELL по Ask.
Да так и сделано - я ж скопировал код функции из работающего советника, могу полный текст функции привести в обоих случаях. Боюсь, что разбираться никто не захочет, а я заблудился где-то
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2014, 10:37   #2862 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от ansol Посмотреть сообщение
Да так и сделано - я ж скопировал код функции из работающего советника, могу полный текст функции привести в обоих случаях. Боюсь, что разбираться никто не захочет, а я заблудился где-то
Ты что-то сам себе противоречишь, постом выше ты же написал наоборот.
Давай текст, посмотрю.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2014, 11:44   #2863 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от qqmber Посмотреть сообщение
Ты что-то сам себе противоречишь, постом выше ты же написал наоборот.
Давай текст, посмотрю.
Да не, все верно было. Где-то в другом месте логику нарушил, буду искать
PHP код:
iType OP_SELLsType "SELL"dPrice Ask;
 
бла-бла-бла
if(OrderProfit() < && OrderType() == iType)
  {
      
iProfit OrderProfit()/(dRx*OrderLots()*MarketInfo(_SymbolMODE_TICKVALUE));
         if(
iProfit Stop*dATR/Point && dProfit*dRx OrderProfit() > 0)
             {
                 
fClose OrderClose(OrderTicket(), OrderLots(), dPriceiPipsclrNONE);
                     if(
fClose)
                         {
                             
Comment("Epic Fail: "OrderComment(), "\nwith "_Symbol"/"sType"\nLoss: "OrderProfit(),
                             
"$ R"DoubleToStr(dATR/Point0), "\n"TimeToStr(TimeLocal(),TIME_MINUTES));
                              return(
fClose);
                           } else {
                                        
int err =  GetLastError();
                                        Print(
"error(",err,"): "ErrorDescription(err), " #"OrderTicket(), " "OrderComment());
                                        }
                                  }
                         } 
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2014, 12:57   #2864 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Напиши
Код:
fClose = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), iPips, clrNONE);
и жизнь наладится.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
abuuuuuu (11.07.2014), Ugar (11.07.2014)
Старый 11.07.2014, 13:43   #2865 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от qqmber Посмотреть сообщение
Напиши
PHP код:
fClose OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), iPipsclrNONE); 
и жизнь наладится.
Как это OrderClosePrice?!
Оно же еще не закрытое! В хелпе приводится пример с выборкой из MODE_HISTORY для этого параметра, а для MODE_TRADES ХЗ что будет вообще, скорее всего "0"
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2014, 13:58   #2866 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от ansol Посмотреть сообщение
Как это OrderClosePrice?!
Оно же еще не закрытое!
Ему незакрытому OrderClosePrice() вернет правильную цену Bid или Ask в зависимости от направления позиции. Недокументированная фича (а зря - удобно), работала всегда и будет работать.

Последний раз редактировалось qqmber; 11.07.2014 в 14:18.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
AlexeyVik (15.07.2014), ansol (11.07.2014)
Старый 11.07.2014, 14:31   #2867 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от qqmber Посмотреть сообщение
Ему незакрытому OrderClosePrice() вернет правильную цену Bid или Ask в зависимости от направления позиции. Недокументированная фича (а зря - удобно), работала всегда и будет работать.
Ща проверим!
Это ж два if экономится в коде! Елы-палы!
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2014, 16:37   #2868 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от ansol Посмотреть сообщение
Ща проверим!
Это ж два if экономится в коде! Елы-палы!
Ну да, ну да. Хорошо еще иметь в виду, что при маркет исполнении этот параметр вообще игнорируется, хоть свой день рождения поставь
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2014, 16:43   #2869 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от qqmber Посмотреть сообщение
Ну да, ну да. Хорошо еще иметь в виду, что при маркет исполнении этот параметр вообще игнорируется, хоть свой день рождения поставь
Не игнорируется, однако! В тестере (я же указал выше) выкидывает:
Error 138 requote
Это если перепутать Ask и Bid для SELL и BUY

А вот с OrderClosePrice все ОК работает - я уже проверил в тестере, счас можно на реале посмотреть, если до окончания торгов такой случай представится(иначе только на следующей неделе уточнить удастся)

Последний раз редактировалось ansol; 11.07.2014 в 16:45.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2014, 17:01   #2870 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от ansol Посмотреть сообщение
Не игнорируется, однако! В тестере (я же указал выше) выкидывает:
Error 138 requote
Это если перепутать Ask и Bid для SELL и BUY

А вот с OrderClosePrice все ОК работает - я уже проверил в тестере, счас можно на реале посмотреть, если до окончания торгов такой случай представится(иначе только на следующей неделе уточнить удастся)
Тестер это довольно ограниченная модель вселенной
Я про маркет исполнение писал. Там нет и не может быть реквот, маркет ордер уходит вообще без цены, почем зальют, ту и получишь.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 13.07.2014, 13:36   #2871 (permalink)
Новичок форума
 
Аватар для ctmcn
 
Регистрация: 02.04.2011
Сообщений: 35
Репутация: 7
ctmcn
Сказал(а) спасибо: 12
Поблагодарили 6 раз(а) в 6 сообщениях
Поинты: 36
Здравствуйте !
Помогите, пожалуйста. Типовые варнинги (2шт.) при проверке МЕ от билдов 6ХХ.
Что они такое и как от них избавиться.
С уважением.
Вложения:
Тип файла: mq4 Bollinger Bands_Stop_v1.mq4 (6.3 Кб, 8 просмотров)
ctmcn вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 13.07.2014, 13:41   #2872 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Никак. Убрать строчку
PHP код:
#property strict 
Доходит до смешного, пишем
PHP код:
round 
? а оно предупреждение выдает в стиле "часть данных может потеряться"
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 13.07.2014, 16:58   #2873 (permalink)
Новичок форума
 
Аватар для ctmcn
 
Регистрация: 02.04.2011
Сообщений: 35
Репутация: 7
ctmcn
Сказал(а) спасибо: 12
Поблагодарили 6 раз(а) в 6 сообщениях
Поинты: 36
Сообщение от ansol Посмотреть сообщение
Никак. Убрать строчку
PHP код:
#property strict 
Доходит до смешного, пишем
PHP код:
round 
? а оно предупреждение выдает в стиле "часть данных может потеряться"
Вообще-то все убрал сам - озарение наверное посетило.
Так, что варнингов быть не должно в принципе.
ctmcn вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Старый 13.07.2014, 17:05   #2874 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от ctmcn Посмотреть сообщение
Вообще-то все убрал сам - озарение наверное посетило.
Так, что варнингов быть не должно в принципе.
Их и нет в нормальном языке, только в MQL4 есть
Типа:
PHP код:
double a 1.5;
int b round(a); 
Получаем:
possible loss of data due to type conversion моясова.mq4 1 10
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 13.07.2014, 18:19   #2875 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от ansol Посмотреть сообщение
Их и нет в нормальном языке, только в MQL4 есть
Типа:
PHP код:
double a 1.5;
int b round(a); 
Получаем:
possible loss of data due to type conversion моясова.mq4 1 10
Их и в MQL4 не будет у внимательных программистов.
Функция MathRound возвращает число типа double _http://docs.mql4.com/ru/math/mathround а в примечании сказано только о том что вместо функции MathRound() можно использовать функцию round(). и ничего об изменении типа данных.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 13.07.2014, 18:20   #2876 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от AlexeyVik Посмотреть сообщение
Их и в MQL4 не будет у внимательных программистов.
Функция MathRound возвращает число типа double _http://docs.mql4.com/ru/math/mathround а в примечании сказано только о том что вместо функции MathRound() можно использовать функцию round(). и ничего об изменении типа данных.
Это всё понятно, внимательный ты наш. Как получить целое число из double?

Я уж не говорю о том, что спред по ихнему почему-то тоже double, хотя на самом деле целое:
PHP код:
int spread MarketInfo(_SymbolMODE_SPREAD
выдает такое же "предупреждение". Это от большого ума, специально, для выявления "внимательных" программистов, ога

Последний раз редактировалось ansol; 13.07.2014 в 18:23.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 13.07.2014, 18:30   #2877 (permalink)
Почётный гражданин
 
Аватар для Dobryj
 
Регистрация: 07.06.2012
Сообщений: 222
Репутация: 325
Dobryj Dobryj Dobryj Dobryj
Сказал(а) спасибо: 384
Поблагодарили 293 раз(а) в 127 сообщениях
Поинты: 100
Всем привет , Может у кого есть прошлый билд МТ дабы скомпилить индикатор , писал индикатор год назад остался в открытом коде сейчас компилирую выдает кучу ошибок , печаль ))
И возможно ли такое провернуть , скомпилить в старом и закинуть под новый билд или придется все таки исправлять все ошибки ?
Заранее спасибо !
Dobryj вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.07.2014, 07:35   #2878 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от ansol Посмотреть сообщение
Это всё понятно, внимательный ты наш. Как получить целое число из double?
Кроме внимательности нужно ещё и умение думать...
int a = 1;
double b = 1.0;
равны-ли a и b целое-ли число b?
Сообщение от ansol Посмотреть сообщение
Я уж не говорю о том, что спред по ихнему почему-то тоже double, хотя на самом деле целое:
PHP код:
int spread MarketInfo(_SymbolMODE_SPREAD
выдает такое же "предупреждение". Это от большого ума, специально, для выявления "внимательных" программистов, ога
А что касается спреда, никто не знает что нас ждёт в ближайшем будущем... никто не может гарантировать что "завтра" не добавят ещё и шестой знак в котировки.
А объявить переменную типа int для функции возвращающей значение типа double можно только от недостатка ума.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
DomovenokBrest (26.07.2015)
Старый 14.07.2014, 07:59   #2879 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от Dobryj Посмотреть сообщение
Всем привет , Может у кого есть прошлый билд МТ дабы скомпилить индикатор , писал индикатор год назад остался в открытом коде сейчас компилирую выдает кучу ошибок , печаль ))
И возможно ли такое провернуть , скомпилить в старом и закинуть под новый билд или придется все таки исправлять все ошибки ?
Заранее спасибо !
Держи 451, но я не знаю не обновится-ли он при запуске. Лучше, для подстраховки, найти папку WebInstall и её удалить. Или удалить всё её содержимое, в ней находятся файлы обновления МТ.
Вложения:
Тип файла: rar Meta451.rar (1.83 Мб, 5 просмотров)
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Dobryj (15.07.2014)
Старый 14.07.2014, 08:16   #2880 (permalink)
Новичок форума
 
Аватар для ctmcn
 
Регистрация: 02.04.2011
Сообщений: 35
Репутация: 7
ctmcn
Сказал(а) спасибо: 12
Поблагодарили 6 раз(а) в 6 сообщениях
Поинты: 36
МЕ от 509 билда
Вложения:
Тип файла: zip ME_509.zip (1.72 Мб, 8 просмотров)
ctmcn вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Dobryj (15.07.2014)
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 16:37. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
SEO by vBSEO