[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 68

 
sergeev:

верно выскакивает.

вам надо Bid и Ask брать из функции MarketInfo

типа - ask= MarketInfo(OrderSymbol(), MODE_ASK);

и нормализовать не забывайте
ask=NormalizeDouble(ask, MarketInfo(OrderSymbol(), MODE_DIGITS));

 

Скажите, пожалуйста, вот вы делаете процесс нормализации,

а для чего он выполняется? объясните если вам не сложно.

 
iv_danko:

Скажите, пожалуйста, вот вы делаете процесс нормализации,

а для чего он выполняется? объясните если вам не сложно.


double NormalizeDouble( double value, int digits)

Округление числа с плавающей запятой до указанной точности.
Рассчитываемые значения StopLoss, TakeProfit, а также значения цены открытия отложенных ордеров должны быть нормализованы с точностью, значение которой хранится в предопределенной переменной Digits.

Ошибка может возникать при не нормализированных ценах

 
Vinin:

Извини. Совсем забыл

Спасибо за индикатор, но это не то. Условие (ma13_0-ma55_0)*(ma13_1-ma55_1)<0 показывает было пересечение машек или нет (по нему сделал отдельный индикатор). У Вас входы по пересечению, а это не совсем то. Хочется отфилтровать стрелки так, чтоб показывало только первую стрелку после изменения направления.

Стрелки вашего индикатора крупные. Маленькие- индикатора, который надо подправить.

 
gince:


Добавлю. Тут не совсем покупка и продажа. Тут еще подщет цены выставления стоповых ордеров.

 
iv_danko:

Скажите, пожалуйста, вот вы делаете процесс нормализации,

а для чего он выполняется? объясните если вам не сложно.

 

Почему неработает такая проверка ?

for(int i=limit-1;i>=0;i--){ 
   flag[i] == flag[i+1];   
   if ( flag[i] == 1  &&   
        условие продажи){              
       Продажа[i] = High[i]+point*Point; 
       flag[i] == -1 ;
    }                     
    if (flag[i] == - 1  &&     условие покупки){          
              Покупка[i] = Low[i]-point*Point; 
              flag[i] == 1 ;}
    }
}    
 
Я бы сделал временную отрисовку буфера flag[] и посмотрел, что в нем. С первого взгляда все значения в нем будут одинаковы.
 
gince:

Почему неработает такая проверка ?

а по-моему все правильно сделали.
 
granit77:
Я бы сделал временную отрисовку буфера flag[] и посмотрел, что в нем. С первого взгляда все значения в нем будут одинаковы.
Сделал временную отрисовку буфера flag[] - он пустуй, а почему? Где моя ошибка?
Файлы:
cross1_2.mq4  5 kb
Причина обращения: