Trade101 Mehrwährungsindikator - Seite 4

 
Weiß jemand, wie man Positionen auf einen gemeinsamen Nenner bringen kann und wie der Autor es beschreibt? Ich habe das Gefühl, dass ich in MarketInfo suchen muss, aber ich weiß nicht, welchen Parameter.
 
Hmm, ich bekomme immer noch eine Nullteilung. Es ist ein bisschen ein Rätsel.
 

Nullteilung nur, wenn MarketInfo(Pair[j], MODE_POINT)=0.

Das sollte nicht passieren... Ist der Verlauf bei allen Paaren geladen? Versuchen Sie, alle 14 Paare im Terminal zu öffnen.

 
Vielleicht liegt es daran, dass mein CHFJPY nur grau ist. (Der Handel damit ist verboten) Aber die Zitate gehen. Vielleicht kann der Indikator die Markitonfo nicht von dort abrufen? Obwohl ein anderer Indikator mit diesem Symbol gut funktioniert.
 
Wenn Sie können, schreiben Sie ein Skript, um die Marktinformationen für alle Währungen zu drucken. Das sollte die Sache aufklären...
 
Leider bin ich nicht sehr gut im Programmieren. :(
 

Ich frage mich, warum, wenn man nur 2 Paare belässt, z.B. Pair[0]="EURUSD"; Pair[1]="GBPJPY";

Es funktioniert nicht, weil es nicht funktioniert.

Wer es weiß, weiß es nicht; wer es sagt, weiß es nicht. Die Faustformel eines Börsenmaklers
 
sergeev писал(а) >>

Ich frage noch einmal. Sind Sie sicher, dass der Block:

b=true;
while ( b) // сортируем массив по возрастанию
{
b=false;
for ( j=1; j< Max; j++)
  if ( Price[ j]< Price[ j-1]) 
  { 
   a= Price[ j]; Price[ j]= Price[ j-1]; Price[ j-1]= a;
   n= Num[ j]; Num[ j]= Num[ j-1]; Num[ j-1]= n; b=true; 
  }
}

Sortiert das Preis[]-Array korrekt?

Oder habe ich irgendwo eine weitere Schleife übersehen? ;)

Oder hat er (der Block) einen anderen Zweck?

 

Ich weiß nicht, ob es helfen würde. Ich nehme zunächst das EURUSD-Zeitintervall (die meisten Zitate, denke ich), z. B. 1 Stunde. Und dann der Rest der Symbole sind das Intervall über iBarShift.

Dann berechne ich für jedes Symbol nicht die Bewegung in Punkten, sondern Punkte multipliziert mit ihrem Preis (bei 1,0 Lot).

      for(int j=0; j<14; j++)
      {
         int q;
         if(j<7) q=-1; else q=1;
         string sm=smbl[j];
         int ii=iBarShift(sm,PERIOD_M1,timenow);
         int jj=iBarShift(sm,PERIOD_M1,timestart);
         double p;
         if(StringFind(sm,"JPY")>=0) p=0.01; else p=0.0001;
         double sp=MarketInfo(sm,MODE_SPREAD);
         double pp=MarketInfo(Symbol(), MODE_TICKVALUE);
         double mv=((iClose(sm,PERIOD_M1,ii)-iClose(sm,PERIOD_M1,jj))/p*q-sp)*pp;
         smbl_movement[j]=mv;
         if(j<7) sumsell=sumsell+smbl_movement[j];
         else sumbuy=sumbuy+smbl_movement[j];
      }
      GreenBuffer[i]=sumbuy;
      RedBuffer[i]=sumsell;

Und ich nehme zwei Puffer - den Gesamtgewinn von sieben Punkten im Kauf und sieben Punkten im Verkauf (grüne und rote Symbole in T101)

Ich möchte weitere Puffer hinzufügen - H4 und tägliche Intervalle.

Und im Allgemeinen, meine Herren, nicht auf der ganzen Welt zu begraben - wer interessiert ist, gehen Sie auf die Website von Victor (vinin) - es gab eine Menge Geschwätz und Verhandlungen hat ein wenig gegangen, vielleicht etwas hinzugefügt werden.

Und das Sortieren hat übrigens schon geklappt (siehe Comment() )

 
SergNF >> :

Ich frage noch einmal. Sind Sie sicher, dass der Block:

Sortiert das Preis[]-Array korrekt?

Oder habe ich irgendwo eine weitere Schleife übersehen? ;)

Oder hat er (der Block) einen anderen Zweck?

Ja, das ist sie.

Liegt hier ein Fehler vor, den ich nicht sehen kann?