Здравствуйте! Я пытаюсь создать индикаторную функцию, и у меня вопрос: индикатор рисует стрелки при пересечении кривых, но как мне получить этот сигнал из индикаторной функции через iCustom? (1)
Я думал, можно ли перенести этот сигнал с помощью условия true/false? (2)
Но тогда как перенести этот сигнал через iCustom? Мне все равно нужно указывать и в индикаторной функции и в iCustom переменные индикатора и объявлять массивы?
(1) else
{ // если выполнено условие нисходящего пересеченияPrint(" Up выполнены условия истинности пересечения ");
CrossDownBuffer[index_up_1]=Cr1+5*Point;// ставим стрелку вниз //
(2) else
{ // если выполнено условие нисходящего пересеченияPrint(" Up выполнены условия истинности пересечения ");
CrossDownBuffer[index_up_1]=Cr1+5*Point;// ставим стрелку вниз //
Точно так же . пробежаться в цикле с условием, если значение меньше минимума, то обновляем минимум (минимум=значение), ну и с максимумом так же, только если больше
Ага. НО! Если Алерт поставить за скобками цикла, то он выдаст только те значения переменных, которые оказались в тех переменных послевыполнения цикла. Если же его включить цикл, да ещё и добавить туда переменную i, т мы увидим эти значения на каждой свече, да ещё и будем знать номер свечи. Ну а поскольку Ваш цикл перебирает свечи из настоящего в прошлое, то ближайшие к рынку значения можно посмотреть на графике, используя инструмент "перекрестие" - оно покажет (с зажатой левой кнопкой мыши) на сколько свеч оно отстоит от текущего положения
Здравствуйте! Я пытаюсь создать индикаторную функцию, и у меня вопрос: индикатор рисует стрелки при пересечении кривых, но как мне получить этот сигнал из индикаторной функции через iCustom? (1)
Я думал, можно ли перенести этот сигнал с помощью условия true/false? (2)
Но тогда как перенести этот сигнал через iCustom? Мне все равно нужно указывать и в индикаторной функции и в iCustom переменные индикатора и объявлять массивы?
//+------------------------------------------------------------------+
//| 00003.mq4 |
//| Copyright 2012, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property show_inputs
extern int Depth=100;
extern int ExtRVIPeriod=10;
double mini=0;
double maxi=0;
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start() {
//----
if(Depth>Bars-1) Depth=Bars-1;
for(int i=1; i<Depth; i++) {
double RVI = iRVI(NULL,0,ExtRVIPeriod,MODE_MAIN,i);
if(RVI < mini){
mini=RVI;
}
if(RVI > maxi){
maxi=RVI;
}
}
//----
Alert (mini," : ",maxi);
return(0);
}
//+------------------------------------------------------------------+
Народ, подтягивайтесь, пожалуйста, для ответов новичкам. Предыдущая смены выдохлась.
Вот уж правда, так правда - от этих ответов иной раз устаёшь так, что возникает ощущение, будто реально на рабочей смене побывал :)
Вот так?
.......... .........
Alert (mini," : ",maxi);
return(0);
}
угу, и полную голову алертов...
достаточно вместе с обновлением максимума/минимума запоминать и номер бара.