[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 913
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich habe ivanduraks Beitrag gelesen und sofort erkannt, dass nach jedem Tick nur der Start ausgelöst wird, wenn man also die Variable global öffnet, scheint sie den Wert zu speichern.
Es muss also so sein.
So akzeptiert der Compiler die Zeile int KolBars=Bars kategorisch nicht; er sagt 'Bars' - Initialisierung erwartet C:\Program Files (x86)\Alpari ÌÒ4\experts\Áëù.mq4 (8, 13)
Erstaunlich!!!!! Normale Variablendeklaration, aber das macht nichts.
Ich werde die Hauptsache fragen - wie ein EA am Wochenende zu debuggen, wenn die Ticks nicht gehen?????
Wozu dient das Prüfgerät?
ÜBER DEN GENETISCHEN ALGORITHMUS!!!
In meinem Fall werden die Gewichte für das neuronale Netz ausgewählt. Wenn Sie die Optimierung ohne genetischen Algorithmus durchführen, wird sie SEHR lange dauern.
Der Code enthält keine Pseudo-Zufälligkeiten.
Der Gen-Algorithmus probiert zwar auch viele Varianten aus, handelt aber ebenfalls nach einem bestimmten Programm (in ein und demselben Intervall und unter ein und denselben Bedingungen). Warum wir dann unterschiedliche Ergebnisse erhalten, ist mir unverständlich.
Übrigens hat niemand die Frage gestellt, um die Arbeit des GEN ALGORITHM zu testen. Genau: zwei Mal Optimierung durchführen und Ergebnisse vergleichen.... Versuchen.
ÜBER DEN GENETISCHEN ALGORITHMUS!!!
In meinem Fall werden die Gewichte für das neuronale Netz ausgewählt. Wenn Sie die Optimierung ohne genetischen Algorithmus durchführen, wird sie SEHR lange dauern.
Der Code enthält keine Pseudo-Zufälligkeiten.
Der Gen-Algorithmus probiert zwar auch viele Varianten aus, handelt aber ebenfalls nach einem bestimmten Programm (in ein und demselben Intervall und unter ein und denselben Bedingungen). Warum wir dann unterschiedliche Ergebnisse erhalten, ist mir unverständlich.
Übrigens hat niemand die Frage gestellt, um die Arbeit des GEN ALGORITHM zu testen. Genau: führen Sie die Optimierung zweimal durch und vergleichen Sie die Ergebnisse....A versuchen Sie es.
Bedienen Sie sich.
https://www.mql5.com/ru/articles/1409https://www.mql5.com/ru/articles/1408 https://www.mql5.com/ru/articles/1511
Liebe Experten! Könnten Sie bitte eine Funktion vorschlagen, die das Los und die Anzahl der Aufträge in Abhängigkeit vom Saldowert ändert?
ÜBER DEN GENETISCHEN ALGORITHMUS!!!
Übrigens hat niemand die Frage gestellt, wie man die Arbeit des GENE ALGORITHM TESTEN kann. Genau: führen Sie die Optimierung zweimal durch und vergleichen Sie die Ergebnisse....A versuchen Sie es.
Sie arbeiten schon lange mit mql, so wie ich es verstehe, verwendet gen. alg. Pseudozufallszahlen, um die anfänglichen Setup-Pakete zu verfolgen, und fängt erst dann an, anhand gegebener Definitionen zu überlegen, wo und wonach zu suchen ist.
https://www.mql5.com/ru/articles/1408
Das Funktionsschema des genetischen Algorithmus
1. den Anfangszeitpunkt t=0 einleiten. Bilden Sie nach dem Zufallsprinzip eine Ausgangspopulation, die aus k Individuen besteht. B0 = {A1,A2,...,Ak)
2. ...
Liebe Experten! Bitte nennen Sie mir die Funktion, die das Los und die Anzahl der Aufträge in Abhängigkeit vom Saldowert ändert.
https://www.mql5.com/ru/code/8192
Der Autor verwendet eine dynamische Partie und eine maximale Anzahl von Optionen.
MaxOrders_Desc = "wenn 0, ist die Anzahl der gleichzeitig geöffneten Positionen nicht auf 1-3 begrenzt";
MaxOrders = 1;
Lots_Desc = "If 0 Apply Dynamic Lot";
Lose = 1;
Bitte teilen Sie uns mit, ob es möglich ist, Aufträge für verschiedene Währungspaare in einem Zyklus zu öffnen, während nach der Überprüfung der Eingabebedingung ein Fehler 4051 auftaucht
while(true)
{
if (Total==0 && Opn_B==true && Total1==0 && Opn_S1==true) // keine offenen Aufträge für das erste und zweite Währungspaar plus die Eröffnungskriterien
{
RefreshRates(); // Daten aktualisieren
double bid = MarketInfo(Symb2,MODE_BID);
Alert("Versucht, Kauf und Verkauf zu öffnen. Wartet auf Antwort.");
Ticket=OrderSend(Symb1,OP_BUY,Lts,Ask,2,0,0); //open Buy
Ticket1=OrderSend(Symb2,OP_SELL,Lts,bid,2,0,0);
if (Ticket > 0 && Ticket1 > 0) // Es hat funktioniert :)
{
Alert ("Buy and Sell order opened ",Ticket,Ticket1);
return; // Exit start()
}
if (Fun_Error(GetLastError())==1) // Fehlerbehandlung
continue; // Retry
return; // Exit start()
}
So akzeptiert der Compiler die Zeile int KolBars=Bars kategorisch nicht; er sagt 'Bars' - Initialisierung erwartet C:\Program Files (x86)\Alpari ÌÒ4\experts\Áåë.mq4 (8, 13)
Ich werde die Hauptsache fragen - wie ein EA am Wochenende zu debuggen, wenn die Ticks nicht gehen ?????
Guten Tag!!! LOL!!!!!! ''for'' - zu komplexer Ausdruck C:\Program Files (x86)\Alpari MT4\experts\bred.mq4 (34, 1)
''for'' - zu komplexer Ausdruck C:\Program Files (x86)\Alpari ??4\experts\???????.mq4 (34, 1)
Ist es möglich, einen EA an einem Wochenende im Testmodus auf die gleiche Weise zu debuggen, wie wenn man Ticks auf der Plattform empfängt und Antworten von den Funktionen Comment, Alert, erhält?
Bitte teilen Sie uns mit, ob es möglich ist, Aufträge für verschiedene Währungspaare in einem Zyklus zu öffnen, während nach der Überprüfung der Eingabebedingung ein Fehler 4051 auftaucht
while(true)
{
if (Total==0 && Opn_B==true && Total1==0 && Opn_S1==true) // keine offenen Aufträge für das erste und zweite Währungspaar + es gibt offene Kriterien
{
RefreshRates(); // Daten auffrischen
double bid = MarketInfo(Symb2,MODE_BID);
Alert("Versuch, Kauf und Verkauf zu öffnen, warte auf Antwort...");
Ticket=OrderSend(Symb1,OP_BUY,Lts,Ask,2,0,0);//Kauf eröffnen
if(GetLastError()==4051)Alert("Symb1"+Symb1+" Lts "+Lts+" Ask "+Ask);
//if(Ticket>0)Sleep(50);sonst weiter;
Ticket1=OrderSend(Symb2,OP_SELL,Lts,bid,2,0,0);
if(GetLastError()==4051)Alert("Symb2"+Symb2+" Lts "+Lts+" bid "+bid);
if (Ticket > 0 && Ticket1 > 0) // Es hat funktioniert :)
{
Alert ("Eröffneter Kauf- oder Verkaufsauftrag ",Ticket,Ticket1);
return; // Beenden
}
if (Fun_Error(GetLastError())==1) // Fehlerbehandlung
continue; // erneut versuchen
return; // Beenden von start()
}