XAUUSD - falsche Losgröße auf einem GBP-Konto? - Seite 2

 
DomGilberto:
Nein, es handelt sich nicht um ein Spread-Betting-Konto.

@WHRoader - Was meinen Sie damit, dass ich keine Punkte in die Berechnung einbeziehen möchte? :s?

Wie kann ich das korrekte Risiko für einen bestimmten Handel auf der Grundlage der Entfernung zum Stop anwenden, wenn ich keine Punkte in die Formel einbeziehe? (verwirrt).

23,64 || 2.364 Punkte... Das ist es, was ich versuche, zu verstehen... Um ehrlich zu sein, bin ich davon überzeugt, dass ich zu wenig 1-Troy-Unzen-Positionen anwende, weil ich ein auf GBP lautendes Konto habe... Ich brauche nur jemanden, der mir sagt, ob ich mit dem, was ich gezeigt habe, richtig oder falsch liege?


Nur ein kurzer Gedanke, und korrigieren Sie mich, wenn ich falsch liege ... Sie nehmen an, dass die Berechnung der Positionsgröße falsch ist, weil Sie bei einem Verlust nicht den Prozentsatz verlieren, den Sie riskieren wollten ... beziehen Sie den Spread in die Berechnung ein ... wenn nicht, könnte er bei diesem Symbol leicht stärker ins Gewicht fallen, da der Spread tendenziell größer ist.
 

@ RaptorUK - Wenn ich sage, dass die Positionsgröße kleiner ist, als sie sein sollte, meine ich damit so ziemlich die Hälfte...

Sagen Sie es so, ich bin vorwärts testen in einem kleinen Konto - Wenn die Position trifft es erste Ziel, sollte es aus 25%, wenn anwendbar, sonst schließen 1 Mindest-Lot-Größe || 1 Feinunze. Das gesamte monetäre Risiko bei diesem Handel entspricht einem Risiko von ca. 75,00 £.... Der XAUUSD-Handel befindet sich zu etwas mehr als 2/3 auf dem Weg zur Gewinnmitnahme beim ersten Ziel... der derzeitige offene P & L für diese Position beträgt ca. 18,00 £....

Wenn ich dieselbe Formel auf alle Währungspaare anwende, mit denen ich bisher gehandelt habe, sind sie so genau, wie ich es brauche... Nur Gold und Silber sind es nicht... Der Spread auf diese Paare wäre nichts Wesentliches aufgrund der Tatsache, dass ich nicht für 5-20 Punkte schießen... Die Stops und Ziele liegen meist bei ca. 80-250 Punkten...

 
GumRai:

Können Sie bitte Ihren Code zeigen, der zu diesem Ausdruck führt?

double loss_for_1_lot1 = pips_to_ssl/ ts * tv ;

2013.11.08 23:40:30 2013.06.19 19:00 V1 - XAUUSD XAUUSD,H1: loss_for_1_lot1 formula: 23.64 / 0.01 * 0.01 = 23.64

Vielleicht können Sie diesen Ausdruck hinzufügen

Print("Kontowährung = ",Kontowährung() );

um zu bestätigen, dass Sie im ST tatsächlich mit GBP handeln, denn ich sehe keine Möglichkeit, dass tv 0,01 sein kann.


2013.11.11 10:13:12     2013.06.17 15:00  V1 - XAUUSD XAUUSD,H1:  Account # (deleted) -- leverage is 1:200 -- Account currency is GBP -- Minium Lots are: 1 -- Min Lot Step is: 1
Ich kann Ihnen versichern, dass er auf GBP lautet...

Was meinen Sie, zeigen den Code, der in diesem Druck führt, Sie haben es dort?
 
DomGilberto:

Ich kann Ihnen versichern, dass er auf GBP lautet...

Was meinen Sie damit, zeigen Sie den Code, der zu diesem Ausdruck führt, den Sie dort haben?

Das ist die Ausgabe von Print(), nicht der Code. . können Sie den Code zeigen, der zu dieser Ausgabe führt, die eigentliche Print( . . . . ) Anweisung, wir müssen sehen, woher Sie den Tick-Wert bekommen, denn irgendetwas stimmt damit nicht. Es sieht so aus, als würden Sie ts (Tick Size) zweimal ausdrucken...

23,64 / 0,01 * 0,01 = 23,64 ist falsch, 0,01 * 0,01 = 0,0001 und 23,64 / 0,0001 = 236400

 
Okay, hier ist es:

//+------------------------------------------------------------------+
//| Order Enter Function                                             |
//+------------------------------------------------------------------+
void OrderEntry(int direction)
{
   //Padding for the stop and padding for the entry too. 
   double ATR_Pad = iATR(NULL,60,14,1)/2; 
   double Buy_Pad = NormalizeDouble(ATR_Pad,Digits);
   double Sell_Pad = NormalizeDouble(ATR_Pad,Digits);
   
   //Stop calculations.    
   double ATR = iATR(NULL,60,14,1);
   double MA = iMA(NULL,60,MA_Period,0,1,0,1);
  
   //Lot calculation   
   double risk_amount = AccountBalance( )*RiskPercent/100;
   double Lot_Step = MarketInfo(Symbol(), MODE_LOTSTEP);
   double ts = MarketInfo(Symbol(), MODE_TICKSIZE);
   double tv = MarketInfo(Symbol(), MODE_TICKVALUE);
   double minlot = MarketInfo(Symbol(), MODE_MINLOT);
         
          
//+-------------------------------------------------------------------------------------+
//| Order Buy Function                                                                  |
//+-------------------------------------------------------------------------------------+   

//Place a pending buystop if no orders exists. Pending or otherwise.
if(direction==0)
{ 
      
      //Get Highest Price in our lookback range and set buy price above it.
      int iTBT = iBarShift(NULL,60, triggerBarTime, true),
      iHH = iHighest(NULL,60, MODE_HIGH, iTBT + CandlesBeforeBiasObtained, 0);
      double Buy_Here = High[iHH] + Buy_Pad;
      double buyPrice= NormalizeDouble(Buy_Here,Digits);
            
      double BuyStopPriceMath = MA - ATR;
      double BuyStopPrice = NormalizeDouble(BuyStopPriceMath,Digits);

      //get our buystop price from below the ma and our takeprofit based on our r:r ratio.
      double pips_to_bsl=buyPrice-BuyStopPrice;
      double buy_tp_price=(pips_to_bsl*RewardRatio)+buyPrice;
      double buy_takeprofit_price= NormalizeDouble(buy_tp_price, Digits);
      
      double loss_for_1_lot = pips_to_bsl/ ts * tv ;
      double LotSize_Buy = MathFloor( risk_amount / loss_for_1_lot/ Lot_Step) * Lot_Step ;

      double btp=buy_takeprofit_price;
      int PositionIndex1;    
      int TotalNumberOfOrders1;   
      TotalNumberOfOrders1 = OrdersTotal();   

      static double Stored_BuyPrice;

      if( OpenOrdersThisPair(Symbol())==0 && LotSize_Buy - minlot > - Point )
         {
         int BuyTicketOrder = OrderSend(Symbol(),OP_BUYSTOP,LotSize_Buy,buyPrice,3,BuyStopPrice,btp,NULL,MagicNumber,0,Green);
         if(BuyTicketOrder == -1)Print("First Buy Order Last Error = ",GetLastError(), " On: ", Symbol());
         if(BuyTicketOrder > 0)Print("FIRST BUY ORDER PLACED: ", Symbol(), " LotSize_Buy is: ", LotSize_Buy );
         } 


Hier ist auch ein Ausdruck von Tickgröße und Tickwert auf dem Live-Konto unter XAUUSD:

2013.11.11 06:10:51  V1 - XAUUSD XAUUSD,H1:  Account # (CENSORED) -- leverage is 1:200 -- Account currency is GBP -- Tick Size is: 0.01 -- Tick Value is: 0.01
 

TickSize und Tickvalue wären beide gleich @ 0.01? 0,01 ist der Tick, und jede Tick-Bewegung würde bei der kleinsten Positionsgröße einer Schwankung von 0,01 Cent in P & L entsprechen... vorausgesetzt, ich hätte ein USD-Konto, dann wäre es genau...

Hört sich das nicht richtig an?

Außerdem:

"23,64 / 0,01 * 0,01 = 23,64 ist falsch, 0,01 * 0,01 = 0,0001 und 23,64 / 0,0001 = 236400"

Ja - Das wäre richtig, wenn ich die Formel wie folgt isolieren würde:

"23.64 / ( 0.01 * 0.01 ) = 236400 "

Da es sich aber um eine konstante Formel handelt, ist die Antwort in Bezug auf das Ergebnis 23,64 richtig... Es ist, ob diese Zahl die richtige Zahl in Übereinstimmung mit dem Auffüllen der richtigen Position Größe ist oder nicht?

 
DomGilberto:
Ok, hier ist er:



Hier ist auch ein Ausdruck von tickize und tickvalue auf dem Live-Konto unter XAUUSD:


Tut mir leid, meine Berechnung war falsch...

Du hast immer noch nicht den Code gezeigt, der diesen Ausdruck erzeugt...

2013.11.08 23:40:30     2013.06.19 19:00  V1 - XAUUSD XAUUSD,H1:  loss_for_1_lot1 formula: 23.64 / 0.01 * 0.01 = 23.64

. . aber das macht nichts.

Tick Value - Tickwert in der Einzahlungswährung.


Mein Verständnis ist, wie viel ist 1 Punkt wert, in der Hinterlegungswährung, für 1 Standard-Lot - auf meinem Chart für ein USD-Konto für XAUUSD TickValue ist 1,06908

 

Was? Das macht keinen Sinn für mich - Wie kommt es, dass der Tick-Wert, den ich sehe, einfach 0,01 zurückgibt...

Der Code ist alles da oben ^?

double loss_for_1_lot = pips_to_bsl/ ts * tv ;

"loss_for_1_lot" ist genau dasselbe wie "loss_for_1_lot1", aber es ist auf der Kaufseite... Entschuldigung für das Hin- und Herwechseln von der Kauf- zur Verkaufsseite, ich nehme einfach das erste, was in ST gedruckt wird, egal ob das ein Kauf oder ein Verkauf ist...

Wer ist Ihr Broker? Hat mein Tick-Wert etwas mit der Tatsache zu tun, dass er in GBP angegeben ist? (verwirrt)

 
Ok - Ich habe also bei Alpari UK nachgefragt und die haben mir das zurückgeschickt - Dies ist ein GBP-Konto...
2013.11.11 13:57:37     Pip value XAUUSD,H1: Alert:  Tick Value is: 0.0626 -- Tick Size is: 0.001
 
DomGilberto:

Was? Das ergibt für mich keinen Sinn - Wie kommt es, dass der Tickwert, den ich sehe, einfach 0,01 zurückgibt?

Vielleicht hat Ihr Broker es vermasselt... das passiert manchmal.

DomGilberto:

Der Code steht doch da oben ^?

"loss_for_1_lot" ist genau dasselbe wie "loss_for_1_lot1", aber es ist auf der Kaufseite... sorry für das hin- und herspringen von der Kauf- zur Verkaufsseite, ich nehme einfach das erste, was in ST gedruckt wird, egal ob das ein Kauf oder ein Verkauf ist...

Nö ... die Print("loss_for_1_lot1 formula: ", . . . . . ) ist nicht da . . .

DomGilberto:

Wer ist Ihr Broker? Hat mein Tick-Wert etwas mit der Tatsache zu tun, dass er in GBP angegeben ist? (verwirrt)

Ich habe es mit GoMarkets versucht, bei Alpari auf einem GBP-Konto erhalte ich 0,626 ... Nehmen Sie dies und multiplizieren Sie es mit GBPUSD und Sie erhalten 0,626 * 1,5974 = 0,999, was mit meinem vorherigen Wert auf einem USD-basierten Konto von 1,06908 übereinstimmt, wenn man unterschiedliche Broker und Symbolpreise usw. berücksichtigt.
Grund der Beschwerde: