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

 

Erläutern Sie bitte, warum daraufhin im Indikatorfenster nichts angezeigt wird.

Code:

#property indicator_separate_window
#Eigenschaft indicator_buffers 1
#property indicator_color1 Rot
//---- Puffer
double Buf_0[];

int init()
{
//---- Indikatoren

SetIndexPuffer(0,Buf_0);
SetIndexStyle(0,DRAW_LINE, STYLE_SOLID,2);
//----
zurück(0);
}

int start()
{
int i, counted_bars=IndicatorCounted();
i=Balken-gezählt_Balken-1;


while(i>=0)
{
Buf_0[i]=Close[i]/Close[i+1];
i--;
}
zurück(0);
}
//+------------------------------------------------------------------+

 
Abzasc:
Wo ist das genau richtig?


Diese Bedingung sollte filtern, wenn (up>=1|down>=1), Warnungen, mindestens einer von ihnen muss größer als Null sein, aber es ist nicht.

Hier ist

 
Dimka-novitsek:


Diese Bedingung sollte filtern, wenn (up>=1||down>=1), die Warnmeldungen, mindestens eine von ihnen, größer als Null sein sollten, aber sie sind nicht.

Hier


int start()
{int y;
y= WindowFirstVisibleBar();Alert ("y",y);
for (y=1; y>=0;y--) // первое выражение 
{ double up=iFractals(Symbol(),PERIOD_M15,MODE_UPPER,y);
double down=iFractals(Symbol(),PERIOD_M15,MODE_LOWER,y);
if (up>=1||down>=1){
Alert("Previous upper fractal is:", up, " Previous lower fractal is:", down);Alert ("y",y);}}

return(0);
}
 
Galion:


Sie teilen das Editorfenster einfach in zwei Teile :) OK, lassen wir den Doppelklick beiseite. Haben Sie die Syntaxhervorhebung für MQL4-Dateien eingestellt? Wenn nein, dann müssen Sie nach dem Öffnen einer Datei mit MQL-Code im Editor auf Syntax drücken - und ganz unten in der Liste MQL4 auswählen - die Hervorhebung ist dann genau dieselbe wie in MetaEditor

 
Aber ich verstehe nicht, was ich falsch mache?
 
Nein, aber wenn man es ignoriert oder y=1 einsetzt, ändert sich nichts, ich habe es überprüft!
 
Dimka-novitsek:
Aber ich verstehe nicht, was ich falsch mache?

Der Überschuss wurde entfernt.

int start()
{int y;
y= WindowFirstVisibleBar();Alert ("y",y);
// for (y=5;y>=0;y--)
//{ 
double up=iFractals(Symbol(),PERIOD_M15,MODE_UPPER,y);
double down=iFractals(Symbol(),PERIOD_M15,MODE_LOWER,y);
if (up>=1||down>=1){
Alert("Previous upper fractal is:", up, " Previous lower fractal is:", down);Alert ("y",y);}
//}
//----

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

und das ist so.

Das war's?

 
dzhini:

Wahrscheinlich habe ich die Frage nicht richtig gestellt. Der Handel erfolgt auf einem stündlichen Zeitrahmen, und es ist nicht bekannt, wann ein Handel stattfinden wird, aber es muss einer während des Tages sein. Ich würde diese Funktion gerne schaltbar machen. Vielleicht hat jemand ein solches Stück Code?


Sie brauchen nicht nach einem Stück Code zu suchen - Sie können Ihr ganzes Leben lang danach suchen und nichts finden. Sie sollten nach einer Möglichkeit suchen, ein Codefragment selbst zu erstellen. Der Code, den ich Ihnen gegeben habe, ist nicht zum stupiden Kopieren gedacht, sondern damit Sie ihn von Anfang bis Ende verstehen, zumal er sehr einfach ist. So funktioniert dieser Code. Es geht die Liste der Marktaufträge durch und summiert deren Betrag mit den heute eröffneten Aufträgen der Vergangenheit. Wenn die Summe größer als Null ist, wurden die Aufträge heute bereits geöffnet und der Handel ist nicht erlaubt. Wenn Sie einen Schalter benötigen, mit dem Sie berücksichtigen können, wie viele Aufträge heute eröffnet werden können, können Sie ihn mit einem einfachen Vorgang in den Code einfügen. Ihr Problem ist, dass Sie den Algorithmus Ihres Programms nicht kennen, dass Sie nicht verstehen, wie und in welcher Reihenfolge Ihr Programm funktionieren soll. Erfinden Sie einen Algorithmus, sonst wird Ihr Kopf durcheinander sein.

 
Na bitte, ich habe mit Ihnen gesprochen und alles auf einmal bekommen ))) sah gezwickt aus - Sie hatten Recht (ich konnte nicht aus meinem Problemlösungsalgorithmus herausspringen). Vielen Dank für die vielen Tipps. Jetzt habe ich bereits alle vorgeschlagenen Optionen durchdacht: Welche Option funktioniert in welchen Fällen?
 
dzhini:
Nun, ich habe mit Ihnen gesprochen und sofort verstanden, dass alles )))) gezwickt aussah - Sie hatten Recht (ich konnte nicht aus meinem Problemlösungsalgorithmus herausspringen). Vielen Dank für die vielen Tipps. Jetzt habe ich alle vorgeschlagenen Optionen durchdacht: Welche Option funktioniert in welchen Fällen?

Bitte beachten Sie, dass die von mir gezeigten Auftragssuchschleifen den Auftragsstamm nicht berücksichtigen - dies ist ein solches Merkmal, mit dem der EA seine eigenen Aufträge von anderen Aufträgen unterscheiden kann. Dies ist eine Nummer, die einem Auftrag zugewiesen werden kann, wenn er von einem EA eröffnet wird - alle seine Aufträge haben dieselbe Nummer (oder, falls erforderlich, verschiedene automatisch generierte Nummern). Wenn der Händler Aufträge manuell eröffnet, ist die magische Zahl immer gleich Null! Das heißt, wenn wir dem EA magic = 0 hinzufügen, stört der EA die manuellen Trades des Händlers. Wenn Sie möchten, dass der EA die Aufträge des Händlers unberührt lässt und nur seine eigenen Aufträge manipuliert, sollten Sie den Assistenten auf einen anderen Wert als Null setzen. In diesem Fall betrachtet der Expert Advisor alle Aufträge, die keine solche Magie haben, als die eines anderen und lässt sie unberührt.
Grund der Beschwerde: