Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 69

 

Здравствуйте!

Объясните пожалуйста, кто по опытней, зачем нужно использовать функцию NormalizeDouble "во всех рассчитываемых значениях?" Я уже с десяток советников написал, везде без нее обходился. Все работает. А сейчас перелистывал учебник и наткнулся на примеры, не понимаю их логику. Вот пример:

if (NormalizeDouble(SL,Digits)<NormalizeDouble(Bid-TS*Point,Digits))
{
SL=Bid-TS*Point;
string Text="Buy "; // Текст для Buy
Modify=true; // Назначен к модифи.
}

Зачем здесь NormalizeDouble, ведь и без нее все работает чудесно. Можно сделать код таким:

If(SL<Bid-TS*Point)
{
SL=Bid-TS*Point;
string Text="Buy "; // Текст для Buy
Modify=true; // Назначен к модифи.

}

И результат будет тот же.

Так в чем же смысл? Зачем вообще что-то округляь, если у меня в уравнении знак (<) а не (==)?

 
ваше право
 

Доброго времени суток.

Помогите разобраться.

dist = MathAbs((NormalizeDouble(Bid,Digits)-
NormalizeDouble(ObjectGetValueByShift(TrendLineName,0),Digits))*MathPow(10,Digits));

Код находит расстояние от текущего уровня цены до трендовой по имени TrendLineName. Но есть проблема: видимо трендовая неточно передается между таймами, а потому на разных таймах расстояние до цены получается совсем разное. Как обойти эту проблему? В идеале, если даже трендовая отображается только на Н1, при открытом тайме W1 (фактически при любом открытом тайме) расчетное расстояние должно быть одинаковым.

 
MauzerVII:
Подскажите какое максимальное количество элементов в массиве?
10 000 000
 
Если нет сравнения на равенство, то можете не париться. Нормализация нужна еще при подстановке цен и лотов в функции открытия и модификации.
 
Здравствуйте, недавно начал изучать mql4, сейчас разрабатываю советник на 4 индюках. Код компилится, но в тестере, не работает, т.е. результатов нет. Прошу помочь с устранением логических или других ошибок, часть кода вот, как мне кажется проблема может быть в индексах линии индикатора, заранее спасибо
 // Торговые критерии
   FT_t=iCustom(NULL, 0, "ForexTrend", 1, 0);                       // forex trend если что менять индекс на 2 или 3
   TL_t=iCustom(NULL, 0, "TrendLord", 1, 0);                          // trend lord
   HA_t=iCustom(NULL, 0, "Heiken_Ashi_Smoothed", 1, 0);               // heiken ashi sm. менять индекс на 2-3
   FI_t=iForce(NULL, 0, Period_FI,MODE_EMA,PRICE_CLOSE,0);            // FI

   {
   if ((HA_t == Lime) && FT_t == DeepSkyBlue && TL_t == LightSkyBlue && FI_t >= 0)   // условия 
   {
   Opn_B=true;
   }
   if (HA_t == Red || FT_t == Red || TL_t == LightSalmon || FI_t <= 0)
   {
   Cls_B=true;
   }
   }
   {
   if (HA_t == Red && FT_t == Red && TL_t == LightSalmon && FI_t <= 0)
   {
   Opn_S=true;
   }
   if (HA_t == Lime || FT_t == DeepSkyBlue || TL_t == LightSkyBlue || FI_t >= 0)
   {
   Cls_S=true;
   }
   }
 
bistreevseh:
Здравствуйте, недавно начал изучать mql4, сейчас разрабатываю советник на 4 индюках. Код компилится, но в тестере, не работает, т.е. результатов нет. Прошу помочь с устранением логических или других ошибок, часть кода вот, как мне кажется проблема может быть в индексах линии индикатора, заранее спасибо

Вы сравниваете значение буфера с цветом, которым этот буфер отображается.

Поднимите глаза на верх сайта - материалов более чем достаточно, чтоб хотя бы в основах разобраться.

 
bistreevseh:
Здравствуйте, недавно начал изучать mql4, сейчас разрабатываю советник на 4 индюках. Код компилится, но в тестере, не работает, т.е. результатов нет. Прошу помочь с устранением логических или других ошибок, часть кода вот, как мне кажется проблема может быть в индексах линии индикатора, заранее спасибо


Так, чисто из любопытства, у Вас эти индюки больше чем с одной линией? Вы везде используете вторую, это так и должно быть?

И про тестер, в каком режиме используете?

И про код, Вы сравниваете дробные числа без нормализации. Равенства добиться будет сложно.

 

Как отобразить индикатор на дневном графике, сигнал для которого рассчитывается на основе показаний 15 минутного таймфрейма ЕМА?

 
VladislavVG:

Вы сравниваете значение буфера с цветом, которым этот буфер отображается.

Поднимите глаза на верх сайта - материалов более чем достаточно, чтоб хотя бы в основах разобраться.


Прошу прощения за бред, написанный выше, только начал изучать, сложно сразу вникнуть. Весь день учился, понял про буфферы. И назрел у меня такой вопрос, есть индикатор у меня, кастомный, идёт гистограммой, причём все значения максимальные, имеет значение, лишь цвет баров в гистограмме, входных параметров у него нет, буфера 2 : 0 - с красным цветом бара, и 1- синий цвет бара, Империческим методом я выяснил, что в 0 буфер, не меняется значение, а в 1 меняется. Как написать критерии для сделки не могу понять, пожалуйста объясните как, заранее спасибо.

Roger:


Так, чисто из любопытства, у Вас эти индюки больше чем с одной линией? Вы везде используете вторую, это так и должно быть?

И про тестер, в каком режиме используете?

И про код, Вы сравниваете дробные числа без нормализации. Равенства добиться будет сложно.

После верхнего сообщения, думаю вопросов больше нет)) насчёт тестера, не особо понял, с визуалом или без?

Причина обращения: