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.
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.
externdouble LotPerThousand=0.1; // If you had 1000 balance what lot size would you useint 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,...)
...
return0;
}
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.
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 returnedif(lots<MarketInfo(Symbol(),MODE_MINLOT)){ lots=MarketInfo(Symbol(),MODE_MINLOT); } // if lower than minimum required use the minimumif(lots>MarketInfo(Symbol(),MODE_MAXLOT)){ lots=MarketInfo(Symbol(),MODE_MAXLOT); } // if higher than maximum required use the maximum
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.
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
turbo oder nicht turbo
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.
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.
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! :-)
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.
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