[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

 
Dimka-novitsek:

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?????


//| Бред.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
int KolBars=Bars;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
KolBars=Bars;

return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{int r;
r=Bars- KolBars
//----
for( r>0 )
int k;

KolBars=Bars;

//----
return(0);
}
//+------------------------------------------------------------------+ 
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.

 
Stepan241:

Ü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?

 
Stepan241:

Ü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. ...

 
fanat:

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()
}

 
Dimka-novitsek:

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 ?????

1.
//| Бред.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
int KolBars;//=барс нельзя переменную присвоить вне функций




//| expert initialization function 
|

int init()
{
KolBars=Bars; //один раз при инициализ.

return(0);
}
...
2. Zum Strategietest ;).
 

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?

 
xxxslavaxxx:

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()
}