Diskussion zum Artikel "Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil XXI): Handelsklassen - Basisklasse des Handels, Verifikation der Einschränkungen" - Seite 2
Was steht also nach der Ereignisverarbeitung am Ende des Ereignistyp-Prüfmoduls in der Variablen last_event? Das ist es, was Sie im EA zurücksetzen müssen. Und nicht zwangsweise die Methode zum Zurücksetzen des letzten Ereignisses der Bibliothek aufrufen - die Bibliothek selbst ruft es direkt nach dem Senden des Ereignisses an den Chart und schreiben es in die Liste der Ereignisse.
Ja. Ich habe es einfach übersehen und keine Zeile am Ende eingefügt.
Artyom Trishkin: Sie können es einfach mit TRADE_EVENT_NO_EVENT gleichsetzen.
Es funktioniert nicht. Es wird bei jedem Tick gedruckt. Der Auftrag wird beim fünften Tick aktiviert, es wird 4 Mal "1" im Protokoll gedruckt und dann wird bei jedem Tick "20" gedruckt.
//--- Wenn sich das letzte Handelsereignis geändert hatif(engine.LastTradeEvent() != last_event)
{
last_event=engine.LastTradeEvent();
switch(last_event)
{
case TRADE_EVENT_PENDING_ORDER_PLASED :
Print(__FUNCTION__, "***", last_event);
break;
case TRADE_EVENT_PENDING_ORDER_REMOVED :
break;
case TRADE_EVENT_PENDING_ORDER_ACTIVATED :
{
Print(__FUNCTION__, "***", last_event);
//OrderActivated();break;
}
case TRADE_EVENT_POSITION_OPENED :
break;
case TRADE_EVENT_POSITION_CLOSED :
break;
//---default :
break;
}
last_event = TRADE_EVENT_NO_EVENT;
}
Es funktioniert nicht. Er druckt bei jedem Tick. Der Auftrag wird beim fünften Tick aktiviert, er druckt 4 Mal "1" im Protokoll und dann "20" bei jedem Tick.
Sie müssen sehen, was Sie dort erstellt haben. Es funktioniert in Test-Expert Advisors.
Ich bin auf meinem Handy. Ich werde in etwa fünf Stunden da sein.
Artyom Trishkin: Wir müssen sehen, was Sie getan haben. Bei den Testberatern funktioniert es.
Ich bin auf meinem Handy. Ich werde erst in fünf Stunden da sein.
Ich habe noch nichts geschrieben. Oberhalb des Codes im vorherigen Beitrag steht nur dies.
//--- Initialisierung des letzten Handelsereignissesstatic ENUM_TRADE_EVENT last_event = WRONG_VALUE;
//--- Wenn Sie im Prüfgerät arbeitenif(MQLInfoInteger(MQL_TESTER))
{
engine.OnTimer();
}
Und unten der Code, der zwei Aufträge OP_SELLLIMIT und OP_SELLSTOP öffnet
Artyom Trishkin: Ich muss den ganzen Code sehen. Schicken Sie ihn in einer privaten Nachricht oder hier, wenn er nicht hinter sieben Siegeln versteckt ist.
Was steht also nach der Ereignisverarbeitung am Ende des Ereignistyp-Prüfmoduls in der Variablen last_event? Das ist es, was Sie im EA zurücksetzen müssen. Und nicht zwangsweise die Methode zum Zurücksetzen des letzten Ereignisses der Bibliothek aufrufen - die Bibliothek selbst ruft es direkt nach dem Senden des Ereignisses an den Chart und schreiben es in die Liste der Ereignisse.
Ja. Ich habe es einfach übersehen und keine Zeile am Ende eingefügt.
Ja. Ich habe nur eine Zeile am Ende übersehen.
Sie können es einfach mit TRADE_EVENT_NO_EVENT gleichsetzen.
Es funktioniert nicht. Es wird bei jedem Tick gedruckt. Der Auftrag wird beim fünften Tick aktiviert, es wird 4 Mal "1" im Protokoll gedruckt und dann wird bei jedem Tick "20" gedruckt.
Es funktioniert nicht. Er druckt bei jedem Tick. Der Auftrag wird beim fünften Tick aktiviert, er druckt 4 Mal "1" im Protokoll und dann "20" bei jedem Tick.
Wir müssen sehen, was Sie getan haben. Bei den Testberatern funktioniert es.
Ich habe noch nichts geschrieben. Oberhalb des Codes im vorherigen Beitrag steht nur dies.
Und unten der Code, der zwei Aufträge OP_SELLLIMIT und OP_SELLSTOP öffnetIch habe noch nichts erstellt. Oberhalb des Codes im vorherigen Beitrag ist nur dies.
Und unterhalb des Codes werden zwei Aufträge OP_SELLLIMIT und OP_SELLSTOP eröffnet.Ich muss den ganzen Code sehen. Schicken Sie ihn in einer privaten Nachricht oder hier, wenn er nicht hinter sieben Siegeln versteckt ist.
Es ist noch nichts da.
Nun, da gibt es noch nichts.
Ich muss Ihren Code ausführen, um eine Antwort zu erhalten. Ich werde da sein und auf Sie zurückkommen.
Ich weiß, dass Sie nicht zu Hause sind und ich will Sie nicht drängen.
Ich weiß, dass du nicht zu Hause bist und ich dich nicht hetzen will.