Spread-Handel in Meta Trader - Seite 48

[Gelöscht]  
Hier ist ein Skript, das sofort die erforderlichen Informationen anzeigt, damit das Tool den Koeffizienten manuell berechnen kann. Jetzt ist es eine Sache von fünf Minuten, den Code für die automatische Berechnung zu schreiben
Dateien:
dvcg.mq4  1 kb
[Gelöscht]  
forex-k >>:

спасибо!

я считаю так:

Стоимость пункта ( Инструмент1 ) = Размер минимального изменения цены инструмента в валюте депозита / ( Минимальный шаг изменения цены инструмента в валюте котировки /Размер пункта в валюте котировки)

Стоимость пункта ( Инструмент2 ) = Размер минимального изменения цены инструмента в валюте депозита / ( Минимальный шаг изменения цены инструмента в валюте котировки /Размер пункта в валюте котировки)


далее смотрим стоимость пункта какого инструмента больше, допустим Инструмент1


коф= Стоимость пункта Инструмент1/ Стоимость пункта Инструмент2


lot1( Инструмент1 )=lot базовый

lot2( Инструмент2 )=lot базовый*коф

Nehmen wir an, wir haben Gold und Silber


Losgröße=0,1;


Punktwert ( GCG0 ) =10/(0,1/0,1)=10;

Punktwert ( SIH0 ) =25/(0,005/0,001)=5;


kof= 10/5=2;


lot1( GCG0 )=0.1;

Los2( SIH0 )=0,1*2=0,2;

 

GUT. Ich danke Ihnen. Wir werden uns das ansehen.

Eine weitere Frage an alle, die sie beantworten können.

Ich teste derzeit einen EA nach der angegebenen Methodik, der im Tester funktioniert - mit simulierten virtuellen Trades auf dem zweiten Instrument.

Es funktioniert gut, aber es gibt ein Problem mit der Anzeige des Kommentars.

Mit dem Aktivieren des Kommentars beginnen die Probleme.


Manchmal funktioniert es gut.

Häufiger jedoch zeigt das Protokoll (wenn der Kommentar eingeschaltet ist) die Division durch Null an - ZERO DIVIDE

Nach einer Analyse haben wir herausgefunden, dass dies auf eine Teilung zurückzuführen ist

zu /POINT_1 und /POINT_2, an mehreren Stellen im Kommentarcode, wo

double POINT_1 = MarketInfo( Symbol_1,MODE_POINT); 
double POINT_2 = MarketInfo( Symbol_2,MODE_POINT); 
Ich kann auf diese Aktionen nicht verzichten, da ich sonst den aktuellen Gewinn/Verlust der virtuellen Trades auf dem zweiten Instrument nicht in Pips erhalten kann.

Ist jemand auf dieses Problem gestoßen?

Wie kann ich denZERO DIVIDE hier beseitigen ?

 

Das Thema interessiert mich, und bevor ich mich an die praktische Umsetzung der Idee mache, erlaube ich mir ein paar theoretische Überlegungen:


  • Die Korrelation der Instrumente ist nicht konstant, das müssen Sie verstehen. Selbst bei einem Paar wie Schweine- und Rindfleisch kann ein Ereignis eintreten, das die Korrelation auf -1 umkehrt (z. B. bei einem Ausbruch der Schweinegrippe wird der Preis von Schweinefleisch sinken und der Preis von Rindfleisch als Konkurrent steigen), und wir können unbegrenzte Verluste erleiden, weil wir gegen den Trend in den Spread einsteigen, in der Hoffnung, dass er sinkt. Dieses Problem lässt sich lösen, indem man ein Portfolio aus vielen unkorrelierten Paaren zusammenstellt und über Verlustkontrolle nachdenkt (nicht übermäßiges Aussitzen).
  • Wie timbo richtig bemerkte, sollten wir die Stationarität der Spanne bewerten. Grob gesagt, sollten wir die Dynamik von MA und RMS anhand der Streuung beurteilen. Sie sollten über den gesamten Verlauf konstant (+/-) sein. Alternativ können wir die Verteilung der Spread-Werte grafisch darstellen - im Idealfall erhalten wir eine Gaußsche Kurve mit dem Scheitelpunkt bei 0. Das alles sollte dazu dienen, die Auswahl der Paare für das Portfolio zu automatisieren/beschleunigen.
  • Ich bin mir nicht ganz sicher, ob der Ansatz von forex-k in Bezug auf die Spread-Konstruktion (Abzug eines Muvings vom Preis) korrekt ist. Sicherlich bringt es die Preise auf einen gemeinsamen Nenner, aber es berücksichtigt nicht das Gewicht der Punkte. Zum Beispiel würde eine 5%ige Veränderung bei einem Instrument 300 Pips und bei einem anderen 600 Pips betragen. In diesem Fall ergibt sich eine große Spanne, aber es gibt keine erwartete Rückkehr zu 0 (da die prozentuale Veränderung dieselbe ist). Meiner Meinung nach ist es interessanter, die Spanne aus Close[i]/Close[i+n] zu ziehen, dann können wir die Spanne in relativer (%) Veränderung schätzen.
  • Bei der Berechnung der Lots sollte nicht nur der Punktwert berücksichtigt werden, sondern auch die Volatilität der Instrumente, um Bewegungen auszugleichen, die in Prozent gleich sind.
Verzeihen Sie mir, wenn ich zu viel sage, aber ich ziehe es vor, ein wenig nachzudenken, bevor ich mich mit einem Schwert in die Schlacht stürze :-)
[Gelöscht]  
neoclassic >>:

Я заинтересовался темой, и перед тем, как приступить к практической реализации идеи, позволю себе пару-тройку теоретических соображений:


  • Я не совсем уверен что подход forex-k верен в плане построения спреда (вычитание мувинга из цены). Конечно это позволяет привести цены к общему знаменателю, но не учитывает вес пункта. Например изменение на 5% для одного инструмента составит 300 пунктов, а для другого - 600. В этом случае мы получим здоровенный спред, но ожидаемого возврата к 0 не будет (т.к. в % изменились одинаково). На мой взгляд интереснее строить спред от Close[i]/Close[i+n], тогда мы сможем оценивать спред в относительных (%) изменениях.

Ich habe dies in den neuen Versionen des Indikators berücksichtigt und verwende auch Ausgleichskoeffizienten

 
neoclassic >>:

корреляция инструментов - штука не постоянная, это надо понимать. Даже в такой паре как свинина и говядина может наступить событие, которое обратит корреляцию до -1....

Übrigens, auf dem Getreidemarkt spielt sich derzeit eine kuriose Situation ab!

Weizen, Mais, Bohnen ... -

Langsamer Abwärtstrend. Interessanterweise haben sich die Linien der gehandelten Instrumente fast am gleichen Punkt angenähert!
Was könnte das aus grundsätzlicher Sicht bedeuten?
ZC+ZW+ZS+ZM.
Das kommt in der Geschichte nicht so oft vor.

 
rid писал(а) >>

Ich teste jetzt einen EA nach der angegebenen Methodik, der im Tester funktionieren kann - mit simulierten virtuellen Trades auf dem zweiten Instrument.

Es funktioniert gut, aber es gibt ein Problem mit der Anzeige des Kommentars.

Ist jemand auf dieses Problem gestoßen?

Wie kann ich ZERO DIVIDE reparieren ?

Im Tester durch ein anderes Symbol MarketInfo weit nicht immer zeigt, was ich brauche, nur online funktioniert gut.

 

Gefunden offizieller Kommentar:

Moderator
5084
stringo 25.03.2009 10:19

Wie oft kann ich mich wiederholen und schreiben? MarketInfo im Testgerät funktioniert nicht! Mit Ausnahme einiger weniger Abfragen.

 

Ich gehe immer noch davon aus, dass diese spezielle Störung nichts mit MarketInfo zu tun hat.

Hier ist es nun - fertig - wie hier beschrieben:

Fehler bei der "Nullteilung" .......... wer ist der Dummkopf????

und es scheint bisher zu funktionieren (puh, puh, puh).

 

Ja, - siehe diese MarketInfo-Funktionen

double Ask_1 = MarketInfo(Symbol_1,MODE_ASK);
double Bid_1 = MarketInfo(Symbol_1,MODE_BID);
double Ask_2 = MarketInfo(Symbol_2,MODE_ASK);
double Bid_2 = MarketInfo(Symbol_2,MODE_BID)
double POINT_1 = MarketInfo(Symbol_1,MODE_POINT);
double POINT_2 = MarketInfo(Symbol_2,MODE_POINT);
So wird die Arbeit meines "Schiedsrichters" jetzt im visuellen Testlauf angezeigt:

(in Arbeit - zweite Absicherung öffnen: BRN kaufen + CL verkaufen, - und der aktuelle Verlauf der Transaktionen - wird angezeigt - sowohl einzeln, - als auch zusammen: -112 +101 = 11)

Es bleibt, die Arbeit des EA durch Balken zu synchronisieren. Da diese beiden Instrumente häufig zu unterschiedlichen Zeitpunkten gehandelt werden.