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

 
evillive:
wenn bei der Kompilierung Fehler auftreten, wird sie nicht angezeigt.
Nein, es gibt keine Fehler!!!
 
PozitiF:

Vielen Dank für die Antwort. Ich selbst habe eine solche Lösung gefunden (Googeln kann fast alles):

      int       timeframe;          // временной период графика
      double    or_op_time;         // время открытия последнего ордера
      int MaxBar = 3;               // через сколько свечей закрыть ордер
      or_op_time = Last_OrderOpTime(asset);
      
                          //  КРИТЕРИЙ ЗАКРЫТИЯ БАЙ
       
       if(!ClsB && OrderType()==OP_BUY && iBarShift( asset, timeframe, or_op_time) > MaxBar)    ClsB = true;

Es scheint klar zu funktionieren, aber ich bin noch nicht gut mit statischen Variablen.

Und eine verwandte Frage: Kann jemand einem Neuling die Logik des folgenden Fragments erklären?

if(lastsignal==Signal)Signal=0; 
else                            
lastsignal=Signal;              

Und während der lokalen Variablen Signal durch Bedingungen die Werte 1 oder 2 zugewiesen werden, wird der globalen Variablen lastsignal nirgendwo ein Wert zugewiesen.

und auch - ich verstehe nicht, wie eine Variable mit einem noch nicht definierten Wert mit irgendetwas verglichen werden kann?

   if(timeCheckSignal!=Time[0])        //МОЙ КОММЕНТ: если время открытия позиции (КОТОРОЕ ЕЩЕ НЕ ОПРЕДЕЛЕНО)...
                                       //...не равно времени открытия текущего бара, то...

Helfen Sie mir zu verstehen. Ich danke Ihnen.

ZS: Am interessantesten und für mich überhaupt nicht nachvollziehbar ist aber der Kommentar des Vorlagenentwicklers zu diesem Fragment:

//+------------------------------------------------------------------+
// Если время торговли не истекло и мы не открывали позицию на этом баре: 
//+------------------------------------------------------------------+
 
Ich weiß nicht, wie ich den Balkenvergleich in einer Schleife organisieren kann. Es wird eine Schleife innerhalb einer Schleife sein.
int start()
  {

   int i,counted_bars=IndicatorCounted();
   int limit=Bars-1;
   if(limit>1) limit=Bars-N;
   if(limit==0) limit=counted_bars;
   if(IsTesting() || IsVisualMode()) limit=N+10;
   for(i=limit;i>=0;i--)
     {
     if(Close[i]>Open[i] && High[i]>High[i+1] && Low[i]>Low[i+1] && High[i+1]>High[i+2] && Low[i+1]>Low[i+2] && High[i+2]>High[i+3] && Low[i+2]>Low[i+3] && High[i+3]>High[i+4] && Low[i+3]>Low[i+4]) buybars++;
      //-------

     if(Open[i]>Close[i] && High[i]<High[i+1] && Low[i]<Low[i+1] && High[i+1]<High[i+2] && Low[i+1]<Low[i+2] && High[i+2]<High[i+3] && Low[i+2]<Low[i+3] && High[i+3]<High[i+4] && Low[i+3]<Low[i+4]) buybars--;

      //-------
      BuyBuffer[i]=buybars;
      }
   return(0);
  }
 
Ich schreibe einen EA, kompiliere ihn, keine Fehler, aber er ist nirgends im Navigator zu finden, es gibt nur eine mq4-Datei im MetaEditor. Ich habe es an verschiedenen Terminals ausprobiert, alle waren gleich, obwohl vorher alles in Ordnung war.
 
antonovff:
Ich schreibe einen EA, kompiliere ihn, keine Fehler, aber er ist nirgends im Navigator zu finden, es gibt nur eine mq4-Datei im MetaEditor. Ich habe es mit verschiedenen Terminals versucht, aber vorher war alles in Ordnung.
Ich verlor meine EA einmal zu, nach der Kompilierung, es stellte sich heraus, dass ich versehentlich das Verzeichnis beschädigt, wenn die Erstellung Eperts\MoySovetnik und es wurde in ich weiß nicht mehr, wo, meiner Meinung nach, der Stammordner platziert.
 

Grüße

Verfügt MT4 über eine Funktion, die es ermöglicht, interne Terminal-Mails an oder SMS zu senden (z.B. um Server-Neustart-Nachrichten zu erhalten usw.)?

 
PozitiF:
Ich habe meinen EA nach der Kompilierung auch verloren, es stellte sich heraus, dass ich das Verzeichnis beim Erstellen von Eperts\MoySovetnik versehentlich gelöscht hatte und es während der Kompilierung in den Stammordner gelegt wurde, ich weiß nicht mehr wo.
Ich habe bereits ein neues Terminal heruntergeladen und einen EA erstellt, in dessen Code eine Variable deklariert ist. Dieser EA erscheint nur im MetaEditor-Navigator ganz unten, nach allen Verzeichnissen, als separate Datei wie mq4 und das ist alles, er ist nirgendwo sonst, ich kann ihn nicht an ein Diagramm anhängen.
 
Ich habe meine einfachste Nicht-Syndikator EA für die letzten drei Monate getestet, seit September dieses Jahres, und etwas ist nicht gut für mich: kann es möglich sein, dass mit einem festen Volumen von 0,1 Lot ein Gewinn für drei Monate ist 29 112 Cent und nicht ein einziger Verlust Handel? Wo ist der Haken, weiß das jemand?
 
rapid_minus:
Ich habe meine einfachste Nicht-Syndikator EA für die letzten drei Monate getestet, seit September dieses Jahres, und etwas ist nicht gut für mich: kann es möglich sein, dass mit einem festen Volumen von 0,1 Lot ein Gewinn für drei Monate ist 29 112 Cent und nicht ein einziger Verlust Handel? Wo ist der Haken, weiß das jemand?
Beim Testen gibt es viele Nuancen, angefangen bei der Anzahl der Balken in der Historie, dem Kursarchiv usw. Drei Monate sind nicht genug, mindestens ein Jahr. Wenn Sie nicht viel darüber wissen, gibt es gute Quellen auf YouTube.
 
antonovff:
Ich habe bereits ein neues Terminal heruntergeladen, einen EA erstellt, in dessen Code eine Variable deklariert ist, die Kompilierung gibt keine Fehler. Dieser EA erscheint nur im MetaEditor ganz unten, nach allen Verzeichnissen, als separate Datei wie mq4 und das ist alles, er wird nirgendwo anders angezeigt und ich kann ihn nicht an den Chart anhängen.

Deshalb erscheint er unten, weil Sie den Verzeichnisnamen löschen. Löschen Sie das Wort Experts\ nicht, wenn Sie einen neuen Namen schreiben.