Ответ
 
Опции темы
Старый 18.11.2013, 07:24   #1961 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от eevviill Посмотреть сообщение
Да. Спасибо!
Эта фишка есть не у всех брокеров/ДЦ. Если не найдете такого пункта, то не удивляйтесь.
А еще есть фишка (тоже не у всех) - "закрыть перекрытые ордеры" - тогда рубит все ордеры по данной паре. Иногда удобно
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (18.11.2013)
Старый 22.11.2013, 19:44   #1962 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от shvek Посмотреть сообщение
Гуру программирования, вопросик один.
В коде есть такая строка

int Ma_Bid_Diff = MathAbs(iMA_Signal - Bid)/Point;

Видимо, при 5-значных котировках платформа мт4 считает величину Point пренебрежимо малой и при делении приравнивает к нулю.
И возникает ошибка "zero divide".
Как бы это исправить?
Подскажите кусочек кода.
Не int Ma_Bid_Diff
а double
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2013, 20:06   #1963 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от eevviill Посмотреть сообщение
Не int Ma_Bid_Diff
а double
Разве от этого пропадет ошибка деления на ноль?
Результат деления Bid на Point всяко целым должен быть.
Я делаю
PHP код:
dPoint MarketInfo(Symbol(), MODE_POINT
И потом спокойно делю на эту величину, где необходимо, у меня в проге это несколько раз делается.
А вот конкретно с переменной Point такой косяк обсуждался на форуме mql4.com, только я не помню, чем там дело кончилось, надо искать.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (22.11.2013)
Старый 22.11.2013, 20:09   #1964 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от ansol Посмотреть сообщение
Разве от этого пропадет ошибка деления на ноль?
Результат деления Bid на Point всяко целым должен быть.
Я делаю
PHP код:
dPoint MarketInfo(Symbol(), MODE_POINT
И потом спокойно делю на эту величину, где необходимо, у меня в проге это несколько раз делается.
А вот конкретно с переменной Point такой косяк обсуждался на форуме mql4.com, только я не помню, чем там дело кончилось, надо искать.
А что Поинт уже 0 выдаёт?

Я думаю что в его коде деление на 0 не там. Указал на ошибку в показаном куске кода.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2013, 20:13   #1965 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от eevviill Посмотреть сообщение
А что Поинт уже 0 выдаёт?

Я думаю что в его коде деление на 0 не там. Указал на ошибку в показаном куске кода.
Я не знаю, что выдает Point, но при делении на него такая ошибка возникает. А в варианте как у меня не возникает. И главное, если переменная должна быть целой, зачем ее объявлять double? Чтобы памяти под нее больше выделилось?
В смысле, неправильно это, даже если и поможет. Косяк!
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (22.11.2013)
Старый 22.11.2013, 20:26   #1966 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от ansol Посмотреть сообщение
Я не знаю, что выдает Point, но при делении на него такая ошибка возникает. А в варианте как у меня не возникает. И главное, если переменная должна быть целой, зачем ее объявлять double? Чтобы памяти под нее больше выделилось?
В смысле, неправильно это, даже если и поможет. Косяк!
А ну да.
Но сомневаюсь что Point ноль может выдать.
Или у тебя такое случалось?

Самое непонятное что было у меня. Это когда в советнике(не мной написаный) меджик был double. Нигде в коде переприсвоения данных не было. И -239234987 выдавал.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2013, 20:37   #1967 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от eevviill Посмотреть сообщение
А ну да.
Но сомневаюсь что Point ноль может выдать.
Или у тебя такое случалось?
Да нет же! Я просто читал на форуме mql4 (знаешь такой?), что есть проблема с делением на Point, там и пример чувак аналогичный приводил.
А у меня сделано как я написал выше и никаких косяков.
Вот и всё.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (22.11.2013)
Старый 22.11.2013, 21:27   #1968 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от ansol Посмотреть сообщение
Да нет же! Я просто читал на форуме mql4 (знаешь такой?), что есть проблема с делением на Point, там и пример чувак аналогичный приводил.
А у меня сделано как я написал выше и никаких косяков.
Вот и всё.
Дай ссылку темы.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2013, 22:27   #1969 (permalink)
 
Аватар для volodymyr67
 
Регистрация: 23.11.2011
Адрес: Львов
Сообщений: 1,396
Репутация: 2258
volodymyr67 volodymyr67 volodymyr67 volodymyr67 volodymyr67 volodymyr67 volodymyr67 volodymyr67 volodymyr67 volodymyr67 volodymyr67
Сказал(а) спасибо: 1,645
Поблагодарили 2,257 раз(а) в 803 сообщениях
Поинты: 10
Отправить сообщение для volodymyr67 с помощью Skype™
подскажите пожалоста как мне правильно вписать сигналы индикатора есди вот такая ситуацыя

Скрытый текст


SetIndexBuffer(1, hlobda_224);
SetIndexBuffer(2, hlobda_228);
SetIndexBuffer(3, hlobda_232);
SetIndexStyle(0, DRAW_ARROW);
SetIndexStyle(1, DRAW_ARROW);
SetIndexStyle(2, DRAW_ARROW);
SetIndexStyle(3, DRAW_ARROW);
SetIndexArrow(0, 234);
SetIndexArrow(1, 233);
SetIndexArrow(2, 234);
SetIndexArrow(3, 233);

SetIndexEmptyValue(0, 0.0);
SetIndexEmptyValue(1, 0.0);
SetIndexEmptyValue(2, 0.0);
SetIndexEmptyValue(3, 0.0);
[свернуть]


вто к примеру так будит правильно или нет !?

Скрытый текст

double UpArr(int bar){ return( iCustom(NULL, timeframe, "RSI_M", RsiPrice1, Interpolate, 0, 2, bar ) ); }
double DnArr(int bar){ return( iCustom(NULL, timeframe, "RSI_M", RsiPrice1, Interpolate, 1, 3, bar ) ); }
[свернуть]

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
С уважением Владимир!
http://forexsystems.ru/poleznye-dlya...tml#post467397

ГДЕ ЕСТЬ ЗАКОН - ТАМ НЕТ СВОБОДЫ
volodymyr67 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 23.11.2013, 08:56   #1970 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от volodymyr67 Посмотреть сообщение
подскажите пожалоста как мне правильно вписать сигналы индикатора есди вот такая ситуацыя

Скрытый текст


SetIndexBuffer(1, hlobda_224);
SetIndexBuffer(2, hlobda_228);
SetIndexBuffer(3, hlobda_232);
SetIndexStyle(0, DRAW_ARROW);
SetIndexStyle(1, DRAW_ARROW);
SetIndexStyle(2, DRAW_ARROW);
SetIndexStyle(3, DRAW_ARROW);
SetIndexArrow(0, 234);
SetIndexArrow(1, 233);
SetIndexArrow(2, 234);
SetIndexArrow(3, 233);

SetIndexEmptyValue(0, 0.0);
SetIndexEmptyValue(1, 0.0);
SetIndexEmptyValue(2, 0.0);
SetIndexEmptyValue(3, 0.0);
[свернуть]


вто к примеру так будит правильно или нет !?

Скрытый текст

double UpArr(int bar){ return( iCustom(NULL, timeframe, "RSI_M", RsiPrice1, Interpolate, 0, 2, bar ) ); }
double DnArr(int bar){ return( iCustom(NULL, timeframe, "RSI_M", RsiPrice1, Interpolate, 1, 3, bar ) ); }
[свернуть]
Точно не правильно. Скинь индикатор и скрин какие тебе нужно стрелки.
там где 0 И 2 надо 0 ИЛИ 2
в другой строке аналогично

Последний раз редактировалось eevviill; 23.11.2013 в 09:36.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 24.11.2013, 03:54   #1971 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от eevviill Посмотреть сообщение
Дай ссылку темы.
_http://forum.mql4.com/ru/25966

Последний раз редактировалось NSerega; 24.11.2013 в 19:37.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (24.11.2013)
Старый 24.11.2013, 04:34   #1972 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 242
Репутация: 75
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 75 раз(а) в 61 сообщениях
Поинты: 284
НАРОД!
Давно обхожу тему углов в MQL.
Причина банальная, не понимаю как это :

Пример:
double pi=3.1415926535;
double x, y;
x=pi/2;
y=MathSin(x);
Print("MathSin(",x,") = ",y);
y=MathCos(x);
Print("MathCos(",x,") = ",y);
// Вывод: MathSin(1.5708)=1
// MathCos(1.5708)=0

Что такое тригонометрия, знаю.

Смущает, "double x, y;" Оба операнда даблы, а координаты графика цена/время?

Какие мнения?

Последний раз редактировалось _SERG_; 24.11.2013 в 04:37.
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 24.11.2013, 07:00   #1973 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от _SERG_ Посмотреть сообщение
НАРОД!
Давно обхожу тему углов в MQL.
Причина банальная, не понимаю как это :

Пример:
double pi=3.1415926535;
double x, y;
x=pi/2;
y=MathSin(x);
Print("MathSin(",x,") = ",y);
y=MathCos(x);
Print("MathCos(",x,") = ",y);
// Вывод: MathSin(1.5708)=1
// MathCos(1.5708)=0

Что такое тригонометрия, знаю.

Смущает, "double x, y;" Оба операнда даблы, а координаты графика цена/время?

Какие мнения?
Именно по этому углы на графике весьма относительны. Есть в инструментарии трендовая линия по углу. Она хорошо демонстрирует что с графиком она связана только одной точкой.
Можно построить линию с углом например 45 градусов. Меняя маштаб или период графика. График пересекает линию в разных точках. Только точка привязки линии неизменна.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 24.11.2013, 07:55   #1974 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от Ugar Посмотреть сообщение
Именно по этому углы на графике весьма относительны. Есть в инструментарии трендовая линия по углу. Она хорошо демонстрирует что с графиком она связана только одной точкой.
Можно построить линию с углом например 45 градусов. Меняя маштаб или период графика. График пересекает линию в разных точках. Только точка привязки линии неизменна.
Он вроде не про это спросил, а про то, что время - целая координата, а задаются две double
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 24.11.2013, 08:43   #1975 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от ansol Посмотреть сообщение
_http://forum.mql4.com/ru/25966
Спасибо, но автор у автора темы проблема с
PHP код:
double marginreq=MarketInfoSymbol(), MODE_MARGINREQUIRED);
double vol=(bal*0.1)/marginreq
У другого в теме как бы с Point, но весь его код не видно. Вдруг у него где то в коде есть на 0 деление?
Если нету, значит терминал в Альпари очень "хороший."

Последний раз редактировалось NSerega; 24.11.2013 в 19:38.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 24.11.2013, 08:50   #1976 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от eevviill Посмотреть сообщение
Спасибо, но автор у автора темы проблема с
PHP код:
double marginreq=MarketInfoSymbol(), MODE_MARGINREQUIRED);
double vol=(bal*0.1)/marginreq
У другого в теме как бы с Point, но весь его код не видно. Вдруг у него где то в коде есть на 0 деление?
Если нету, значит терминал в Альпари очень "хороший."
За что купил...
Попробуй поделить какой-нибудь ненормализванный double на Point в пятизнаке. А нормализуешь - все ОК, типа.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (24.11.2013)
Старый 24.11.2013, 09:09   #1977 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от ansol Посмотреть сообщение
За что купил...
Попробуй поделить какой-нибудь ненормализванный double на Point в пятизнаке. А нормализуешь - все ОК, типа.
PHP код:
int poi=MarketInfo(Symbol(),MODE_MARGINREQUIRED)/Point;
Alert(poi);

poi=Bid/Point;
Alert(poi);

poi=(Bid-234*Point)/Point;
Alert(poi); 
zero divide нету.

Последний раз редактировалось eevviill; 24.11.2013 в 09:11. Причина: a-i
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 24.11.2013, 09:32   #1978 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Сообщение от eevviill Посмотреть сообщение
PHP код:
int poi=MarketInfo(Symbol(),MODE_MARGINREQUIRED)/Point;
Alert(poi);

poi=Bid/Point;
Alert(poi);

poi=(Bid-234*Point)/Point;
Alert(poi); 
zero divide нету.
Да ХЗ я!
Ну могу занаяться измышлениями, как тут один пользователь выше - он вам надо?
У тебя в примере все переменные нормализованные используются. Напиши не 234, а 3.1415926... подлиннее че-нибудь, а лучше результат деления какой-нибудь мутный, где реально 15 знаков после запятой будут.

В приципе, баги искать, наверно, интересное занятие?
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (24.11.2013)
Старый 24.11.2013, 09:46   #1979 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,010
Репутация: 830
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 844 раз(а) в 555 сообщениях
Поинты: 1310
Вот, кстати, интересный вопрос, хотя и не имеющий (вроде бы особого значения для программирования).
Я исправил сову в одном терминале, скачанном с метаквотов, получил исходник длиной 31733 байт, откомпилировал, получил ех4 длиной 20442 байт.
Копирую исходник и компилирую там (без модификаций и т.п.) - имею ех4 диной 20690
Это чего они там прибавляют, защиту от декомпила что-ли?
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 24.11.2013, 11:04   #1980 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от ansol Посмотреть сообщение
Вот, кстати, интересный вопрос, хотя и не имеющий (вроде бы особого значения для программирования).
Я исправил сову в одном терминале, скачанном с метаквотов, получил исходник длиной 31733 байт, откомпилировал, получил ех4 длиной 20442 байт.
Копирую исходник и компилирую там (без модификаций и т.п.) - имею ех4 диной 20690
Это чего они там прибавляют, защиту от декомпила что-ли?
Может через то что разными версиями(билдами) копилятора скопилировано?
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

Метки
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