Berater für mehrere Währungen. Vorzugsweise die Meinung der Entwickler.

 
Es gibt einen Mehrwährungs-EA. Kurz gesagt, geht es um Folgendes. Alle Berechnungen werden für ein Symbol durchgeführt, während der Handel für ein anderes Symbol durchgeführt wird. Der Expert Advisor arbeitet mit der expliziten Kontrolle der Eröffnung eines neuen Balkens. Auf diese Weise passiert das nächste Unangenehme. Der Expert Advisor kann einen Handel auf einem realen Konto nicht öffnen (überspringen), aber wenn er im Strategy Tester überprüft wird, ist dieser Handel vorhanden. Oder der Expert Advisor eröffnet einen echten Handel einen Takt später als nötig, aber auch hier ist der Handel vorhanden, wenn er im Strategy Tester überprüft wird. Womit kann sie in Verbindung gebracht werden?
 
LeoV:
Es gibt einen Mehrwährungs-EA. Die kurze Idee ist die folgende. Für ein Symbol werden alle Berechnungen durchgeführt, und der Handel wird für ein anderes Symbol durchgeführt. Der Expert Advisor arbeitet mit der expliziten Steuerung des Öffnens eines neuen Balkens. Auf diese Weise passiert die nächste unangenehme Sache. Der Expert Advisor kann einen Handel auf einem realen Konto nicht öffnen (überspringen), aber wenn er im Strategy Tester überprüft wird, ist dieser Handel vorhanden. Oder der Expert Advisor eröffnet einen echten Handel einen Takt später als nötig, aber auch hier ist der Handel vorhanden, wenn er im Strategy Tester überprüft wird. Womit kann sie in Verbindung gebracht werden?

Eine Position wird möglicherweise nicht eröffnet, wenn neue Kurse eingehen und Sie mit alten Kursen eröffnen...

 
kharko:

Eine Position wird möglicherweise nicht eröffnet, wenn neue Kurse eingehen und Sie mit alten Kursen eröffnen...

Ich verstehe, was Sie meinen, aber der EA handhabt diese Situation. Wenn man sich das Protokoll anschaut, gibt es überhaupt kein Signal. Das bedeutet, dass der EA nicht selbst ausgelöst hat (keine Aufforderung zur Positionseröffnung). Oder es funktionierte nur beim nächsten Takt. Und das geschieht nicht immer. Aber nur manchmal. Und was damit zusammenhängt, ist überhaupt nicht klar...... Obwohl im Testgerät alles in Ordnung ist und alles korrekt geöffnet und geschlossen wird

 
Auf welchem Chart analysiert oder handelt der EA? Wird iBarShift() verwendet, mit welchem Flag, oder gar nicht verwendet?
 
LeoV:
Es gibt einen EA mit mehreren Währungen. Kurz gesagt, bedeutet dies Folgendes. Alle Berechnungen werden für ein Symbol durchgeführt, während der Handel für ein anderes Symbol durchgeführt wird. Der Expert Advisor arbeitet mit der expliziten Steuerung des Öffnens eines neuen Balkens. Auf diese Weise passiert das nächste Unangenehme. Der Expert Advisor kann einen Handel auf einem realen Konto nicht öffnen (überspringen), aber wenn er im Strategy Tester überprüft wird, ist dieser Handel vorhanden. Oder der Expert Advisor eröffnet einen echten Handel einen Takt später als nötig, aber auch hier ist der Handel vorhanden, wenn er im Strategy Tester überprüft wird. Womit kann sie in Verbindung gebracht werden?

Versuchen Sie auszudrucken...

Print(.



vor dem Signal, nach dem Signal, beim Öffnen, nach dem Öffnen

ausdrückliche Bedingungen drucken

wie



// Print( " wait for MyOPEN == 1 " + MyOPEN );


wenn ( MyOPEN == 1 )

{

Print( " eingegeben von MyOPEN == 1 " );
.


...


}



---

Oh, und mehr über die Eröffnung neuer BARs !!!

Beachten Sie, dass es übersprungene Takte gibt! Und der Tester erzeugt keine fehlenden Balken

Suchen Sie nicht nur nach einer Bar, sondern nach einer neuen Bar

---

genau jetzt in meiner Echtzeit

auf dem Chart EURUSD M5 haben sich seit Beginn des Tages 140 Balken gebildet, aber im CHF 137 Balken, d.h. 3 Balken verloren :-)

Wenn Sie einfach nach dem Balken suchen, der dem EUR im CHF entspricht, können Sie einen Balken übersehen.

---


und dann gibt es noch Requotes



Wenn Sie ein SIGNAL hatten und es nicht verpassen können, nutzen Sie einfach die Bedingung, um in den Markt einzusteigen oder ihn zu verlassen!

und prüfen Sie, ob Ihr Signal FÜLLT ist!

und bis er fertig ist - den Code ausführen lassen - um nicht in eine Schleife zu geraten, einen Zähler erstellen

nach dem Verlassen des Schalters - prüfen, ob Sie reingehen müssen - rausgehen

und wenn es nötig ist - wiederholen Sie es



----

Darüber hinaus ist der Handelskodex

Außerdem kann dieser Code nicht einfach sein!


(es gibt einen Code, der für die mechanische Arbeit verantwortlich ist - Öffnung des Schleppnetzes, verlustfreies Schließen, d.h. Arbeit mit Aufträgen nach Erhalt von Signalen)

 
LeoV:
Es gibt einen Expert Advisor für mehrere Währungen. Die kurze Idee ist die folgende. Alle Berechnungen werden für ein Symbol durchgeführt, während der Handel für ein anderes Symbol erfolgt. Der Expert Advisor arbeitet mit einer expliziten Steuerung der Eröffnung eines neuen Balkens. Auf diese Weise passiert das nächste Unangenehme. Der Expert Advisor kann einen Handel auf einem realen Konto nicht öffnen (überspringen), aber wenn er im Strategy Tester überprüft wird, ist dieser Handel vorhanden. Oder der Expert Advisor eröffnet einen echten Handel einen Takt später als nötig, aber auch hier ist der Handel vorhanden, wenn er im Strategy Tester überprüft wird. Womit kann sie in Verbindung gebracht werden?

Diese werden als Requotes bezeichnet. In der Testversion sind die Geschäfte keine Requotes. Wenn also das Ticket des eröffneten Handels negativ ist, muss die Flagge des gebildeten Balkens zurückgesetzt werden.




static int prevtime = 0; // Startzeit des Balkens



...


int start() {


if (Time[0] == prevtime) return(0); // bar ist derselbe, daher exit

prevtime = Time[0]; // neuer Takt, Zeit beibehalten


...


int ticket = -1;


...


ticket = OrderSend(...); // Versuch, Position zu eröffnen

if (ticket < 0) { // Position wurde aus irgendeinem Grund nicht geöffnet.

Sleep(30000);

// Hier setzen wir das Flag des gebildeten Balkens zurück, so dass wir die Operation beim nächsten Tick und nicht beim nächsten Balken wiederholen

prevtime = Time[1];

}


}

 

Der EA arbeitet mit stündlichen Balken. Es geht nicht um Requotes - der EA überwacht dies und sendet bei Bedarf eine neue Anfrage. Ich habe über die Tatsache geschrieben, dass der EA nicht einmal auslöst, um zumindest zu versuchen, einen Auftrag zu eröffnen. Das heißt, 2-3 Bestellungen, es öffnet sich gut (wie es sein sollte), und die vierte (oder dritte) kann nicht einmal beginnen, es zu öffnen oder eine Stunde später öffnen. Obwohl, wenn Sie diesen Moment im Tester überprüfen, wird diese Reihenfolge an der richtigen Stelle sein.

Soweit ich weiß, geht es darum, dass die Ticks für die Instrumente nicht gleichmäßig verteilt sind. Und der Tick für die Eröffnung eines neuen Balkens für das Symbol, für das die Berechnung durchgeführt wird, kann viel später kommen als für das Symbol, mit dem wir handeln. Oder andersherum. Und hier kann eine Diskrepanz auftreten. Doch wie lässt sich dies vermeiden?

 
Ihr Expert Advisor geht davon aus, dass stündliche Kerzen auf verschiedenen Instrumenten synchron geöffnet werden. Mit anderen Worten, wenn eine neue Stundenkerze im EURUSD erscheint, startet der Expert Advisor, der die Werte im stündlichen Zeitrahmen des GBPUSD überprüft. Aber wenn zu diesem Zeitpunkt die neue Stunde für das Pfund noch nicht angebrochen ist, geht alles den Bach runter. Im Allgemeinen müssen wir die EA-Logik ein wenig umgestalten.
 
Rosh:
Ihr Expert Advisor geht davon aus, dass einstündige Kerzen auf verschiedenen Symbolen synchron geöffnet werden. Das heißt, wenn eine neue 1-Stunden-Kerze im EURUSD erscheint, beginnt der Expert Advisor mit der Überprüfung der Werte im stündlichen Zeitrahmen des GBPUSD. Aber wenn zu diesem Zeitpunkt die neue Stunde für das Pfund noch nicht angebrochen ist, geht alles den Bach runter. Im Allgemeinen müssen wir die EA-Logik ein wenig umgestalten.

Danke für die Antwort, ich dachte, das sei der Grund. Bitte, können Sie mir sagen, wie? Denn dies ist ein großes Problem. Hier ist ein Screenshot von der echten Version. Wir können sehen, dass im Strategietester die Position um 15.00 Uhr eröffnet wurde, während sie im realen Konto erst um 16.00 Uhr eröffnet wurde. Obwohl wir die gleichen Parameter im Strategy Tester und auf dem realen Konto haben.

 
LeoV:

Der EA arbeitet mit stündlichen Balken. Es geht nicht um Requotes - der EA überwacht dies und sendet bei Bedarf eine neue Anfrage. Ich habe über die Tatsache geschrieben, dass der EA nicht einmal auslöst, um zumindest zu versuchen, einen Auftrag zu eröffnen. Das heißt, 2-3 Bestellungen, es öffnet sich gut (wie es sein sollte), und die vierte (oder dritte) kann nicht einmal beginnen, es zu öffnen oder eine Stunde später öffnen. Obwohl, wenn Sie diesen Moment im Tester überprüfen, wird diese Reihenfolge an der richtigen Stelle sein.

Soweit ich weiß, geht es darum, dass die Ticks für die Instrumente nicht gleichmäßig verteilt sind. Und der Tick für die Eröffnung eines neuen Balkens für das Symbol, für das die Berechnung durchgeführt wird, kann viel später kommen als für das Symbol, mit dem wir handeln. Oder andersherum. Und hier kann eine Diskrepanz auftreten. Aber wie kann man sie vermeiden?

Beachten Sie, dass ein neuer Tick eines JEDEN Stundenbalkens (für jedes Instrument) der Beginn der Stunde ist

---

die Logik in diesem Sinne zu korrigieren...

sobald der Stundenbalken auf einem beliebigen Instrument geöffnet wird

das andere Instrument neu zu berechnen, wobei davon ausgegangen wird, dass der Balken bereits geschlossen ist, obwohl er keinen neuen Balken gebildet hat

denn in ein paar Ticks oder ein paar Sekunden wird es dort erscheinen


---

Sagen wir, Sie zählen 2 oder 3 Instrumente

Sie können den Beginn der vollen Stunde auf mindestens 20 Symbolen ablesen - vorzugsweise auf den Yen-Instrumenten, da diese sehr schnell sind.



 
// ---  практически гарантия ловли начала часа двумя БОДРЫМИ парами
   if ( TimeSaveBehchH1 == iTime("GBJJPY",PERIOD_H1,0) )
   {
       TimeSaveBehchH1 = iTime("GBJJPY",PERIOD_H1,0); // новый бар  
   }
   if ( TimeSaveBehchH1 == iTime("USDJPY",PERIOD_H1,0) )
   {
       TimeSaveBehchH1 = iTime("USDJPY",PERIOD_H1,0); // новый бар  
   }
//---
   if ( TimeSaveBehchH1 == iTime("EURUSD",PERIOD_H1,0) ) // в довершении ловим на своей рабоче паре
   {
       TimeSaveBehchH1 = iTime("EURUSD",PERIOD_H1,0); // новый бар  
   }
   if ( TimeSaveBehchH1 == iTime("USDCHF",PERIOD_H1,0) ) // ловим на второй паре 
   {
       TimeSaveBehchH1 = iTime("USDCHF",PERIOD_H1,0); // новый бар 
   }


um ehrlich zu sein, und das ist nicht sehr nett ... die Zecke ist bei diesen Paaren nicht gekommen und Sie werden wieder vorbeifliegen

Wenn Sie einen Code zeigen, der eine Eingabe erzeugt, können Sie den Fehler in der Logik vielleicht schneller finden.

 
LeoV:
Rosh:
Ihr Expert Advisor geht davon aus, dass die Stunden-Candlesticks auf verschiedenen Symbolen synchron geöffnet werden. Das heißt, wenn eine neue 1-Stunden-Kerze im EURUSD erscheint, beginnt der Expert Advisor, die Werte im stündlichen Zeitrahmen des GBPUSD zu überprüfen. Aber wenn zu diesem Zeitpunkt die neue Stunde für das Pfund noch nicht angebrochen ist, geht alles den Bach runter. Im Allgemeinen müssen wir die EA-Logik ein wenig umgestalten.

Danke für die Antwort, ich dachte, das sei der Grund. Bitte, können Sie mir sagen, wie? Denn dies ist ein großes Problem. Hier ist ein Screenshot von der echten Version. Wir können sehen, dass im Strategietester die Position um 15.00 Uhr eröffnet wurde, während sie im realen Konto erst um 16.00 Uhr eröffnet wurde. Obwohl die Parameter im Testgerät und in der Realität identisch sind.

...

Für das gehandelte Symbol kam der Tick des neuen Balkens früher, deshalb haben die alten Balken des analysierten Symbols an der Analyse teilgenommen, der Start hat sich abgearbeitet und wartet auf die nächste Stunde. Es macht Spaß, zu raten, ohne einen Teil des Codes zu sehen.