Calcolo corretto del lotto dalla % del deposito - pagina 6

 
gochu:

si accettano critiche costruttive


Come ho scritto sopra al compagno Vinin:


TICKVALUE dà il prezzo per TICKSIZE.

E la distanza da SL è data in punti POINT.

POINT non è sempre uguale a TICKSIZE (vedi la coppia a 3 cifre XAUUSD su Alpari).

Quindi dovete convertire la distanza di SL da POINT a TICKSIZE.

Altrimenti - otterremo un lotto 10 volte sovrastimato in questi casi (questo è quello che ho visto sulla coppia XAUUSD, fino a quando ho aggiunto il ricalcolo).

Il ricalcolo è fatto come segue (prima di moltiplicare per TICKVALUE): MarketInfo(lSymbol,MODE_TICKSIZE) / MarketInfo(lSymbol,MODE_POINT)

PS: e non hai nessun controllo per pipsLoss==0, che potrebbe dare un errore di "divisione per 0".


 
EverAlex:

come ho scritto sopra al compagno Vinin:


TICKVALUE dà il prezzo per TICKSIZE.

E la distanza da SL è data in punti POINT.

POINT non è sempre uguale a TICKSIZE (vedi la coppia a 3 cifre XAUUSD su Alpari).

Quindi dovete convertire la distanza di SL da POINT a TICKSIZE.

Altrimenti - otterremo un lotto 10 volte sovrastimato in questi casi (questo è quello che ho visto sulla coppia XAUUSD, fino a quando ho aggiunto il ricalcolo).

Il ricalcolo si fa così (prima di moltiplicare per TICKVALUE): MarketInfo(lSymbol,MODE_TICKSIZE) / MarketInfo(lSymbol,MODE_POINT)

PS: e non hai nessun controllo per pipsLoss==0, che potrebbe dare un errore di "divisione per 0".


Grazie, controllerò e metterò a punto!
 

L'ho sistemato, bussa alla porta...

Domanda fuori tema, qualcuno ha lavorato con la lista delle coppie di valute disponibili nel terminale...?

Non sono sicuro di cosa fare con loro!

 
gochu:

L'ho sistemato, bussa alla porta...

Domanda fuori tema, qualcuno ha lavorato con la lista delle coppie di valute disponibili nel terminale...?

Non sono sicuro di cosa fare con loro!

È qui. Vedere anche i vicini dell'elenco delle funzioni (colonna sinistra)
 

per cosa mi serve... Voglio trovare le coppie che faranno la differenza tra TICKSIZE e POINT

trovato e modificato lo script (allegato https://www.mql5.com/en/code/8317) ... ma ci vuole un tempo molto lungo ... (12 minuti sul mio computer)... Vorrei qualcosa di più veloce

Se non riesco a trovare niente di buono, scriverò il mio...

 

ecco una funzione per la mancata corrispondenza tra TICKSIZE e POINT

string CurrArray[];

string TICK_NOT_POINT()
{
   string resultString = "\nКоличество валютных пар="+IntegerToString(SymbolsTotal(false))+"\n";
   int quantCurr = SymbolsTotal(false);
   ArrayResize(CurrArray,quantCurr);
   Print(ArraySize(CurrArray));
   for(int i=0;i<ArraySize(CurrArray);i++)
     {
         CurrArray[i]=SymbolName(i,false);
         Print(SymbolName(i,false));
     }
     resultString+="\nНесовпадают TICKSIZE и POINT:";
   for(int i=0;i<ArraySize(CurrArray);i++)
     {
         if((int)(MarketInfo(CurrArray[i],MODE_TICKSIZE)/MarketInfo(CurrArray[i],MODE_POINT)) != 
        (int)(MarketInfo(CurrArray[i],MODE_POINT)/MarketInfo(CurrArray[i],MODE_POINT)))
           {
              resultString +="\n"+ CurrArray[i]+
              " TICKSIZE"+ DoubleToStr(MarketInfo(CurrArray[i],MODE_TICKSIZE), (int)MarketInfo(CurrArray[i],MODE_DIGITS))+ 
              " POINT"+DoubleToStr(MarketInfo(CurrArray[i],MODE_POINT), (int)MarketInfo(CurrArray[i],MODE_DIGITS));
           }      
     }
     return resultString;
}

solo sulla demo alpari 53 coppie, non ho mai visto una sola coppia che avesse un TICKSIZE diverso

 
gochu:

ecco una funzione per la mancata corrispondenza tra TICKSIZE e POINT

solo sulla demo alpari su 53 coppie, non ho mai visto una sola coppia che li avesse diversi


Quindi qual è la conclusione di questo?

Non possiamo aggiungere una linea di conversione da pip a tick?

Lasciate che gli utenti della vostra funzione ottengano un aumento del lotto di 10 volte quando passano da 2 cifre a 3 cifre?

Ho già segnalato sopra - che c'era una discrepanza nel calcolo dei lotti su XAUUSD a 3 cifre in Alpi fino a quando ho aggiunto il ricalcolo (conto reale, ECN-nuovo).

Se TICKVALUE imposta il prezzo per TICKSIZE, ma la distanza (verso SL, per esempio) è impostata in Point, dovremmo ricalcolare da Point a TICKSIZE.

Solo perché il TICKSIZE è ora da qualche parte uguale al Punto non significa nulla e

non ricalcolare in tick è una bomba per gli utenti della vostra funzione.

 

No, in nessun modo ... l'idea di calcolo era di calcolare il coefficiente tra TICKSIZE e POINT, prendendolo in considerazione nel calcolo dei lotti, che ho fatto, ma non ho messo.... (intendevo la funzione per il calcolo dei lotti), l'ultima funzione è necessaria per un semplice controllo di tutte le coppie disponibili su una particolare piattaforma (per trovare le coppie che hanno questi suddetti parametri diversi) ... e niente di più

Non pretendo di essere l'autorità finale... sempre felice di avere un sano conflitto

Sono sempre contento di un sano conflitto ... e non ci sono utenti della mia funzione, tranne me ... Sto scrivendo per me stesso, ma per far funzionare la mia idea, capisco le funzioni del file, ma questa non è una domanda per questo thread

 

Colleghi, una domanda fuori tema, chiedete un suggerimento, con un reindirizzamento a una risorsa.

Come scoprire l'intreval di coppie di valute non commerciali,

Vorrei spiegare, ci sono piattaforme (la stessa Alpari) dove USDRUB non è scambiato di notte, vorrei scoprire l'intervallo quando il trading è vietato sarei grato per l'aiuto, condividerò i risultati.

 
gochu:

Colleghi, una domanda fuori tema, chiedete un suggerimento, con un reindirizzamento a una risorsa.

Come conoscere l'intreval di coppie di valute non commerciali,

Vorrei spiegare, ci sono piattaforme (la stessa Alpari) dove USDRUB non è scambiato di notte, vorrei scoprire l'intervallo quando il trading è vietato sarei grato per l'aiuto, condividerò i risultati.


Cosa c'entra questo con le piattaforme... davvero non mercanteggia di notte... tutti dormono... :-)))