XAUUSD dimensionamento del lotto sbagliato su un conto denominato in GBP? - pagina 4

 
Lo staff della chat live di FXCM è un ASSOLUTO MANDRINO!

Sto chiedendo loro perché il TICK_VALUE su XAUUSD e XAGUSD ritorna come 0.01, la loro risposta è:

"Perché lo arrotondiamo a $0.01 - Questo è il più piccolo valore di tick..." - Ok... bene qual è la più piccola dimensione del lotto = 1.00 che equivale a $0.10 ... quindi ripetilo ancora una volta? Qual è il più piccolo valore di tick? "$0.01" sono così stupidi!
 
Scusate se scrivo molto qui - Ma questo avrebbe senso? Qualcuno è in grado di lanciarmi una linea qui come potrei lavorare con FXCM per il momento?

//get our sellstop price from below the ma and our takeprofit based on our r:r ratio.
      
      double pips_to_ssl = SellStopPrice - sellPrice;

      double sell_tp_price = sellPrice - (pips_to_ssl*RewardRatio);

      double sell_takeprofit_price = NormalizeDouble(sell_tp_price, Digits);
      
      double loss_for_1_lot1 = pips_to_ssl / ( 0.10 / MarketInfo( Symbol(), MODE_BID ) * ts ); //<<< ?????????
         
      double LotSize_Sell = MathFloor( risk_amount / loss_for_1_lot1/ Lot_Step) * Lot_Step ;
(pips_to_ssl potrebbe essere 45.32 pips per esempio - 0.10 è $0.10 per tick 0.01 per 1.00 lot su fxcm)
 
DomGilberto:

Se questo è corretto, allora come fa ad avere senso:

Posizione corrente aperta XAUUSD: 137.60 punti su - P & L aperto £17.22 ... Non sono un mago con i numeri ma ho 2 once troy aperte che dovrebbero essere 0,02 pence per 0,01 tick...

137.60 * £0.02 = £2.750

1376.0 * £0.02 = £27.52

13760 * £0.02 = £275.2

Nessuno è corretto...

Questo secondo quanto mi sta dicendo questo specialista di FXCM lol!


Come si può essere 137,60 punti in più? Non c'è un punto decimale quando si parla di punti.

Vuoi dire che la differenza tra il prezzo aperto dell'ordine e il prezzo corrente è 137,60? Se è così, significa che devi aver aperto il trade a fine agosto. È vero?

Se no, per favore mostri il prezzo di apertura dell'ordine, il prezzo attuale e il profitto attuale.

Ti è stato chiesto più volte di mostrare il codice per la stampa della dichiarazione. A meno che non me lo sia perso, non l'hai ancora mostrato.

 
Di quale codice stai parlando? La posizione XAUUSD è (e sì, hai ragione, non intendo punti - solo confusione di termini - sto semplicemente guardando il modo di tirare il numero attraverso):

XAUUSD posizione aperta : Prezzo aperto: 1297.22 -- Dimensione: 2.00 -- Prezzo corrente: 1283.24 -- Termine valuta: $27.96 -- Deposito valuta: £17.49.

Le stampe sono anche qui sotto - le ho messe per renderle più facili da vedere?

   //Lot calculation - Facilitates Notional and Lots within MT4 - As well as find the tick value relative to the account denomination.   
   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);
         Print(" buyPrice: ", buyPrice );
            
              2013.11.11 22:36:4 2009.07.27 17:00  V1 - XAUUSD XAUUSD,H1:  buyPrice: 959.79


      double BuyStopPriceMath = MA - ATR;
         Print(" MA - ATR: ", MA, " - ", ATR, " = ", BuyStopPriceMath);
     
              2013.11.11 22:36:4 2009.07.27 17:00  V1 - XAUUSD XAUUSD,H1:  MA - ATR: 952.0315 - 2.7714 = 949.2601
 

      double BuyStopPrice = NormalizeDouble(BuyStopPriceMath,Digits);
         Print(" BuyStopPrice: ", BuyStopPrice);
              
              2013.11.11 22:36:4 2009.07.27 16:00  V1 - XAUUSD XAUUSD,H1:  BuyStopPrice: 949.3

      //get our buystop price from below the ma and our takeprofit based on our r:r ratio.
      
      double pips_to_bsl=buyPrice-BuyStopPrice;
         Print(" pips_to_bsl formula: ", buyPrice, " - ", BuyStopPrice, " = ", pips_to_bsl);  
              
              2013.11.11 22:36:4 2009.07.27 16:00  V1 - XAUUSD XAUUSD,H1:  pips_to_bsl formula: 959.75 - 949.3 = 10.45
      
      double loss_for_1_lot = pips_to_bsl / ts * tv ;
         Print(" loss_for_1_lot formula: ", pips_to_bsl, " / ", ts, " * ", tv ," = ", loss_for_1_lot );

              2013.11.11 22:36:4 2009.07.27 16:00  V1 - XAUUSD XAUUSD,H1:  loss_for_1_lot formula: 10.45 / 0.01 * 0.01 = 10.45

      double LotSize_Buy = MathFloor( risk_amount / loss_for_1_lot/ Lot_Step) * Lot_Step ;
         Print(" LotSize_Buy: ( ", risk_amount, " / ", loss_for_1_lot, " / ", Lot_Step, " ) * ", Lot_Step); 

              2013.11.11 22:47:4 2009.07.27 16:00  V1 - XAUUSD XAUUSD,H1:  LotSize_Buy: ( 78.1668 / 10.45 / 1 ) * 1


...
 

L'hai calcolato tu stesso o viene dal broker?

"Termine Valuta: $27.96 "

 
Viene dal broker all'interno di MT4 - quando fai clic destro sull'ordine aperto e lo selezioni...
 

Ora ho un ordine aperto su XAGUSD con FXCM - La dimensione minima è di 50.00 lotti. Di nuovo, il valore del tick è apparentemente 0,01 (fatto).

XAGUSD:

L'entrata è 21.245 - SL è 21.812 - La dimensione è 100.00 - Il saldo del conto in GBP è £3.840,51 - Il rischio applicato a questo trade è 1,5% dell'AccountBalance(). (+53£ più o meno in P & L aperto).

50.00 Lotti su XAGUSD è $0.01 per 1 lotto, quindi $0.50 per dimensione tick - 0.01. (TICK_SIZE mi sta dicendo che è "0.001" anche se ho controllato che 50 lotti sono $0.50 per 0.01 con lo staff di FXCM e l'ho testato?)

$0.50 / GBPUSD è il valore del tick...

-- Quindi, in base alla mia formula, sono timido 50 lotti sulla dimensione di 100 lotti assegnata a questo commercio perché le impostazioni del server FXCM sono fregate. (in termini di Tick Value 0.001 || Tick Size: 0.001)...

Funziona così:

Rischio (£): £57,60 (1,5% di £3.840,51)

(SL)21.812 - (Entrata) 21.245 = 56.7

50.00 lotti = $0.50 / 1.59841 = £0.31 (per 50.00 lotti)

150.00 = £0.93 per tick * 56.7 = £52.73 rischio su questo trade...

 
Qualcuno può aiutare a suggerire una soluzione quando il valore del tick e la dimensione del tick mi dicono che è 0,001 e 0,001?
 
DomGilberto:
Qualcuno può aiutarmi a suggerire una soluzione quando il valore del tick e la dimensione del tick mi dicono che è 0,001 e 0,001?
Non è l'ideale, ma non puoi calcolare l'ish Tick Value corretto usando i tassi di XAUUSD, GBPUSD e il TickValue di GBPUSD? Quindi il tuo codice controlla per vedere se il Tick Value restituito da MarketInfo() è probabile che non sia valido e se lo è allora lo calcola al suo posto, quindi per un Broker che è competente non ha bisogno di calcolare il TickValue.

Ho visto fare qualcosa di simile per il calcolo dei TickValues da usare nello Strategy Tester... idealmente si codifica una funzione che guarda le coppie del simbolo e la vostra valuta di base e poi esegue il relativo calcolo...

. . . questo è quello a cui stavo pensando quando ho detto di aver visto qualcosa di simile: https://www.mql5.com/en/forum/127798/page2#356736
 
Grazie :) - Lo controllerò subito!

Inoltre, secondo te, FXCM è nel torto per come sto vedendo il Tick Value? Sono irremovibili sul fatto che sia perfettamente normale? Non è che sai perché stanno sbagliando, vero?