Any rookie question, so as not to clutter up the forum. Professionals, don't pass by. Nowhere without you - 6. - page 698

 

Made it this way, whoever sees an error will tell me:

 extern string Per="h4";

int Per1=0;

  if(Per=="0"){

   Per1=Period();

  }

  if(Per=="m1"){

   Per1=1;

  }

  if(Per=="m5"){

   Per1=5;

  }

  if(Per=="m15"){

   Per1=15;

  }

  if(Per=="h1"){

   Per1=60;

  }

  if(Per=="h4"){

   Per1=240;

  }

  if(Per=="d1"){

   Per1=1440;

  }

double prodaem1=iCustom(Symbol(),Per1,"super-signals-channel",2,500,2,sdvig);

 

 
woin2110:

People, tell me how to display the period setting for the indicator. I tried it this way, it doesn't work:

extern string Per= H1;

double prodaem1=iCustom(Symbol(),PERIOD_ Per, "super-signals-channel",2,500,2,sdvig);


input ENUM_TIMEFRAMES TimeFrame=60;
For example like this
 
Vinin:

Like this.
Bully, that's a bit ahead of the curve... Oh, come on... ;)
 
AlexeyVik:

You can't do that either.


The period is of type int


Sorry, didn't notice the string and didn't set the int! Sleepyhead!
 
borilunad:

I'm sorry, I didn't notice the string and the int didn't set it up! I was sleepwalking!
Thongs are hard to spot ;)
 
Thank you all, it's working.
 
artmedia70:
Thongs are hard to spot ;)


That's as hard as it gets ;)
 
borilunad:

I'm sorry, I didn't notice the string and the int didn't set it up! Sleepyhead!

You don't have to explain yourself. I know you're not a "D" student.
 
AlexeyVik:

You don't have to make excuses. I know you're not a loser.

Well, that's a load off! :)
 

The EA used a countdown with a time record on the event taking place:

if (line1 < 0 && time ==0){time=Time[0];}//сработало предварительное условие входа, записываем время
if (time > 0)shift=iBarShift(Symbol(),Period(),time);//находим индекс бара

and if the condition was not triggered

if (line1 == 0){time=0;}

the index was increasing with every bar.

In the indicator it is necessary to put an arrow after a certain index once.

I tried to do the same in the indicator but nothing works:

int tikket;// расположено на глобальном уровне
datetime time;// расположено на глобальном уровне

///////////////////////////////////

for(i=limit1;i>=0;i--)
     {
      if(ExtMapBuffer2[i]<0 && time == 0){time=Time[i];}
      if(time > 0)shift=iBarShift(Symbol(),Period(),time);//находим индекс бара
      if(ExtMapBuffer2[i]==0){time=0;tikket=0;}
      if(ExtMapBuffer2[i]<0 && shift>=shet && tikket==0){tikket=1;if(tikket>0)ExtMapBuffer3[i]=High[i]+150*Point;}
     }


On the first bar where " ExtMapBuffer2[i]<0 " the arrow is put, and "shift>=shet" is not considered.

Logically, we should do something with this line " if(time > 0)shift=iBarShift(Symbol(),Period(),time);".

What do you think?

Reason: