[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 624

 
Kann mir jemand sagen, wie man MT4 (von einem Demokonto, auf einem Computer) mehrmals gleichzeitig öffnen kann, damit man den Expert Advisor auf mehreren Paaren gleichzeitig testen kann. Sie müssen also nicht warten, bis ein Paar fertig ist, und dann den Test für das andere Paar manuell einstellen?
 
paladin80:
Kann mir jemand sagen, wie man MT4 (von einem Demokonto, auf einem Computer) mehrmals gleichzeitig öffnen kann, damit man den Expert Advisor auf mehreren Paaren gleichzeitig testen kann. Sie müssen also nicht warten, bis ein Paar fertig ist, und dann den Test für das andere Paar manuell einstellen?
Kopieren Sie den Ordner mehrere Male.
 
paladin80:
Kann mir jemand sagen, wie man MT4 (von einem Demokonto, auf einem Computer) mehrmals gleichzeitig öffnen kann, damit man den Expert Advisor auf mehreren Paaren gleichzeitig testen kann. Sie müssen also nicht warten, bis ein Paar fertig ist, und dann den Test für das andere Paar manuell einstellen?

Kann der Cantuper diese Art von Grausamkeit aushalten? Zwei Tester belasten die CPU zu 100 % parallel, der Rechner ist keineswegs von der Kategorie "Internet und Schreibmaschine".
 

Guten Tag!

Warum stimmen die iTime-Zeit und die Tester-Zeit (auf dem Bild) nicht überein?

Hier ist eine grobe Code-Skizze:

int start()
  {
   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
    
   int  limit = Bars - counted_bars;
     
     for (int i=limit; i>=0; i--)
     {
       
    tm1=iTime(NULL,PERIOD_D1,i);           //--- Определяю время (Выводит текущую дату. Не совпадает с временем в тестере.)
    int shift=iBarShift(NULL,PERIOD_H4,tm1,false);  //---По этому времени ищем бар
   
    hgh = iHigh(NULL,PERIOD_H4,shift);   //---High бара
    lwo = iLow(NULL,PERIOD_H4,shift);    //---Low бара
          
     flatline("Lev_Up",tm1,hgh,tm2,lwo,Green,1);
     flatline("Lev_Dn",tm1,hgh,tm2,lwo,Green,1);
     }
     
     SetText("Tm1","Tm2",TimeToStr(tm1),TimeToStr(tm1),Red,Blue,12);
     SetText2("Shift",shift,Red,12);
     SetText5("High","Low", hgh,lwo,Red,Blue,12);
           
     //----
   return(0);
  }

 

Guten Tag.

Können Sie mir sagen, warum dieser Code nicht funktioniert?

Und der Alarm funktioniert nicht.

Das Protokoll ist völlig geräuschlos...

Auf dem Screenshot sehen Sie, dass die Bedingungen übereinstimmen.

int start()
  {
  double ma= iMA(Symbol(), 0, PerMa, 0, 0, 0, 0);
//----
//GetLot(1, 0.1, 100, 0.1, 10, Symbol());
if (Filtre()=="S" && NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+SL*pip*Digits,Ask-TP*pip*Digits,0,0,0,CLR_NONE);
if (Filtre()=="B" && NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) OrderSend(Symbol(),OP_BUY,0.1,Ask,2,Bid-SL*pip*Digits,Bid+TP*pip*Digits,0,0,0,CLR_NONE);
Comment (Filtre(),"  ",NormalizeDouble(ma, Digits*pip),"  ",NormalizeDouble(Bid, Digits*pip));
if (NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) Alert("!!!!!!!!!!!");


//----
   return(0);
  }
 
MarkTrade:

Guten Tag.

Können Sie mir sagen, warum dieser Code nicht funktioniert?

Und der Alarm funktioniert nicht.

Das Protokoll ist völlig geräuschlos...

Auf dem Screenshot sehen Sie, dass die Bedingungen übereinstimmen.

Prüfen Sie, was pip gleich ist. Der zweite Parameter in der Funktion NormalizeDouble muss gleich der Anzahl der Dezimalstellen sein (eine ganze Zahl), die beim Preisvergleich in der Regel einfach als Digits geschrieben wird.
 
atztek:

Im Ordner "experts" befindet sich eine Datei, die bei jedem Start des Custom Indicator kopiert werden muss.

- Ist es möglich, Dateien aus dem Code zu kopieren und wenn ja, wie?

Ich danke Ihnen!


Wenn Sie MQL verwenden, nur im Ordner experts\files
 
Fox_RM:

Guten Tag!

Warum stimmen die iTime-Zeit und die Tester-Zeit (auf dem Bild) nicht überein?

Hier ist eine grobe Code-Skizze:

Ihre iTime-Funktion entnimmt den i-ten Balken aus einer Datei (für jeden Tamframe separat) im Ordner tester\history, vielleicht liegen dort die History-Dateien für D1 und H1, wo der letzte Balken dem 13. Januar entspricht, von einem alten Lauf.
 
alsu:
Prüfen Sie, wie hoch der Pip-Wert ist. Der zweite Parameter in der Funktion NormalizeDouble muss gleich der Anzahl der Nachkommastellen sein (eine ganze Zahl). Normalerweise schreiben wir nur Digits, wenn wir Preise vergleichen.

wenn (Ziffern == 3||Ziffern==5) pip=10; sonst pip=1;

auf 4 oder 2 Ziffern zu normalisieren. (wenn die Anführungszeichen 5-stellig sind)

Die normalisierten Werte werden in einem Kommentar angezeigt, und im Screenshot können wir sehen, dass sie gleich sind. Die Bedingung ist also erfüllt, aber die Bestellung lässt sich immer noch nicht öffnen...

Oh! Im Protokoll erschien eine Warnung, aber der Auftrag wurde nicht geöffnet.

 
MarkTrade:

wenn (Ziffern == 3||Ziffern==5) pip=10; sonst pip=1;

Dies ist die Normalisierung auf 4 oder 2 Ziffern. (wenn die Anführungszeichen 5-stellig sind)

Die normalisierten Werte werden in einem Kommentar angezeigt, und im Screenshot können wir sehen, dass sie gleich sind. Die Bedingung ist also erfüllt, aber die Bestellung lässt sich immer noch nicht öffnen...

Oh! Die Meldung erschien im Protokoll, aber der Auftrag wurde nicht geöffnet.


Darf ich fragen, warum "auf 4 oder 2 Ziffern normalisieren"?(wenn die Anführungszeichen 5-stellig sind)"? 5 und 3 Ziffern sollten auch funktionieren, sozusagen...
Grund der Beschwerde: