Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 160

 
Zolotai:

Das hat nichts mit dem Code zu tun. Ich brauche nur die richtige Bedingung. Die Frage ist, ob es eine Möglichkeit gibt, die Zeit des aktuellen Taktes zu erfahren. Wie erkenne ich die Uhrzeit einer Bar?
Time[] und iTime().
 
Zolotai:

Das hat nichts mit dem Code zu tun. Ich brauche nur die richtige Bedingung. Die Frage ist, ob es eine Möglichkeit gibt, die Zeit des aktuellen Taktes zu erfahren. Wie kann ich überhaupt die Uhrzeit der Bar herausfinden?
Time[index_need_bar]; gibt Ihnen die Öffnungszeit des Balkens mit der Nummer "index_need_bar" zurück. Sie können iTime() für andere Symbole und Zeitrahmen verwenden
 

Wie man ein Signal in einem EA von diesem Indikator erhält

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
#define  SH_BUY   1
#define  SH_SELL  -1
extern int     AllBars=0;
extern int     Otstup=30;
extern double  Per=9;
int            SH,NB,i,UD;
double         R,SHMax,SHMin;
double         BufD[];
double         BufU[];

int init()
{
   if (Bars<AllBars+Per || AllBars==0) NB=Bars-Per; else NB=AllBars;
   IndicatorBuffers(2);
   IndicatorShortName("SHI_SilverTrendSig");
   SetIndexStyle(0,DRAW_ARROW,0,1);
   SetIndexStyle(1,DRAW_ARROW,0,1);
   SetIndexArrow(0,159);
   SetIndexArrow(1,159);
   SetIndexBuffer(0,BufU);
   SetIndexBuffer(1,BufD);
   SetIndexDrawBegin(0,Bars-NB);
   SetIndexDrawBegin(1,Bars-NB);
   ArrayInitialize(BufD,0.0);
   ArrayInitialize(BufU,0.0);
   return(0);
}
int start()
{
   int CB=IndicatorCounted();
   if(CB<0) return(-1); else if(NB>Bars-CB) NB=Bars-CB;
   for (SH=1;SH<NB;SH++)
   {
      for (R=0,i=SH;i<SH+10;i++) {R+=(10+SH-i)*(High[i]-Low[i]);}      R/=55;

      SHMax = High[Highest(NULL,0,MODE_HIGH,Per,SH)];
      SHMin = Low[Lowest(NULL,0,MODE_LOW,Per,SH)];
      if (Close[SH]<SHMin+(SHMax-SHMin)*Otstup/100 && UD!=SH_SELL) { BufU[SH]=Low[SH]-R*0.5; UD=SH_SELL; }
      if (Close[SH]>SHMax-(SHMax-SHMin)*Otstup/100 && UD!=SH_BUY) { BufD[SH]=High[SH]+R*0.5; UD=SH_BUY; }
   }
   return(0);
}

Ich habe es über iCustom versucht, aber es sagt, dass der Wert 2147483647 ist, wenn ich eine Zeilen- oder Taktnummer angebe ...

 
VOLDEMAR:

Wie man ein Signal in einem EA von diesem Indikator erhält

Ich habe es über iCustom versucht, aber es sagt, dass der Wert 2147483647 ist, wenn man eine Zeilen- oder Taktnummer angibt ...

Dieser Wert ist EMPTY_VALUE. Wenn kein Signal anliegt, befindet es sich standardmäßig im Indikatorpuffer. Durchlaufen Sie den Puffer und holen Sie die nicht leeren Werte ab.
 

Überprüfen Sie seine Puffer so:

if (Bufer0>0) {               // в double Bufer0 через iCustom() ранее получено значение буфера индикатора 0
   if (Bufer0!=EMPTY_VALUE) {
      // поймали значение в буфере
      }
   }
 
artmedia70:

Überprüfen Sie seine Puffer so:


Ok, das verstehe ich, aber es könnten hundert Werte im Puffer sein, wie findet man den letzten und wie stellt man fest, ob der letzte ein Kauf- oder ein Verkaufssignal ist?
 
Verstanden, danke.
 
VOLDEMAR:

Ok, ich habe es verstanden, aber es kann Hunderte von Werten im Puffer geben, wie findet man den letzten und wie bestimmt man, welcher der letzte ist, um das Signal zu kaufen oder zu verkaufen?

Ich habe den Code nicht kompiliert und nicht in MT nachgeschaut, aber BufD ist der erste blaue Puffer, BufU ist der rote Nullpuffer. Was zeigen sie dort auf dem Bildschirm, blaue und rote Punkte? So geht's: Schau, welcher Punkt welcher Farbe auf was dort hinweist. Und fangen Sie sie in den Puffern auf - rot im Null-Puffer, blau im ersten.

Na ja... Und die Werte müssen höchstwahrscheinlich auf dem ersten Balken gefangen werden, ob sie nun neu gezeichnet werden oder nicht. Oder vielleicht ist eine Schleife vom Nullpunkt bis zum Erreichen des Wertes erforderlich. Es hängt alles davon ab, wie sie ihre Signale aussendet...

 
Hallo, können Sie mir sagen, warum ich keine EA in Mt4 konfigurieren kann, alle von ihnen zeigen negative Werte beim Testen der Strategie!
 
serjlarkin:
Hallo, können Sie mir sagen, warum ich keine der Expert Advisors in Mt4 einstellen kann, alle von ihnen zeigen negative Werte, wenn ich die Strategie zu testen !
Welcher negative Wert?