[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 269

 
Annie >>:

Код целиком я бы и рада здесь привести - но, несмотря на то, он он убогий, примитивный и недоделанный, все-таки целиком не лезет в сообщение - ругается, что слишком длинное. :-(

внизу есть кнопочка - прикрепить файл:)))

 
Annie >>:

 И что теперь с этим делать?

NormalizeDouble(Bid,4);   //:))))
 
alsu >>:

Пока правила свое сообщение - уже пришел ответ. Спасибо. :-) Попробую нормализовать, если не поможет - воспользуюсь волшебной кнопочкой "прикрепить файл". :-)

 
Alsu, нормализация цен решила проблему, всё работает. Вот уж не могла подумать, что в архиве закачанных котировок будут 5-знаки. Спасибо за помощь. :-)
 

Добрый день. Помогите пожалуйста решить задачку. Написал функцию для поиска максимального значения индикатора RSI на отрезке  N-баров.

//+--------------------------------------------------------+
//| Описание : Возвращает максимальное значение индикатора RSI, на отрезке |
//|                  N-баров.                                |
//+--------------------------------------------------------+
//| Параметры:                                               |
//| MaxRSI - максимальное значение индикатора RSI                   |
//|                                                        |
//+--------------------------------------------------------+

  double IsMaxRSI() {

  double MaxRSI = 0;


double Max_array[20];  
int c, total_c = ArraySize(Max_array);
ArraySetAsSeries(Max_array,true);
{
for(c=1; c <= total_c; c++)
  Max_array[c]= iRSI(Symbol(),RSI_TF,RSI_Period,PRICE_CLOSE,c);
}

  MaxRSI = Max_array[ArrayMaximum(Max_array,total_c,1)];


  return (MaxRSI);
}

Теперь сам вопрос; Как мне вынести в переменные значение 20 из этого массива?

double Max_array[20];


Это значение 20 мне надо изменять во внешних переменных... Заранее благодарен за помощь. С уважением Дмитрий.

 

почему сигнал не работает?

хотел задать зону фильтра в пунктах от наибольшего хая, и наименьшего лоу... сигнал не работает что я не так делаю?

   double hi_100 = iHigh(Symbol(),tf_100,iHighest(NULL,tf_100,MODE_HIGH,hibar,n_bar)); //поиск хая наибольшего значения
   double lo_100 = iLow (Symbol(),tf_100,iLowest (NULL,tf_100,MODE_LOW,lobar,n_bar));  //поиск лоу наименьшего значения
   if (Bid < lo_100 + zone * Point){open = 1;} //зона разрешения покупок от лоу
   else if (Bid > hi_100 - zone * Point){open=-1;} //зона разрешения продаж от хая

 
1Rakso >>:

почему сигнал не работает?

хотел задать зону фильтра в пунктах от наибольшего хая, и наименьшего лоу... сигнал не работает что я не так делаю?

разобрался но почему вопрос остался, нельзя выводить во внешнюю переменную таймфрейм???

double hi_100 = iHigh(Symbol(),0,iHighest(NULL,0,MODE_HIGH,hibar,n_bar)); //поиск хая наибольшего значения
   double lo_100 = iLow (Symbol(),0,iLowest (NULL,0,MODE_LOW,lobar,n_bar));  //поиск лоу наименьшего значения
   if (Bid < lo_100 + zone * Point){open = 1;} //зона разрешения покупок от лоу
   else if (Bid > hi_100 - zone * Point){open=-1;} //зона разрешения продаж от хая

 

Всем доброго, подскажите пожалуйста, как заставить объект рисоваться с другой стороны

в данном примере:

         objName = "ob"+ObjectsTotal();
         ObjectCreate(objName,OBJ_ARROW,0
            ,xTime(window.position )
            ,pp2
         );         
         ObjectSet(objName,OBJPROP_ARROWCODE,5);<-->рисуется ценовая метка с лева, а надо с парава
         ObjectSet(objName,OBJPROP_COLOR,White);
         ObjectSet(objName,OBJPROP_STYLE,2);
подсобите плз
 
NEKSUS_ >>:

Всем доброго, подскажите пожалуйста, как заставить объект рисоваться с другой стороны

в данном примере:

подсобите плз
ObjectSet(objName,OBJPROP_ARROWCODE,5);//левая ценовая метка
ObjectSet(objName,OBJPROP_ARROWCODE,6);//правая ценовая метка
 
Dimi >>:

Добрый день. Помогите пожалуйста решить задачку. Написал функцию для поиска максимального значения индикатора RSI на отрезке  N-баров.

//+--------------------------------------------------------+
//| Описание : Возвращает максимальное значение индикатора RSI, на отрезке |
//|                  N-баров.                                |
//+--------------------------------------------------------+
//| Параметры:                                               |
//| MaxRSI - максимальное значение индикатора RSI                   |
//|                                                        |
//+--------------------------------------------------------+

  double IsMaxRSI() {

  double MaxRSI = 0;


double Max_array[20];  
int c, total_c = ArraySize(Max_array);
ArraySetAsSeries(Max_array,true);
{
for(c=1; c <= total_c; c++)
  Max_array[c]= iRSI(Symbol(),RSI_TF,RSI_Period,PRICE_CLOSE,c);
}

  MaxRSI = Max_array[ArrayMaximum(Max_array,total_c,1)];


  return (MaxRSI);
}

Теперь сам вопрос; Как мне вынести в переменные значение 20 из этого массива?

double Max_array[20];


Это значение 20 мне надо изменять во внешних переменных... Заранее благодарен за помощь. С уважением Дмитрий.

для начала приведите код в логический порядок.

ArraySetAsSeries(Max_array,true) - зачем???

for(c=1; c <= total_c; c++) - массивы индексируются от 0 до total_c-1.

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