[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 756

 
ToLik_SRGV:

Ilya, ich werde einen Blick haben, aber ich verstehe nicht ganz, warum Arrays den String-Typ haben?

es ist eine funktionierende Variante für jetzt :)

Eigentlich möchte ich das klarstellen:

Gibt es in mql eine ähnliche "Struktur" wie in c.

Ich muss in dem gegebenen Array die Daten verschiedener Typen speichern - Datum + Zeit der Extremumbildung, sowie den Wert des Extremums selbst...

Dementsprechend wollte ich klären - gibt es eine Standardfunktion für die Umwandlung von String in Datum+Zeit... oder wie kann diese Situation umgangen werden?

 

Nehmen Sie dieses ZZ und machen Sie sich keine Sorgen.

Dateien:
zigzag2_r_.mq4  10 kb
 
Morzh09:

Entschuldigen Sie, dass ich mich wiederhole, aber ich möchte wirklich gerne verstehen...


Was mir sofort aufgefallen ist, Ihr Array Number_of_extremum[] ist nirgends initialisiert, bzw. hat keine Zellen zum Speichern von Daten, und Sie versuchen, min/max hineinzuschreiben (was natürlich immer mit 0 endet). Ich schlage diese Option vor - ändern Sie die Größe des Arrays dynamisch in Abhängigkeit von der Variable K:

        
   }
   
//====================================================  

   ArrayResize(Number_of_extremum, k);
   
   for (int u=0;u<k;u++)//
   {
      if (StrToDouble(TimeSave1[u+1][1])<=StrToDouble(TimeSave1[u][1]))
      {
         Number_of_extremum[u]=1;// значит под номером u - нашли min
      }
      else
      if (StrToDouble(TimeSave1[u+1][1])>=StrToDouble(TimeSave1[u][1]))
      {
         Number_of_extremum[u]=2;// значит под номером u - нашли max
      }
   }
   
//====================================================   

Es scheint zu funktionieren, obwohl ich denke, irgendwo in der Logik ist immer noch ein Fehler, manchmal die Zahlen beginnen, aus der Reihenfolge zu gehen, aber kann es zwei aufeinanderfolgende Höchstwerte?

 
ToLik_SRGV:

Was wollten Sie am Ende erreichen?

Wenn ich richtig gerechnet habe:
1000*60*(240+1)*1000 = 14 460 000 Sekunden.

Möchten Sie, dass der Tester 167 Tage lang bei jedem Tick pausiert?

Über die Pause sagte ich vor ein paar Seiten.

Danke, das ist genau richtig - Sleep funktioniert im Testgerät nicht. Diese unvorstellbar lange Verzögerung habe ich eingestellt, um zu prüfen, ob der Schlaf überhaupt funktioniert.
 

Hallo. Es gibt eine Arbitrage-Strategie, ist sie perfekt? Ist es also unrealistisch, dabei zu verlieren, oder erreicht der Preis nicht immer das richtige Niveau?

Dankeschön

 
Swetten:

Wie hoch ist die maximale Anzahl der Fenster in MT4?

Ich musste 3x19 Fenster öffnen, aber es sind 54 (glaube ich) und das war's.

D.h. das Fenster wird gezeichnet, aber es hat einen Screenshot der vorherigen Fenster (die im Hintergrund sind).

Und das war's.

Es passiert, wenn nicht genug Videospeicher vorhanden ist...
 

Bitte beraten Sie, welche Code sollte der Expert Advisor hinzugefügt werden, so dass es bei Break-Even auf Gewinn von mindestens 20 Pips zu stoppen und würde es nicht mehr bewegen

Ich bin Ihnen für Ihr Feedback sehr dankbar

 

Liebe Kollegen, können Sie mir sagen, ob es einen Indikator gibt, der aus drei parallelen horizontalen Linien besteht, d.h. eine Art Kanal. Wenn man zum Beispiel eine horizontale Linie nimmt, sie auf eine bestimmte Höhe legt und von dieser Linie nach einer bestimmten (gegebenen) Anzahl von Punkten die anderen Linien parallel zu ihr zieht. Ich danke Ihnen im Voraus.

 

Im Test öffnet der Expert Advisor 5 Orders während des ausgewählten Zeitraums.

Wenn wir die OrderSend(Symbol(),OP_BUY, Lots,Ask,3,Ask-10*Point,0,"", 0,0,Blue); ändern und 10 durch 15 ersetzen, werden 4 von 5 Orders eröffnet, und wenn wir 10 durch 20 ersetzen, werden nur 3 eröffnet. Zur gleichen Zeit,

nur Verlustaufträge, die durch Stop Loss geschlossen werden. Sie sehen keine Fehlermeldungen. Was ist der Grund dafür, bitte?

Und man hat das Gefühl, dass es nicht einmal in diese Branche hineinreicht.

if (OrdersTotal()!=0) {
   if (OrderType()==OP_BUY && stochMain0<stochSIGNAL0) CLOSEORDER("Buy");     
   if (OrderType()==OP_SELL && stochMain0>stochSIGNAL0) CLOSEORDER("Sell");  
}
else {
   double MA0 = iMA(NULL,timeframe,Period_MA,0,MODE_SMA, PRICE_OPEN,0);   
   double MA1 = iMA(NULL,timeframe,Period_MA,0,MODE_SMA, PRICE_OPEN,Shift);   
   double MA2 = iMA(NULL,timeframe,Period_MA,0,MODE_SMA, PRICE_OPEN,Shift*2); 
   if (MA0>MA1-razn1 && MA1>MA2-razn1 && MA0<Ask)    
      if(stochMain0>stochSIGNAL0 && stochMain_1>stochSIGNAL_1 && stochMain_4<stochSIGNAL_4) {
         //OPENORDER ("Buy");
         OrderSend(Symbol(),OP_BUY, Lots,Ask,3,Ask-10*Point,0,"", 0,0,Blue);
      }
   else if (MA0+razn1<MA1 && MA1+razn1<MA2 && MA0>Bid)     
      if(stochMain0<stochSIGNAL0 && stochMain_1<stochSIGNAL_1 && stochMain_4>stochSIGNAL_4)  //   
         {OPENORDER ("Sell");  }
}     
Dateien:
stoch_1.mq4  7 kb
 
profitinvesting:

Bitte beraten Sie, welche Code sollte der Expert Advisor hinzugefügt werden, so dass es an der Gewinnschwelle nach einem Gewinn von mindestens 20 Pips zu stoppen und würde es nicht mehr bewegen

Ich bin Ihnen für Ihr Feedback sehr dankbar

Benötigen Sie den Gesamtgewinn aller offenen Positionen oder wollen Sie jede einzelne Position stoppen, wenn sie 20 Gewinnpunkte erreicht hat?