ansol
Местный знаток
Да. Спасибо!
Эта фишка есть не у всех брокеров/ДЦ. Если не найдете такого пункта, то не удивляйтесь.
А еще есть фишка (тоже не у всех) - "закрыть перекрытые ордеры" - тогда рубит все ордеры по данной паре. Иногда удобно
Да. Спасибо!
Гуру программирования, вопросик один.
В коде есть такая строка
int Ma_Bid_Diff = MathAbs(iMA_Signal - Bid)/Point;
Видимо, при 5-значных котировках платформа мт4 считает величину Point пренебрежимо малой и при делении приравнивает к нулю.
И возникает ошибка "zero divide".
Как бы это исправить?
Подскажите кусочек кода.
Не int Ma_Bid_Diff
а double
dPoint = MarketInfo(Symbol(), MODE_POINT)
А что Поинт уже 0 выдаёт?Разве от этого пропадет ошибка деления на ноль?
Результат деления Bid на Point всяко целым должен быть.
Я делаю
И потом спокойно делю на эту величину, где необходимо, у меня в проге это несколько раз делается.PHP:dPoint = MarketInfo(Symbol(), MODE_POINT)
А вот конкретно с переменной Point такой косяк обсуждался на форуме mql4.com, только я не помню, чем там дело кончилось, надо искать.
А что Поинт уже 0 выдаёт?
Я думаю что в его коде деление на 0 не там. Указал на ошибку в показаном куске кода.
А ну да.Я не знаю, что выдает Point, но при делении на него такая ошибка возникает. А в варианте как у меня не возникает. И главное, если переменная должна быть целой, зачем ее объявлять double? Чтобы памяти под нее больше выделилось?
В смысле, неправильно это, даже если и поможет. Косяк!
Да нет же! Я просто читал на форуме mql4 (знаешь такой?), что есть проблема с делением на Point, там и пример чувак аналогичный приводил.А ну да.
Но сомневаюсь что Point ноль может выдать.
Или у тебя такое случалось?
Дай ссылку темы.Да нет же! Я просто читал на форуме mql4 (знаешь такой?), что есть проблема с делением на Point, там и пример чувак аналогичный приводил.
А у меня сделано как я написал выше и никаких косяков.
Вот и всё.
Точно не правильно. Скинь индикатор и скрин какие тебе нужно стрелки.подскажите пожалоста как мне правильно вписать сигналы индикатора есди вот такая ситуацыя
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 ) ); }
Дай ссылку темы.
Именно по этому углы на графике весьма относительны. Есть в инструментарии трендовая линия по углу. Она хорошо демонстрирует что с графиком она связана только одной точкой.НАРОД!
Давно обхожу тему углов в 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://forum.mql4.com/ru/25966
double marginreq=MarketInfo( Symbol(), MODE_MARGINREQUIRED);
double vol=(bal*0.1)/marginreq;
Спасибо, но автор у автора темы проблема с
PHP:double marginreq=MarketInfo( Symbol(), MODE_MARGINREQUIRED); double vol=(bal*0.1)/marginreq;
У другого в теме как бы с Point, но весь его код не видно. Вдруг у него где то в коде есть на 0 деление?
Если нету, значит терминал в Альпари очень "хороший."
За что купил...
Попробуй поделить какой-нибудь ненормализванный double на Point в пятизнаке. А нормализуешь - все ОК, типа.
int poi=MarketInfo(Symbol(),MODE_MARGINREQUIRED)/Point;
Alert(poi);
poi=Bid/Point;
Alert(poi);
poi=(Bid-234*Point)/Point;
Alert(poi);
Да ХЗ я!zero divide нету.PHP:int poi=MarketInfo(Symbol(),MODE_MARGINREQUIRED)/Point; Alert(poi); poi=Bid/Point; Alert(poi); poi=(Bid-234*Point)/Point; Alert(poi);
Может через то что разными версиями(билдами) копилятора скопилировано?Вот, кстати, интересный вопрос, хотя и не имеющий (вроде бы особого значения для программирования).
Я исправил сову в одном терминале, скачанном с метаквотов, получил исходник длиной 31733 байт, откомпилировал, получил ех4 длиной 20442 байт.
Копирую исходник и компилирую там (без модификаций и т.п.) - имею ех4 диной 20690
Это чего они там прибавляют, защиту от декомпила что-ли?