Heeeelp! heeeelp! - Seite 4

 
RaptorUK:
Was zu tun ... Sie haben nicht wirklich erklärt, was Sie tun wollen ... obwohl Ihnen konkrete Fragen gestellt wurden . . wenn Sie Fragen ignorieren, die gestellt werden, damit Ihnen geholfen werden kann, werden Sie sehr schnell ignoriert.

turbo oder nicht turbo
 
jameslarry:

turbo oder nicht turbo
OK, viel Spaß ... Sie wollen keine Hilfe.
 
Ich habe ein System, das es tut, wie ich wollte ill Post es für Sie bald Jungs
 

Nun, da Sie es anscheinend so einfach wie möglich haben wollen, da Sie ein Anfänger sind, habe ich nach dem am leichtesten zu verstehenden gesucht.

extern double LotPerThousand=0.1;  // If you had 1000 balance what lot size would you use

int start()
{

double lots;

lots=NormalizeDouble((LotPerThousand/1000)*AccountBalance(),2);
if(lots<MarketInfo(Symbol(),MODE_MINLOT)){ lots=MarketInfo(Symbol(),MODE_MINLOT); }
if(lots>MarketInfo(Symbol(),MODE_MAXLOT)){ lots=MarketInfo(Symbol(),MODE_MAXLOT); }

...
OrderSend(Symbol(),OP_BUY,lots,...)
...

return 0;
}
 
tonny:
Nun, da Sie es anscheinend so einfach wie möglich haben wollen, da Sie ein Anfänger sind, habe ich nach der am einfachsten zu verstehenden Lösung gesucht.
Sorry Tonny Losgröße muss zwischen minlot und maxlot UND ein Vielfaches von lotStep sein.
double NormalizeLots(double lots, string pair=""){
    if (pair == "") pair = Symbol();
    double  lotStep     = MarketInfo(pair, MODE_LOTSTEP),
            minLot      = MarketInfo(pair, MODE_MINLOT);
    lots            = MathRound(lots/ls) * ls;
    if (lots < minLot) lots = 0;    // or minLot
    return(lots);
}
 
tonny:

Nun, da Sie es anscheinend so einfach wie möglich haben wollen, da Sie ein Anfänger sind, habe ich nach dem am leichtesten zu verstehenden gesucht.


Bingo! Tonny das ist genau das, was ich wollte es funktioniert auf Strategie-Tester und automatisch erhöht die Losgröße Aufrechterhaltung der Prozentsatz. Es ist besser als mein vorheriges Programm mit unzähligen if-Anweisungen, vielen Dank an alle! :-)
 
Nun, ich erinnere mich gerade an die Mathematik, wo wenn a zu b ist, dann ist c zu? die Formel wäre (b/a)*c in diesem Fall ist c Ihr Kontostand. Und das Ergebnis entspricht dem Verhältnis von a:d, d.h. sagen wir, das Ergebnis ist d, dann ist a:b das gleiche wie c:d und b:a ist das gleiche Verhältnis wie d:a. Dann setzen Sie die Formel einfach in normalize double ein, um einen auf zwei Dezimalstellen gerundeten Lot-Wert zu erhalten, für den Fall, dass die Berechnungen mehr Dezimalstellen als zwei ergeben, die ordersend als ungültige Lot-Größe zurückweisen würde. Dann prüfen Sie, ob dieser Wert kleiner ist als das erforderliche Mindestlos, wenn ja, verwenden Sie das erforderliche Minimum, und wenn er höher ist als das erforderliche Höchstlos, verwenden Sie das Maximum als Losgröße.
/* new value of lot would be (old lot/old balance)*new balance in this case we fix old balance at 1000 and new balance is the current balance i.e. (LotPerThousand/1000)*AccountBalance() */

lots=NormalizeDouble((LotPerThousand/1000)*AccountBalance(),2);                            // round two 2 decimal places incase more than 2 decimal places is returned
if(lots<MarketInfo(Symbol(),MODE_MINLOT)){ lots=MarketInfo(Symbol(),MODE_MINLOT); }        // if lower than minimum required use the minimum
if(lots>MarketInfo(Symbol(),MODE_MAXLOT)){ lots=MarketInfo(Symbol(),MODE_MAXLOT); }        // if higher than maximum required use the maximum
 
Herzlichen Dank!
 
WHRoeder:
Sorry Tonny, die Losgröße muss zwischen minlot und maxlot UND einem Vielfachen von lotStep liegen.

Lieber WHRoeder, bitte führen Sie die Leute nicht in die Irre, indem Sie Codes geben, die einfach nur viele Fehler enthalten. Sie haben das ls-Objekt nicht im Code definiert und Sie geben es jemandem, der es benutzen soll.

 
tonny:

Nun, da Sie scheinen, wie Sie wollen es die einfachste möglich, wie Sie ein Anfänger sind ich für die am leichtesten zu verstehen gesucht.


Tonny, vielen Dank für den Code, den du mir gegeben hast, er hat wirklich sehr gut funktioniert.



Ich habe 2 Tage lang danach gesucht und mich sogar mit meiner Frau darüber gestritten!


Danke