Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1535

 
Artyom Trishkin:

Und die richtige Option ist, nun ja, sehr einfach...

Was ist es also?

 
Andrey Sokolov:

Und welche?

So einfach :)

Wenn keine Daten vorhanden sind, wird der Vorgang bis zum nächsten Tick beendet.

 
Guten Tag, ist es möglich, ein Signal in MT4 von einem Demokonto aus zu registrieren? Ich danke Ihnen.
 
Artyom Trishkin:

So einfach :)

Wenn keine Daten vorhanden sind, wird der Vorgang bis zum nächsten Tick beendet.

Nein, ich habe geschrieben, dass Berechnungen und deren Anzeige gleichzeitig erforderlich sind.

Wenn es Probleme mit der bestehenden Lösung geben wird, denke ich, als Alternative kann man eine Funktion der Bollinger Berechnung schreiben, es scheint nicht schwierig zu sein. Aber für den Moment und was wir haben, funktioniert.

 
Hallo! Wie kann ich den zukünftigen Preis des grafischen ObjektsOBJ_TREND kennen? Wir haben zum Beispiel einen Strahl nach rechts und müssen bei jedem neuen Balken den Wert dieses Strahls kennen. danke!
 
MakarFX:

Diese Struktur sollte sein

Ich habe es getan, es hat funktioniert. Dankeschön

 
Andrey Sokolov:

Nein, ich habe geschrieben, dass Berechnungen und Anzeigen sofort erforderlich sind.

Wenn es Probleme mit der bestehenden Lösung, dann denke ich, als eine Option, können Sie eine Funktion schreiben, um die Bollinger berechnen, scheint es nicht kompliziert. Aber im Moment funktioniert das bestehende System.

Der Indikator berechnet, wenn er richtig konzipiert ist, immer zuerst die gesamte Historie. Was haben Sie?

 
Artyom Trishkin:

Was haben Sie da?

Ich verstehe die Frage nicht.

 
Leute, helft mir, einen Indikator mit einer Warnung zu versehen. Ich möchte eine Kombination aus verschiedenen Indikatoren testen, benötige aber eine Warnfunktion. Ich möchte, dass die Meldung nur einmal angezeigt wird, wenn der Pfeil erscheint. Wenn Sie nicht schwer sind, bitte helfen Sie mir, diese Funktion zu schreiben, ich kann es nicht tun, Alarme pop-up eine ganze Minute oder die ganze Zeit, auch mt4 hängt.
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---

    int limit=rates_total-prev_calculated-2;
   if(limit<1) return(0);
   for(int i=limit;i>=0;i--)
     {
     
      // Снимем показания индикатора
     double in1b = iCustom(NULL,0,"in1",1,i); // индикатор 1 стрелка вверх
     double in1s = iCustom(NULL,0,"in1",0,i); // индикатор 1 стрелка вниз
      
     
     
     double in2b = iCustom(NULL,0,"in2",0,i); // индикатор 2 стрелка вверх
     double in2s = iCustom(NULL,0,"in2",1,i); // индикатор 2 стрелка вниз
    
    Comment("in1v = "+DoubleToString(in1b)+"\n" +"in1n = "+DoubleToString(in1s)+"\n"
    +"in2v = "+DoubleToString(in2b)+"\n" +"in2n = "+DoubleToString(in2s));
     
    if(in1b > 2147483647 && in2b > 2147483647) // индикатор стрелка вверх
           {
           Sell[i]=low[i];
                      
          
          // Alert(Symbol()+"BUY";
              
           
           
           
         
           }
   
     if(in1s > 2147483647 && in2s > 2147483647) // индикатор стрелка вниз
           {
            Buy[i]=high[i];
            
              // Alert(Symbol()+"SELL М"+Period());
              
              
           
           }
         
   
     }
   
     
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
jarikn:
Leute, helft mir, einen Alarm für einen Indikator zu erstellen. Ich möchte eine Kombination aus verschiedenen Indikatoren testen, benötige aber eine Warnfunktion. Ich möchte, dass die Meldung nur einmal angezeigt wird, wenn der Pfeil erscheint. Wenn Sie nicht schwer sind, bitte helfen Sie mir diese Funktion zu schreiben, ich kann es nicht tun, Alarme Pop-up eine ganze Minute oder die ganze Zeit, auch mt4 friert.

Versuchen Sie dies, es scheint zu funktionieren

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   datetime show_alert=time[1];
   int limit=rates_total-prev_calculated-2;
   if(limit<1) return(0);
   for(int i=limit;i>=0;i--)
     {
     
      // Снимем показания индикатора
      double in1b = iCustom(NULL,0,"in1",1,i); // индикатор 1 стрелка вверх
      double in1s = iCustom(NULL,0,"in1",0,i); // индикатор 1 стрелка вниз
      
      double in2b = iCustom(NULL,0,"in2",0,i); // индикатор 2 стрелка вверх
      double in2s = iCustom(NULL,0,"in2",1,i); // индикатор 2 стрелка вниз
    
      Comment("in1v = "+DoubleToString(in1b)+"\n" +"in1n = "+DoubleToString(in1s)+"\n"
      +"in2v = "+DoubleToString(in2b)+"\n" +"in2n = "+DoubleToString(in2s));
     
      if(in1b > 2147483647 && in2b > 2147483647) // индикатор стрелка вверх
        {
         Sell[i]=low[i];
         if(show_alert!=time[i])
           {
            Alert(Symbol()+"BUY М"+Period()); show_alert=time[i];
           }
        }
   
      if(in1s > 2147483647 && in2s > 2147483647) // индикатор стрелка вниз
        {
         Buy[i]=high[i];
         if(show_alert!=time[i])
           {
            Alert(Symbol()+"SELL М"+Period()); show_alert=time[i];
           }
        }
     }
     
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
Grund der Beschwerde: