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

 
Taras Slobodyanik:

mein Code schreibt eine Long-ChartID in eine temporäre globale Variable.

Wenn Sie F3 drücken, wird Null (oder ein anderer Wert) angezeigt.
Das passiert, weil das Terminal denkt, dass es sich um einen doppelten Wert handelt und versucht, ihn anzuzeigen, aber wir haben ihm long gegeben, was ein völlig anderes Zahlenformat ist.

Wenn dieser Wert als normaler Double zurückgelesen wird, ist das ein Chaos.
Wenn sie von meinem Code gelesen wird, ist sie wieder lang (dieselbe, die wir gespeichert haben).
Wenn Sie manuell auf diese Variable im Terminalfenster klicken, wird sie zurückgesetzt, da das Terminal den Tausch erkennt.

Wie kann ich das Ergebnis in CHART_BRING_TO_TOP verwenden?
 
Artyom Trishkin:

Zeitinitialisierung in OnInit() entfernen

Ich danke Ihnen.

Können Sie mir bitte sagen, wo der Fehler liegt? Wenn ich reguläres Fraktal aufrufe, wird der Pfeil durch die Bedingung gesetzt, wo er sein sollte, wenn ich iFreeNumFractals aufrufe, ist die Bedingung erfüllt, es sollte einen Pfeil geben, aber es gibt keinen. iFreeNumFractals Zeilen sind auskommentiert, Einstellungen sind wie für reguläres Fraktal gesetzt. Idealerweise sollte das Bild dasselbe sein, wenn wir die Zeilen mit regulären Fraktalen auskommentieren und iFreeNumFractals auskommentieren, aber...

#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots   2
//--- plot UP
#property indicator_label1  "UP"
#property indicator_type1   DRAW_ARROW
#property indicator_color1  clrLawnGreen
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot DN
#property indicator_label2  "DN"
#property indicator_type2   DRAW_ARROW
#property indicator_color2  clrDeepPink
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1


//--- indicator buffers
double         BufferUP[];
double         BufferDN[];

int dist=3;
string nameInd;
datetime timf=0;
int numf;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,BufferUP);
   SetIndexBuffer(1,BufferDN);
//--- setting a code from the Wingdings charset as the property of PLOT_ARROW
   SetIndexArrow(0,233);
   SetIndexArrow(1,234);
  
   
//---
//---
   
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
  
//---
   if(rates_total<2) return(0);
     {
      int limit=rates_total-prev_calculated;
      if(limit>1) 
        {
         limit=rates_total-2;
         ArrayInitialize(BufferUP,EMPTY_VALUE);
         ArrayInitialize(BufferDN,EMPTY_VALUE);
        }
      for(int i=limit; i>=0; i--) 
        {
         
         if(fub(i))
           {
            BufferUP[i]=low[i]-dist*Point;
           }

         Comment("");
        }
      //--- return value of prev_calculated for next call

     }
   return(rates_total);
  }
//+
bool fub(int ib)//
  {
   bool bingob=false,flag_verh_f=0;
   int start_bar=0,numbarfrup=0,kfr_all=0;
   double high_old=0,prfra=0,f_up=0,f_dn=0,f=0;

     {
      for(int i_i=ib+3; i_i<Bars-2; i_i++)
        {
         if(high_old<High[i_i]) high_old=High[i_i];

        f_up=iFractals(Symbol(),0,MODE_UPPER,i_i);
        //f_up=NormalizeDouble(iCustom(Symbol(),0,"iFreeNumFractals",1,2,2,2,2,0,i_i),Digits);
         f_dn=iFractals(Symbol(),0,MODE_LOWER,i_i);
         //f_dn=NormalizeDouble(iCustom(Symbol(),0,"iFreeNumFractals",1,2,2,2,2,1,i_i),Digits);
         if(f_up>0 && f_up>iMA(NULL,0,33,0,MODE_SMMA,PRICE_CLOSE,i_i)+10*Point)//Если фрактал найден выше МА+10 pips
           {
            numbarfrup=i_i;
           }
         if(f_dn>0 && f_dn<iMA(NULL,0,33,0,MODE_SMMA,PRICE_CLOSE,i_i))
           {
            start_bar=numbarfrup;break;
           }
        }
      for(int i_i=start_bar; i_i<Bars-2; i_i++)
        {
         f=iFractals(Symbol(),0,MODE_UPPER,i_i);
         //f=NormalizeDouble(iCustom(Symbol(),0,"iFreeNumFractals",1,2,2,2,2,0,i_i),Digits);
         if(f>0)kfr_all++;
         if(f>0 && Low[ib]<f+1*_Point && Open[ib]>f //Сравнение фрактала с текущ баром
            &&
            high_old-f>=100*Point//от максимума до фрактала 100 пп
            )
           {
            bingob=true;
            prfra=f;
            timf=Time[i_i];
            break;
           }
         if(kfr_all==3)break;
        }
     }
// numfb=iBarShift(NULL,PERIOD_CURRENT,timf,true);
   if(bingob)
     {flag_verh_f=true;}
   if(bingob==false)
      flag_verh_f=false;

   return(flag_verh_f);

  }
//



 
inter78:
Wie verwende ich das Ergebnis in CHART_BRING_TO_TOP?

so wie wir zuvor CHART_BRING_TO_TOP verwendet haben

 
Hallo Leute, ich habe auf dem Markt drei Kaufaufträge zu einem Preis der Preis steigt 10 Pips und wir haben +10 Pips für jeden Auftrag möchte ich drei Verkaufsaufträge zu sperren, jetzt, wie diese Aufträge zu machen sind nicht mehr in mkl4 überprüft
 
Ghabo:

Ich danke Ihnen.

Können Sie mir sagen, wo der Fehler liegt? Die Situation ist folgende: Wenn ich ein gewöhnliches Fraktal aufrufe, wird der Pfeil durch die Bedingung gesetzt, wo er sein sollte, wenn ich iFreeNumFractals aufrufe, ist die Bedingung erfüllt, es sollte ein Pfeil da sein, aber er ist es nicht. iFreeNumFractals-Zeilen sind auskommentiert, die Einstellungen sind wie für ein gewöhnliches Fraktal gesetzt. Theoretisch sollte das Bild dasselbe sein, wenn ich die Linien mit dem üblichen Fraktal auskommentiere und iFreeNumFractals auskommentiere, aber...




Sind die iFreeNumFractals-Indikatoren mit Einstellungen wie die Standard- und Standard-Fraktale auf dem Chart zu sehen?

Wenn ja, sind ihre Signale die gleichen?

 
Aleksandr Egorov:
Hallo Leute, ich habe auf dem Markt drei Kaufaufträge zu einem Preis, der Preis steigt um 10 Pips, jeder Auftrag hat +10 Pips, ich möchte drei Verkaufsaufträge sperren, wie soll ich nun diese Aufträge nicht mehr in mkl4 prüfen lassen?

Wenn Sie verstanden werden wollen - was genau Sie wollen -, verwenden Sie Satzzeichen in Ihrem Text. Ansonsten, alles auf einen Haufen - finden Sie heraus, was Sie meinen...

 
Taras Slobodyanik:

so wie CHART_BRING_TO_TOP zuvor verwendet wurde

Seit ich es benutze, funktioniert nichts mehr. Es wird wahrscheinlich nicht allzu schwer sein, dasselbe zu tun, nur als Indikator und bringen Sie es bis zu CHART_BRING_TO_TOP.
 
Artyom Trishkin:

Wenn Sie verstanden werden wollen - was Sie wollen, verwenden Sie Satzzeichen in Ihrem Text. Ansonsten haben Sie alles auf einen Haufen geworfen - überlegen Sie, was Sie meinen...

Wir haben drei Kaufaufträge auf dem Markt zu einem Preis, der Preis steigt um 10 Pips, wir haben +10 Pips für jeden Auftrag, ich möchte drei Verkaufsaufträge sperren, wie kann ich nun sicherstellen, dass diese Aufträge nicht mehr in mcl4 geprüft werden?

 

Forum für Handel, automatisierte Handelssysteme und Strategietests

Alle Fragen von Neulingen zu MQL4, Hilfe und Diskussion über Algorithmen und Codes

Taras Slobodyanik, 2018.10.07 22:12

GlobalVariableCheck()- prüft, ob diese Variable bereits existiert, wenn nicht, dann
GlobalVariableTemp()- erzeugt eine temporäre Variable, die beim nächsten Start von selbst wieder gelöscht wird.

Dieser Punkt ist klar, Frage, warum, wenn es keine GP erstellt nur vorübergehend und nicht dauerhaft durchGlobalVariableSet?

 
Artyom Trishkin:

Sind die iFreeNumFractals-Indikatoren mit Einstellungen wie die Standard- und Standard-Fraktale auf dem Chart zu sehen?

Wenn ja, stimmen ihre Signale überein?

Die Fraktale stimmen vollständig überein.

Die Pfeile auf den Standardfraktalen auf dem Screenshot

iFreeNumFractals setzt das erste und das letzte, die mittleren drei fehlen.

aqz

Grund der Beschwerde: