Korrekte Berechnung der Partie aus dem Prozentsatz der Kaution - Seite 4

 

Ich danke Ihnen allen für Ihre Hilfe und Teilnahme... Hier ist das Ergebnis meines "Leidens".

double lotSize(double deposSize=1000.0, string currName="USDCHF", double proc=2.0, int pipsLoss=1000)

{

double currMove=deposSize*proc/100;// расчет процента от величины, предположительно, депозита

double lotCount=currMove/(pipsLoss*MarketInfo(currName,MODE_TICKVALUE));//ну а тут и ведеться сам расчет лота

if(lotCount<MarketInfo(currName,MODE_MINLOT))

{

return MarketInfo(currName,MODE_MINLOT);

}

return NormalizeDouble(lotCount,2);

//return lotCount;

}

Es scheint nicht allzu schwer zu sein, aber ohne Ratschläge hätte ich es nicht geschafft.

 

double lotCount=currMove/(pipsLoss*MarketInfo(currName,MODE_TICKVALUE));//dann wird die Lotberechnung selbst durchgeführt

Das ist so cool wie es nur geht ... und jetzt zählt es

double currMove=deposSize*proc/100 = 1*100/100 = 1; wir haben 1 Pfund

currentName = "EURUSD"

MarketInfo(currName,MODE_TICKVALUE) = 0.1 für fünfstellige Notierungen

pipsLoss = 1000

insgesamt haben wir

double lotCount=currMove/(pipsLoss*MarketInfo(currName,MODE_TICKVALUE)) = 1 /(1000*0.1) = 0.01

alles scheint in Ordnung(Marge ist 68,53 pro Lot), wenn pipsLoss = 100, dann lotCount = 0,1, aber es gibt nicht genug Marge für sie - für 0,1 wir brauchen 6,853, und wir haben 1 Pfund...

und auf der anderen Seite, im ersten Fall, mit 1 Pfund und einer Eröffnung mit einem Stopp von 1000 Punkten wird mit 0,31 von einem Pfund verlassen werden

Ich frage mich, ob dies genug Geld für einen Auftrag mit einem Stop-Loss von 1000 Pips ist, um einen Drawdown von 999 Pips zu überleben, aber ich bezweifle, dass das passieren wird,

z.B. der Preis von 1 Pip bei 0,01 Lot ist 0,001, 0,31/0,001 = 310 Pips, d.h. wenn wir 310 Pips verlieren, wird die Order durch einen Stopout geschlossen (dies ist der Fall, wenn der Stopout bei 0% liegt, was falsch ist, da er immer größer ist, was bedeutet, dass die Order früher geschlossen wird), daher sind alle Berechnungen wertlos, da sie uns nicht helfen, das richtige Lot für die gegebenen Bedingungen zu berechnen, so dass die Order durch einen Stop Loss korrekt funktionieren würde

 
double CalcLotSize(double Lot,double lRisk,int lSL=0)
  {
   string lSymbol=Symbol();
   double dLotMin    = MarketInfo(lSymbol, MODE_MINLOT        );
   double dLotMax    = MarketInfo(lSymbol, MODE_MAXLOT        );
   double dLotStep   = MarketInfo(lSymbol, MODE_LOTSTEP       );


   double dLot=Lot;

   if(lRisk>0)
     {
      if(lSL>0)
        {
         double dLotCost=MarketInfo(lSymbol,MODE_TICKVALUE);
         dLot=MathRound(AccountFreeMargin()*lRisk*0.01/(lSL*dLotCost*dLotStep))*dLotStep;
        }
      else
        {
         double dLotMargin=MarketInfo(lSymbol,MODE_MARGINREQUIRED);
         dLot=MathRound(AccountFreeMargin()*lRisk *0.01/(dLotMargin*dLotStep))*dLotStep;

        }
     }

   if(dLot<dLotMin) dLot=dLotMin;

   if(dLot>dLotMax) dLot=dLotMax;

   return(dLot);
  }
 

Es scheint, als kämen alle Ideen zur Zählung des Loses aus demselben Ort und seien sich so ähnlich wie Pilze nach dem Regen... (Ich kritisiere mich selbst...)

Sie sollten besser Ihren Kopf benutzen, um herauszufinden, was die Losberechnungsfunktion zählen soll und was sie berücksichtigen soll, denn die vorgeschlagenen Optionen halten der Kritik nicht stand...

 

Ich erkläre das mal für diejenigen, die sehr begabt sind... currMove - das ist der Geldwert des verlorenen Prozentsatzes beim Überschreiten von pipLots pips (2% der Einlage für 1000 Pfund bei einem Schlag von 1000 pips (5 Ziffern) werden $20 sein) ...

Das ist so gut, wie es nur sein kann... Jetzt rechne mal nach

double currMove=deposSize*proc/100 = 1*100/100 = 1; wir haben 1 Pfund

Das heißt, wenn jemand unter diesen Bedingungen einen Verlust von 1 Dollar macht, dann kann ich nur bewundern, wie extrem der Händler ist - in diesem Fall hat er Einlagen im Wert von 50 Pfund... Wenn jemand 1 Dollar in einer Verlustsituation bekommt, dann kann ich den Extremismus des Händlers nur bewundern - in diesem Fall hat er eine Einlage von 50 Dollar...

Ich denke, die folgende Diskussion über den Text des Beitrags ist sinnlos... Denn es ist respektlos, mit Trollen zu streiten, und unaufmerksam wie sie sind.

Ich fühle mich geehrt.

 
gochu:

Ich erkläre das mal für diejenigen, die sehr begabt sind... currMove - das ist der Geldwert des Prozentsatzes, der beim Überschreiten von pipLots Punkten verloren geht (2% der Einlage für 1000 Pfund bei einem Schlag von 1000 Pips (5 Ziffern) werden $20 sein) ...

cooler geht's nicht... jetzt rechne mal nach

double currMove=deposSize*proc/100 = 1*100/100 = 1; wir haben 1 Pfund

Das heißt, wenn jemand unter diesen Bedingungen einen Verlust von 1 Dollar macht, dann kann ich nur bewundern, wie extrem der Händler ist - in diesem Fall hat er Einlagen im Wert von 50 Pfund... Wenn jemand 1 Dollar in einer Verlustsituation bekommt, dann kann ich den Extremismus des Händlers nur bewundern - in diesem Fall hat er eine Einlage von 50 Dollar...

Ich denke, die folgende Diskussion über den Text des Beitrags ist sinnlos... Denn es ist respektlos, mit Trollen zu streiten, und unaufmerksam wie sie sind.

Ehrung.

double currMove=deposSize*proc/100 = 1*100/100 =1 bedeutet im Allgemeinen, dass die Einzahlung $1 und nicht $50 beträgt (und ein Verlustvon 100% entsteht )

:-)

 
EverAlex:
double currMove=deposSize*proc/100 = 1*100/100 =1 bedeutet im Allgemeinen, dass die Einzahlung $1 und nicht $50 beträgt (und ein Verlustvon 100% entsteht )

gut.... mit einer Einlage wie dieser, viel Glück!

 

Vinin:

double CalcLotSize(double Lot,double lRisk,int lSL=0)


Wofür ist das Lot?

und woran wird iSL gemessen (ich glaube, es war oben von Handelssymbolen die Rede)?

...(lSL*dLotCost*dLotStep))*dLotStep; bedeutet, dass es nicht in Handelspunkten (MODE_POINT), sondern in LOTSTEPs ?

oder was?
 
EverAlex:

Wofür ist das Lot?

und woran wird iSL gemessen (ich glaube, es war oben von Handelssymbolen die Rede)?

...(lSL*dLotCost*dLotStep))*dLotStep; bedeutet, dass es nicht in Punkten des Handelssymbols (MODE_POINT), sondern in LOTSTEPs ?

oder was?

Dies ist die Berechnung des risikobereinigten Loses. Wie viel Sie von Ihrer Einlage verlieren, wenn der Stopp ausgelöst wird
 
Vinin:

Dies ist die Berechnung des Loses unter Berücksichtigung des Risikos. Welcher Teil der Einlage geht verloren, wenn der Stopp ausgelöst wird

Daher ist lSL die Anzahl der Punkte zu SL

Punkt = 0,00001 (bei 5-stelligen Kursen)

dLotStep = 0.01


Die Formel (lSL*dLotCost*dLotStep))*dLotStep ist in Ordnung

Es sollte etwa (lSL*dLotCost*Point))*dLotStep sein