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

 
Snajper007 #:

Dieser Code zeigt das Signal bei der 10. Kerze an. Ich muss das Signal bei jeder Kerze von 1 bis N überprüfen.

Ändern Sie die Reihenfolge der Suche.

Sie suchen von der Tiefe der Zeit bis zur Gegenwart und finden so das "älteste Signal".

Nach iCustom zu urteilen, haben Sie 4 und damit die Nummerierung.

die Schleife muss von 0 (eher 1-2) bis zu N reichen

for(int i=0;i<n;i++)

 
Snajper007 #:
int n=10;
   datetime bar_sig_buy, bar_sig_sell;

   for(int i=n;i>=0;i--)
     {
     // для покупок
   double a1 = iCustom(NULL, 0, "FL11", 4, i);
   // для продаж 
   double a2 = iCustom(NULL, 0, "FL11", 5, i);


      if(a1 > 0)
         bar_sig_buy=Time[i];
         
      if(a2 > 0)
        bar_sig_sell = Time[i];
     Comment("bar_sig_sell = " + DoubleToString(bar_sig_sell)+ "\n" +
     "bar_sig_buy = " + DoubleToString(bar_sig_buy));

     }
 
Soweit ich mich erinnere, ist der FL11-Indikator schief und man kann ihn nicht richtig benutzen. Umzeichnen... Der Zyklus sollte von 0 nach links führen und unterbrechen, wenn ein Signal gefunden wird... Oder Sie setzen die Zeit des Signals im Hauptteil des Zyklus zurück und drucken das Ergebnis jedes Taktes. Aber Sie werden mit diesem Indikator nichts lernen, kaufen Sie einen normalen Indikator.
 
MakarFX #:
int n=10;
   datetime bar_sig_buy, bar_sig_sell;

   for(int i=n;i>=0;i--)
     {
     // для покупок
   double a1 = iCustom(NULL, 0, "FL11", 4, i);
   // для продаж 
   double a2 = iCustom(NULL, 0, "FL11", 5, i);


      if(a1 > 0)
         bar_sig_buy=Time[i];
         
      if(a2 > 0)
        bar_sig_sell = Time[i];
     Comment("bar_sig_sell = " + DoubleToString(bar_sig_sell)+ "\n" +
     "bar_sig_buy = " + DoubleToString(bar_sig_buy));

     }
Es hat sich nichts geändert. Das Signal wird immer noch an der 10. Kerze angezeigt.
 
Snajper007 #:
Es hat sich nichts geändert. Das Signal wird immer noch an der 10. Kerze angezeigt.
2021.11.08 18:44:44.620 2021.10.15 17:10:00  BAG GBPUSD,H1: 0/sell: 2021.10.15 17:00:00
2021.11.08 18:44:44.571 2021.10.15 17:07:30  BAG GBPUSD,H1: 0/sell: 2021.10.15 17:00:00
2021.11.08 18:44:44.530 2021.10.15 17:05:00  BAG GBPUSD,H1: 3/sell: 2021.10.15 14:00:00
2021.11.08 18:44:44.480 2021.10.15 17:02:30  BAG GBPUSD,H1: 3/sell: 2021.10.15 14:00:00
2021.11.08 18:44:44.432 2021.10.15 17:00:00  BAG GBPUSD,H1: 3/sell: 2021.10.15 14:00:00
2021.11.08 18:44:44.385 2021.10.15 16:59:59  BAG GBPUSD,H1: 2/sell: 2021.10.15 14:00:00
2021.11.08 18:44:44.339 2021.10.15 16:57:30  BAG GBPUSD,H1: 2/sell: 2021.10.15 14:00:00
 
Snajper007 #:
Es hat sich nichts geändert. Das Signal wird immer noch an der 10. Kerze angezeigt.

Hier ist die Funktion zur Analyse des Signals dieses Indikators aus meinem alten Archiv, passen Sie es für Ihre eigenen Bedürfnisse an...

Gibt das letzte Signal zurück. 1 - obere Sonne, 0 - untere Sonne. -1 - kein Signal/Fehler.

int gsun(ENUM_TIMEFRAMES tf)
{
double up=0.0,dw=0.0;
for(int i=1;i<iBars(Symbol(),tf);i++)
  {
  up=iCustom(Symbol(),tf,"FL11",Period1,Period2,Period3,Deviat1,Deviat2,Deviat3,5,i);
  dw=iCustom(Symbol(),tf,"FL11",Period1,Period2,Period3,Deviat1,Deviat2,Deviat3,4,i);
  if(up!=0.0&&up!=EMPTY_VALUE)return(1);
  if(dw!=0.0&&dw!=EMPTY_VALUE)return(0);
  }
return(-1);
}
//---
 

MakarFX

Ich danke Ihnen! Es klappt!

 
Nikolay Ivanov #:
Soweit ich mich erinnere, ist der FL11-Indikator schief und man kann ihn nicht richtig benutzen. Umzeichnen... Der Zyklus sollte von 0 nach links führen und unterbrechen, wenn ein Signal gefunden wird... Oder Sie setzen die Zeit des Signals im Hauptteil des Zyklus zurück und drucken das Ergebnis jedes Taktes. Aber Sie werden mit diesem Indikator nichts lernen.
Was ist ein normaler Indikator?
 
Snajper007 #:


Das Bild wird über die Schaltfläche Bild eingefügt oder über die Schaltfläche Datei anhängen

 
Snajper007 #:
Was ist der richtige Indikator?

Jeder, der nicht mehr als die Logik, normalerweise 0 bar, für Fraktale 2 überzeichnet.

Ich beurteile den korrekten Betrieb.

Grund der Beschwerde: