
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Se ho capito bene la domanda, questo farà il lavoro per voi.
double free = AccountFreeMargin();
doppio potencial_loss,
doppio sum_potencial_loss = 0
doppio pips, lot_size;
doppio percent_depo = 5;
potencial_loss = (OrderLots() * (OrderOpenPrice() - OrderStopLoss()))*100000;
sum_potencial_loss = long_sum_potencial_loss + long_potencial_loss;
lot_size = ((((free-long_sum_potencial_loss) * percent_depo)/100.0)/pips)/100000 ;
Grazie ma ho già la formula, ho solo bisogno di correggere il valore del punto perché ho il conto EUR e non USD:
E ho bisogno di sostituire il punto con TICKVALUE* TICKSIZE, quindi sarebbe come questo
Se qualcuno può confermare che questa idea è corretta, allora il problema è risolto, quindi per favore aiutatemi velocemente, e buon Natale dopo!
Ho rimosso il tuo codice. . . .
Grazie per il tuo aiuto.
Grazie ma ho già la formula, ho solo bisogno di correggere il valore del punto perché ho un conto in EUR e non in USD:
E ho bisogno di sostituire il punto con TICKVALUE* TICKSIZE, quindi sarebbe come questo
Se qualcuno può confermare che questa idea è corretta, allora il problema è risolto, quindi per favore aiutatemi velocemente, e buon Natale!
Non posso confermarlo ma suggerisco di fare il debug con Alert(); come questo?
o
E lo confermerete da soli.
Grazie per il vostro aiuto.
Non posso confermarlo, ma suggerisco di eseguire il debug con Alert(); come questo?
o
E tu lo confermerai da solo.
No, quello che volevo dire è che è corretto usare il TICKVALUE* TICKSIZE o il TICKVALUE/ TICKSIZE come suggerito da WHRoeder, perché l'* sembra più logico lì.Quindi qual è quello corretto, dato che il mio conto è in EUR quindi guardiamo la valuta base non la quota?
Proximus: WTF guys, shouldnt that be TICKVALUE * TICKSIZE instead of TICKVALUE /TICKSIZE ? I think there is a big mistake there
Se TickValue è $10 e Ticksize=0.0001. Se il mercato si muove di 0.0020 il valore è $10/0.0001 * 0.0020=$200 / per lotto. $10 per pip * 20 pip / per lotto.
Se TickValue è $1 e Ticksize=0.00001. Se il mercato si muove di 0.0020 il valore è ancora $1/0.00001 * 0.0020=$200 / per lotto. Nessun errore qui.
Ok, questi dovrebbero essere i passi per il CALCOLO DELLA DIMENSIONE DEL VOLUME(massimo):
(correggetemi se sbaglio ^_^)
ContoMoneyRisk = ContoMoney * Risk%
AccountCounterQuote = Quote(ContoValuta/ControValuta)
ControvalutaRischio = ContoMonetaRischio * ContoContatoreQuota
PipValue = ControValutaRischio / StopLoss
LotTickValue = LotSize * TickSize
Volume = PipValue * LotTickValue
Esempio:
Valuta del conto: EUR
Coppia di valute: GBPUSD
Valuta Base: GBP
Controvaluta: USD
Denaro del conto: 5000 EUR
Rischio: 1%
StopLoss: 200 pips (Controvaluta)
Dimensione del lotto: 100000 (Controvaluta)
TickSize: 0. 00001
ContoMoneyRisk = ContoMoney * Risk% = 5000 EUR * 1% = 50 EUR
ControvalutaContoQuote = Quota(ValutaConto/ControValuta) = Quota(EUR/USD) = 1.5000
ControvalutaRischio = ContoMoneyRisk * ContoContatoreQuote = 50 EUR * 1,5000 = 75 USD
PipValue = CounterCurrencyRisk / StopLoss = 75 / 200 = 0.375
LotTickValue = LotSize * TickSize = 100000 * 0.00001 = 1 USD
Volume = PipValue * LotTickValue = 0.375 * 1 USD = 0.375
Questo presuppone che la Controvaluta sia la stessa dell'AccountCurrency, e non include lo spread, e presuppone erroneamente che un pip == un punto su un broker a 5 cifre e che ticksize == punto.
Non necessariamente. Saldo del conto * percentuale = RISCHIO = (OrderOpenPrice - OrderStopLoss)*DIR * OrderLots * DeltaPerlot (Nota OOP-OSL include lo SPREAD)
Ok questa è la versione finale, per favore confermate se è corretta, non capisco perché insistete sulla vostra roba DeltaPerlot quando chiaramente non funziona nella mia situazione, perché ho un conto in EUR.
Questa è la mia funzione di dimensionamento dei lotti :
- Lo STOPSLIP aggiunge X quantità di pips al livello corrente + SPREAD
- Uso TICKVALUE * TICKSIZE perché ho un conto in EUR e non in USD, quindi ha senso che il pipvalue sia 0.000007 invece di 0.00001 nel mio broker a 5 cifre perché viene conteggiato nel tasso di cambio EUR
Quindi qualcuno può per favore confermare se è corretto, o se non lo è allora per favore correggete la MIA formula, non datemi link ad altri post, perché non li capisco, correggete solo la mia funzione LOT() e sarò felice allora, per favore aiutatemi!Questo mi fa venire il mal di testa solo cercando di risolvere le parentesi!
Ad essere onesti, non ho assolutamente idea di cosa tu stia cercando di ottenere qui.
Non riesco a capire come MODE_STOPLEVEL o SPREAD siano rilevanti, sicuramente dovresti basare i tuoi calcoli sulla distanza dello stop-loss dal prezzo corrente?
Non dovrebbe fare differenza quale sia la valuta del conto, il calcolo dovrebbe essere lo stesso perché TICKVALUE è nella valuta del conto.
Nota, mettendo la tua linea di codice su 2 righe, il post non è così ampio e rende più facile la lettura senza scorrere a destra e a sinistra :)