Spread-Handel in Meta Trader - Seite 166

 
hrenfx:
Leider kann ich mich nicht mit dem Broco-Server verbinden (um das zu überprüfen), denn aus irgendeinem Grund besteht im Moment keine Verbindung zu ihm.

Die Verbindung ist zustande gekommen. Dies geschieht auf ihren Demoservern.
 

So sieht das Spread-Chart aus:

Es sieht so aus, als ob Sie einen Fehler in Ihren Berechnungen haben.

 

Sie könnten wahrscheinlich rein Währung EURUSD und EURGBP nehmen

Und für den Dollar-Index im Spread-Indikator sollten Sie eine Art Dimensionskorrektur einführen.

 

Es gibt zwei Methoden:

  1. Bleiben Sie an den Pipsollars dran.
  2. Hören Sie auf, sich an ihnen zu orientieren.

Für die Analyse von Spread-Charts ist die zweite Methode die genaueste.

Bringen Sie den Code, der für die Berechnung der dreifachen Spanne verantwortlich ist. Wir werden gemeinsam nach dem Fehler suchen.

 

Das ist kaum ein Fehler. Spreads von verwandten Instrumenten desselben Handelsplatzes (z.B. Sojabohnen ZS-ZM-ZL) werden in allen Kombinationen perfekt wiedergegeben.

Aber natürlich - schauen Sie sich den Code an. Wahrscheinlich werden wir dort tatsächlich einen Fehler finden.

Hier ist der Code für das Streubild:

DieRichtung der Positionen wird hier durch das Vorzeichen an seiner Größe festgelegt.

extern string    Symbol1.Name="6EH1"; // Нога 1. Если не указан, берет по умолчанию текущий инструмент.
extern string    Symbol2.Name="DXH1"; // Нога 2.
extern string    Symbol3.Name="EURGBP";  // Нога 3.
extern double    Symbol1.Vol=-0.1; // Объем сделки 1-ой ноги. 
extern double    Symbol2.Vol=-0.09;  // Объем сделки 2-ой ноги.
extern double    Symbol3.Vol=0.06;  // Объем сделки 3-ей ноги. 
extern bool      EquityScale = true;      // Показывать масштаб эквити.
 int init(){

// Пересчет изменения цены в изменение прибыли определяется следующим коэффициентом,
  // который впоследствии нужно будет умножить на объем сделки, выраженный в лотах
  if(EquityScale) {
    Symbol1.K = MarketInfo(Symbol1.Name, MODE_TICKVALUE)/MarketInfo(Symbol1.Name, MODE_TICKSIZE);
    Symbol2.K = MarketInfo(Symbol2.Name, MODE_TICKVALUE)/MarketInfo(Symbol2.Name, MODE_TICKSIZE);
    Symbol3.K = MarketInfo(Symbol3.Name, MODE_TICKVALUE)/MarketInfo(Symbol3.Name, MODE_TICKSIZE);
  }

int start() {


  // Формируем график прибыльности
  for (i=0;i<limit;i++) 
  {
    t=Time[i];
    last[i] = Symbol1.Vol*Symbol1.K*iClose(Symbol1.Name,0,iBarShift(Symbol1.Name,0,t)) 
            + Symbol2.Vol*Symbol2.K*iClose(Symbol2.Name,0,iBarShift(Symbol2.Name,0,t))
            + Symbol3.Vol*Symbol3.K*iClose(Symbol3.Name,0,iBarShift(Symbol3.Name,0,t));
   
  }
 
Es liegt kein Fehler im Code vor, Sie haben die Lose nur unaufmerksam eingegeben.
 

Hier ist das Diagramm.

Das obere Fenster ist Ihre Variante.

Unteres Fenster - meine Variante EURGBP - (6E + DX) =0 ,06 :0,09:0,10

 
leonid553:

Das obere Fenster ist Ihre Wahl.

Dies ist nicht meine Variante. Bitte posten Sie den Indikator, ich werde ihn bei mir einsetzen.
 

Gut. Bitte laden Sie es auch auf die Euro 6EH1 Tabelle

Der Rest der Parameter:

Dateien:
 

Geben Sie die Lose sorgfältig in Ihren Indikator ein: