Ответить
18.11.2013, 07:24
Аватар для ansol
ansol ansol на форуме Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,039
Поблагодарили 873 раз(а) / Репутация: 859
Да. Спасибо!
Эта фишка есть не у всех брокеров/ДЦ. Если не найдете такого пункта, то не удивляйтесь.
А еще есть фишка (тоже не у всех) - "закрыть перекрытые ордеры" - тогда рубит все ордеры по данной паре. Иногда удобно
22.11.2013, 19:44
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,031 раз(а) / Репутация: 9031
  • Отправить сообщение для eevviill с помощью Skype™
Гуру программирования, вопросик один.
В коде есть такая строка

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

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

Регистрация: 22.04.2010 / Сообщений: 2,039
Поблагодарили 873 раз(а) / Репутация: 859
Не int Ma_Bid_Diff
а double
Разве от этого пропадет ошибка деления на ноль?
Результат деления Bid на Point всяко целым должен быть.
Я делаю
PHP код:
dPoint MarketInfo(Symbol(), MODE_POINT
И потом спокойно делю на эту величину, где необходимо, у меня в проге это несколько раз делается.
А вот конкретно с переменной Point такой косяк обсуждался на форуме mql4.com, только я не помню, чем там дело кончилось, надо искать.
22.11.2013, 20:09
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

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

Я думаю что в его коде деление на 0 не там. Указал на ошибку в показаном куске кода.
22.11.2013, 20:13
Аватар для ansol
ansol ansol на форуме Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,039
Поблагодарили 873 раз(а) / Репутация: 859
А что Поинт уже 0 выдаёт?

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

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

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

Регистрация: 22.04.2010 / Сообщений: 2,039
Поблагодарили 873 раз(а) / Репутация: 859
А ну да.
Но сомневаюсь что Point ноль может выдать.
Или у тебя такое случалось?
Да нет же! Я просто читал на форуме mql4 (знаешь такой?), что есть проблема с делением на Point, там и пример чувак аналогичный приводил.
А у меня сделано как я написал выше и никаких косяков.
Вот и всё.
22.11.2013, 21:27
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,031 раз(а) / Репутация: 9031
  • Отправить сообщение для eevviill с помощью Skype™
Да нет же! Я просто читал на форуме mql4 (знаешь такой?), что есть проблема с делением на Point, там и пример чувак аналогичный приводил.
А у меня сделано как я написал выше и никаких косяков.
Вот и всё.
Дай ссылку темы.
22.11.2013, 22:27
Регистрация: 23.11.2011 / Адрес: Львов / Сообщений: 1,403
Поблагодарили 2,259 раз(а) / Репутация: 2260
  • Отправить сообщение для 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

ГДЕ ЕСТЬ ЗАКОН - ТАМ НЕТ СВОБОДЫ
23.11.2013, 08:56
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,031 раз(а) / Репутация: 9031
  • Отправить сообщение для eevviill с помощью 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 ) ); }
[свернуть]
Точно не правильно. Скинь индикатор и скрин какие тебе нужно стрелки.
там где 0 И 2 надо 0 ИЛИ 2
в другой строке аналогично

Последний раз редактировалось eevviill; 23.11.2013 в 09:36.
24.11.2013, 03:54
Аватар для ansol
ansol ansol на форуме Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,039
Поблагодарили 873 раз(а) / Репутация: 859
Дай ссылку темы.
_http://forum.mql4.com/ru/25966

Последний раз редактировалось NSerega; 24.11.2013 в 19:37.
24.11.2013, 04:34
Аватар для _SERG_
_SERG_ _SERG_ вне форума Активный участник
Регистрация: 21.07.2009 / Сообщений: 271
Поблагодарили 86 раз(а) / Репутация: 86
НАРОД!
Давно обхожу тему углов в 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.
24.11.2013, 07:00
Регистрация: 13.03.2009 / Сообщений: 2,362
Поблагодарили 1,967 раз(а) / Репутация: 2044
НАРОД!
Давно обхожу тему углов в 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
Чужие программы не переделываю!
24.11.2013, 07:55
Аватар для ansol
ansol ansol на форуме Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,039
Поблагодарили 873 раз(а) / Репутация: 859
Именно по этому углы на графике весьма относительны. Есть в инструментарии трендовая линия по углу. Она хорошо демонстрирует что с графиком она связана только одной точкой.
Можно построить линию с углом например 45 градусов. Меняя маштаб или период графика. График пересекает линию в разных точках. Только точка привязки линии неизменна.
Он вроде не про это спросил, а про то, что время - целая координата, а задаются две double
24.11.2013, 08:43
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,031 раз(а) / Репутация: 9031
  • Отправить сообщение для eevviill с помощью Skype™
_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.
24.11.2013, 08:50
Аватар для ansol
ansol ansol на форуме Местный знаток
За призовое место в конкурсе 

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

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,031 раз(а) / Репутация: 9031
  • Отправить сообщение для eevviill с помощью Skype™
За что купил...
Попробуй поделить какой-нибудь ненормализванный 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
24.11.2013, 09:32
Аватар для ansol
ansol ansol на форуме Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,039
Поблагодарили 873 раз(а) / Репутация: 859
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 знаков после запятой будут.

В приципе, баги искать, наверно, интересное занятие?
24.11.2013, 09:46
Аватар для ansol
ansol ansol на форуме Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,039
Поблагодарили 873 раз(а) / Репутация: 859
Вот, кстати, интересный вопрос, хотя и не имеющий (вроде бы особого значения для программирования).
Я исправил сову в одном терминале, скачанном с метаквотов, получил исходник длиной 31733 байт, откомпилировал, получил ех4 длиной 20442 байт.
Копирую исходник и компилирую там (без модификаций и т.п.) - имею ех4 диной 20690
Это чего они там прибавляют, защиту от декомпила что-ли?
24.11.2013, 11:04
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

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

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


Опции темы

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

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



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


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