[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 202

 
Wenn Sie Pips messen müssen, dann multiplizieren Sie die Differenz mit MODE_POINT aus MarketInfo()
 
splxgf >> :
wenn Sie Pips messen wollen, dann multiplizieren Sie die Differenz mit MODE_POINT aus MarketInfo()

"Chukcha, du wirst nicht schlau, du zeigst mit dem Finger!"

von zuid_west_drei_rumba_rechts

Beispiel, bitte:)

 
tmp.0 >> :
Keine Tatsache :)

Im Allgemeinen denke ich nie darüber nach, aber ich weiß, dass Probleme auftreten können. Deshalb achte ich immer darauf, dass der Zähler und der Nenner bei der Division doppelt so groß sind. In anderen Sprachen ist es viel einfacher, denn ich kann Folgendes tun:


double x = (double)a / (double)b;


Das glaube ich nicht, denn ich habe mit verschiedenen Programmiersprachen zu tun, und die Regeln sind überall anders. Ich sollte also besser eine zusätzliche Klammer einfügen oder die Variable gleich in einen bestimmten Typ umwandeln, auch wenn das vielleicht nicht nötig ist. Aber wenigstens muss man den Code nicht durchsehen, um Probleme zu finden. Der Compiler sortiert das aus und korrigiert alles Unnötige. Und wenn etwas fehlt, kann der Compiler es nicht reparieren - er hat keine telepathischen Kräfte und wird seinen eigenen Regeln folgen, auch wenn der Programmierer etwas anderes glaubt.

 
tmp.0 >> :

"Chukcha, du wirst nicht schlau, du zeigst mit dem Finger!"

von zuid_west_drei_rumba_rechts

Beispiel, bitte:)

int start()
  {
//----
for(int i=1; i<=500; i++) 
   {
    int candle= MathAbs((High[ i]-Low[ i])*MarketInfo(Symbol(), MODE_POINT));
    int sum= sum+ candle;
   }  
//----
double total_size= sum/500;
Alert(" средний размер свечи (High-Low) = ", total_size);
//----
   return(0);
  }



Obwohl, wenn wir über die durchschnittliche Kerzengröße sprechen, würde ich immer noch die Kerzengröße modulo nehmen, mit unseren DTs kann das Minimum größer sein als das Maximum.
 
splxgf >> :

>> Dann ist es so:

int candle=MathAbs((High[ i]-Low[ i])/MarketInfo(Symbol(), MODE_POINT));


Kollektive Intelligenz ist eine beängstigende Kraft :)

 
tmp.0 >> :

Das war's dann:


Kollektive Intelligenz ist eine schreckliche Sache :)


Das ist es nämlich, was es bedeutet, wenn das dunkle Bier ausgeht und man den Cognac eine zweite Nacht lang mit hellem Bier runterspülen muss.

 
dmmikl86 писал(а) >>

Helfen Sie mir: Warum Alert=0 ???

Hier ist der Code für das Skript - es liest die durchschnittliche Größe der Kerze

int start()
  {
//----
double sum=0;
double candle;
for(int i=1; i<=500; i++) 
   {
    candle=High[ i]-Low[ i];
    sum= sum+ candle;
   }  
//----
double total_size= sum/500.0;
Alert(" средний размер свечи (High-Low) = ", total_size);
//----
   return(0);
  }
 
Liebe Experten, bitte helfen Sie mir, die Funktion OrderCloseBy() zu verstehen. Ich bin völlig verwirrt. Ich habe einen Expert Advisor, der Positionen nach umgekehrten Bedingungen öffnet und schließt. Das heißt, die Bedingungen OPEN BUY und CLOSE SELL sind die gleichen, ebenso wie OPEN SELL und CLOSE BUY, was bedeutet, dass direkt nach dem Ausstieg aus einer Position zum gleichen Preis eine Position in der entgegengesetzten Richtung mit der gleichen Größe eröffnet wird. Also beschloss ich zu versuchen, OrderClose() zu ersetzen, indem ich eine Position in der entgegengesetzten Richtung mit doppeltem Volumen eröffnete und dann die entgegengesetzten Aufträge mit OrderCloseBy() schloss. Das heißt, es hätte derselbe Algorithmus angewandt werden müssen, aber er hätte einen Spread pro Handel eingespart, aber der Tester hat ein ganz anderes Ergebnis gezeigt. Ich kann mich nicht entscheiden, ob ich den Code falsch geschrieben oder die Idee missverstanden habe... Ich wäre Ihnen für eine Klarstellung sehr dankbar...
 
Dmirtiy >> :
Mit anderen Worten, es sollte dasselbe sein, aber mit Einsparungen von einem Spread pro Handel, aber etwas, das der Tester ganz anders anzeigt. Ich kann mich nicht entscheiden, ob ich den Code falsch kopiert oder die Idee missverstanden habe... Ich werde Ihnen für Klarstellungen sehr dankbar sein...

Wenn es hier nur um die Sparsamkeit beim Aufstrich geht, dann kann ich Ihnen sagen, dass Sie beim Aufstrich nicht sparen werden!!! Mit dem doppelten Lot, verdoppeln Sie den Spread, bzw. die Kommission für den Spread, d.h. z.B. 2p. Der Spread von 1 Lot beträgt $20, bei 2 Lots mit den gleichen 2p. 40$

PS Es gibt keine kostenlosen Lebkuchen))))

 
Wie kommt es dann, dass das Schließen von Gegenaufträgen durch OrderCloseBy() im Beispiel des Tutorials profitabler ist, als sie einzeln zu schließen?