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
Quindi lSL è quanti punti a SL
Punto = 0,00001 (su quotazioni a 5 cifre)
dLotStep = 0,01
La formula (lSL*dLotCost*dLotStep))*dLotStep non è corretta
Dovrebbe essere qualcosa come (lSL*dLotCost*Point))*dLotStep
Non c'è bisogno di inventare nulla. La dimensione del lotto è diversa per ogni società di intermediazione e devi adattarla alla giusta dimensione. I punti non c'entrano niente
Non devi inventare nulla. La dimensione del lotto è diversa in ogni società di intermediazione e dobbiamo portarlo alla giusta dimensione. I punti non c'entrano niente.
Nel nostro caso, lSL è una dimensione di drawdown in punti di quotazioni ma non in punti di lotto.Cioè i punti non c'entrano niente.
Quindi, nella formula di calcolo dovremmo moltiplicare (ciò che è tra parentesi) per Point, non per dLotStep.
Un'altra cosa è che questo è già fatto a spese di dLotCost (insieme alla conversione in moneta di deposito)...
Cioè siamo primi nel
Ottenere un intero e poi ricalcolare alle unità corrette del lotto moltiplicando per dLotStep ?
C'è anche un'opzione con un deposito di 3 sterline per scambiare EURUSD e mettere il 30% sul lato perdente... ma questo è fuori da una serie di perversioni
In termini di problema lSL è la dimensione del drawdown in punti di quotazioni, non in punti del lotto.Cioè i punti non c'entrano niente.
Quindi, nella formula di calcolo dovremmo moltiplicare (ciò che è tra parentesi) per Point, non per dLotStep.
Un'altra cosa è che questo è già fatto a spese di dLotCost (insieme alla conversione in moneta di deposito)...
Cioè noi per primi in
ottenere un intero, e poi ricalcolare alle unità corrette del lotto moltiplicando per dLotStep ?
Sì
La formula è ancora sbagliata (per un blocco di iSL>0).
TICKVALUE dà il prezzo per TICKSIZE.
E lSL è dato in punti POINT.
POINT non sempre coincide con TICKSIZE (vedi coppia a 3 cifre XAUUSD su Alpari).
Quindi dovete convertire lSL da POINT a TICKSIZE.
Altrimenti, otterremo un lotto 10 volte sovrastimato (questo è ciò che ho osservato sulla coppia XAUUSD fino a quando ho aggiunto il ricalcolo).
se (lSL>0){
lSL= (int)(MarketInfo(lSymbol,MODE_TICKSIZE) / MarketInfo(lSymbol,MODE_POINT) )* lSL; // TICKSIZE/POINT darà un intero (1 o 10), possiamo usare lSL di tipo int
// ecco cos'era.
PS: per TC ottimizzato per molti passaggi (>10mln) tutti i parametri immutabili del simbolo(TICKSIZE, POINT, TICKVALUE, LOTSTEP, MINLOT, MAXLOT ecc.) dovrebbero essere assegnati a variabili nella funzioneinit() e usare queste variabili nei calcoli.
Incluso mettere il valore di TickSize/Point in una variabile.
La formula è ancora sbagliata (per un blocco di iSL>0).
TICKVALUE dà il prezzo per TICKSIZE.
E lSL è dato in punti POINT.
POINT non sempre coincide con TICKSIZE (vedi coppia a 3 cifre XAUUSD su Alpari).
Quindi dovete convertire lSL da POINT a TICKSIZE.
Altrimenti, otterremo un lotto 10 volte sovrastimato (questo è ciò che ho osservato sulla coppia XAUUSD fino a quando ho aggiunto il ricalcolo).
se (lSL>0){
lSL= (int)(MarketInfo(lSymbol,MODE_TICKSIZE) / MarketInfo(lSymbol,MODE_POINT) )* lSL; // TICKSIZE/POINT darà un intero (1 o 10), possiamo usare lSL di tipo int
// ecco cos'era.
PS: per i TS che ottimizzano molti passaggi (>10mln) tutti i parametri immutabili del simbolo(TICKSIZE, POINT, TICKVALUE, LOTSTEP, MINLOT, MAXLOT ecc.) devono essere assegnati a variabili nella funzioneinit() e usare variabili nei calcoli.
Incluso mettere il valore di TickSize/Point in una variabile.
Grazie
Grazie
Il topicstarter ha mandato i suoi saluti nella prima pagina e non è più tornato.
Qualche anno fa questo problema è stato discusso su un forum da qualche parte. Lo racconterò a memoria, ma senza formule.
Supponiamo di negoziare la coppia AUDCHF. È stato preso abbastanza arbitrariamente per spiegare come si forma il profitto o la perdita su una posizione. Più o meno lo stesso argomento è stato portato su https://www.mql5.com/ru/forum/150912
Se scambiamo un singolo lotto di 100000 AUD, allora (su cinque cifre) ogni pip fa 1 CHF (denominatore della coppia) di profitto o perdita (dipende da quale strada abbiamo preso e dove sta andando il prezzo).
Di conseguenza, in qualsiasi momento, sappiamo quanti CHF abbiamo guadagnato/perduto. Il guadagno/perdita viene convertito nella valuta del deposito, utilizzando il tasso di cambio USDCHF del momento, se la valuta del deposito è USD, o EURCHF, se la valuta del deposito è EUR. Per analogia, per tutte le coppie e le valute di deposito.
Questa è la risposta: non possiamo sempre stimare la dimensione esatta del lotto. MarketInfo() con il parametro di richiesta MODE_TICKVALUE può essere una guida.
Da qui la risposta: non possiamo sempre stimare la dimensione esatta del lotto. MarketInfo() con il parametro di richiesta MODE_TICKVALUE può essere una guida.
È così che è stato contabilizzato per molto tempo. Almeno nel bel post di Vinin (con calcolo del lotto sbagliato per TICKSIZE c POINT non corrispondenti) e nel vecchio post di Martingeil (con calcolo del lotto corretto, ma senza possibilità di impostare drawdown ==0).
La cosa principale è che il valore corretto di TICKVALUE dovrebbe arrivare dalla società di intermediazione (o calcolato correttamente sul cliente, se è calcolato in MT).
Quando questo tema è iniziato, non c'era TICKVALUE .
E con il suo avvento, tutto si è semplificato e questo argomento ha languito per un po'.
PS: presto posterò la mia versione - un ibrido tra la versione di Vinin (ha una formula più semplice e iSL==0) e quella di Martingeil (controllo dei fondi insufficienti anche per il lotto minimo).
Caratteristiche: 1) calcolo del saldo da AccountFreeMargin(), non da AccountBalance().
2) E (per i traslocatori) si tiene conto che il saldo diminuirà di una certa quantità quando un trade aperto si chiude su SL.
Se non c'è abbastanza denaro anche per il saldo minimo - mostrerà il volume del lotto -134 (errore 134 - non abbastanza denaro per aprire una compravendita)
A questo proposito, la domanda a Vinin (e ad altri compagni esperti): questo codice si colora da solo o lo fai tu? Ho provato a impostare lo stile dello snippet "code" ma non l'ha colorato. O si colora solo dopo aver inviato il post?
Una domanda per Vinin (e altri compagni esperti): il codice si colora da solo o lo colorate voi stessi? Ho provato a impostare lo stile dello snippet "codice", ma non è colorato. O si colora solo dopo aver inviato il post?
finalizzato la mia idea (per piattaforme con percentuale di stop-out)... condividendo il codice... si accettano critiche costruttive