Wie man einen Berater richtig optimiert - Seite 5

 
Loring писал (а) >>
Ich behaupte nicht, omnipotent zu sein... >> Es ist noch roh, aber es scheint ein Recht auf Leben zu haben... Ich brauche Gleichgesinnte (Programmierer), die mir bei dieser Idee helfen können... Irgendwo und ich werde ihnen helfen. Ich habe Erfahrung...

Können Sie das genauer erläutern? Wenn Sie schüchtern sind (nur ein Scherz), finden Sie die Koordinaten in Ihrem Profil.

 

Vinin, schau in deine E-Mail... Ich lese gerade Ihr VininE-Spiel. Sehr elegant. Russland ist reich an intelligenten Menschen...

 
Es wurde ein bedauerlicher Fehler bei der Berechnung der Losgröße gefunden. Ich entschuldige mich im Voraus... Keine Beleidigung beabsichtigt... Pädagogischer Hintergrund...
       double lot = NormalizeDouble(AccountFreeMargin() * MaximumRisk/100000/step,1); //*step
Großartiger Reinvestitionsalgorithmus. Das verstehe ich nicht. Ich werde die Handbücher durchsehen, während der Expert Advisor im Tester läuft...
 
Loring писал (а) >>
Bei der Berechnung der Losgröße ist ein bedauerlicher Fehler aufgetreten. >> Ich entschuldige mich im Voraus... Keine Beleidigung beabsichtigt. Pädagogischer Hintergrund. Großer Reinvestitionsalgorithmus. Das verstehe ich nicht. Ich werde mir die Handbücher ansehen, während mein Expert Advisor im Tester läuft...

Vielleicht habe ich vergessen, mit dem Schritt zu multiplizieren. Und Rundung 0.

 

Im Gegenteil, ich habe eine zusätzliche Multiplikation vorgenommen... Die Menge nahm sofort um eine Größenordnung ab, und der Algorithmus glättete sie immer auf 0,1... Ich habe das Gefühl, dass es auf Japanisch nicht funktionieren könnte. Teilt man durch einen festen Koeffizienten, sollte er, wie es scheint, von Point... dominiert werden. Ich werde es später überprüfen.

Aber die Art, wie er viel schluckte... Der Gewinn steigt sprunghaft an. Nur das Risiko ist nicht ganz klar (ich verstehe 1/MaximumRisk). Ich werde es für mich in Prozente umrechnen... Es ist gut, wenn ich den Quellcode habe, sonst habe ich mich gefragt, warum das Risiko als Ganzzahl und mit einem Dezimalpunkt eingestellt ist: ....

 
Loring писал (а) >>

Im Gegenteil, ich habe eine zusätzliche Multiplikation vorgenommen... Die Menge nahm sofort um eine Größenordnung ab, und der Algorithmus glättete sie immer auf 0,1... Ich habe das Gefühl, dass es auf Japanisch nicht funktionieren könnte. Teilt man durch einen festen Koeffizienten, sollte er, wie es scheint, von Point... dominiert werden. Ich werde es später überprüfen.

Aber die Art, wie er viel schluckte... Der Gewinn steigt sprunghaft an. Nur das Risiko ist nicht ganz klar (ich verstehe 1/MaximumRisk). Ich werde es für mich in Prozente umrechnen... Es ist gut, wenn ich den Quellcode haben, hatte ich lange zu verstehen, warum das Risiko als Ganzzahl angegeben ist, und mit einem Dezimalpunkt....

Hier ist meine Funktion.

double getLots() {
   if (MaximumRisk>0) {
      double minlot=MarketInfo(Symbol(),MODE_MINLOT);
      double maxlot = MarketInfo(Symbol(), MODE_MAXLOT);       
      double step=MarketInfo(Symbol(),MODE_LOTSTEP);

      double lot = NormalizeDouble(AccountFreeMargin() * MaximumRisk / 100000.0/step, 0)*step; 
      lot=MathMax(MathMin(lot,maxlot),minlot);
      
   }
   else lot=Lots;
   return(lot); 
}
Und der Brief wurde gelesen und beantwortet. Aber es gibt mehr Fragen als Antworten.
 

Danke für die Antwort...

Und NormalizeDouble rundet auf eine ganze Zahl und die Losgröße ist 0,1 ... Das Ergebnis ist Los =0 und

lot=MathMax(MathMin(lot,maxlot),minlot);
richtet es an Minlot aus... Mehr als einmal durch einfache Protokollausdrucke getestet... Nachdem die Rundung korrigiert wurde, kam eine zusätzliche Multiplikation im Schritt heraus... Auch geprüft... Wenn Sie es durch meine Variante ersetzen, dann wird der Reinvestitionsalgorithmus aktiviert und jedes nachfolgende Lot wächst mit dem zulässigen Risiko... oder ich verstehe das Programm nicht... Ich werde Ihnen zeigen, was ich habe.
 
Loring писал (а) >>

Danke für die Antwort...

Und die Funktion NormalizeDouble rundet auf eine ganze Zahl und die Losgröße beträgt 0,1 ... Das Ergebnis ist Los =0 und

>> es gleicht es zu minlot aus... Mehr als einmal durch einfache Protokollausdrucke überprüft... Nachdem die Rundung korrigiert wurde, kam eine zusätzliche Multiplikation mit dem Schritt heraus... Auch geprüft... Wenn Sie es durch meine Variante ersetzen, dann ist der Reinvestitionsalgorithmus aktiviert und jedes nachfolgende Lot wächst mit dem zulässigen Risiko... oder ich verstehe das Programm nicht... Ich werde dir zeigen, was ich habe...

Vielleicht gibt es eine zusätzliche 0 in der Division.

Und ich würde gerne das Ergebnis sehen.

 

Das ist also herausgekommen ...

 
und folglich