Cálculo correcto del lote a partir del % de la fianza - página 6

 
gochu:

se acepta la crítica constructiva


Como le escribí arriba al camarada Vinin:


TICKVALUE da el precio de TICKSIZE.

Y la distancia a la SL se da en puntos POINT.

POINT no es siempre lo mismo que TICKSIZE (ver el par de 3 dígitos XAUUSD en Alpari).

Así que debe convertir la distancia a SL de PUNTO a TICKSIZE.

De lo contrario - obtendremos un lote 10 veces sobreestimado en tales casos (eso es lo que vi en el par XAUUSD, hasta que añadí el recálculo).

El recálculo se realiza de la siguiente manera (antes de multiplicar por TICKVALUE): MarketInfo (lSymbol,MODE_TICKSIZE) / MarketInfo(lSymbol,MODE_POINT)

PD: y no tienes ninguna comprobación para pipsLoss==0, lo que podría dar un error de "división por 0


 
EverAlex:

Como le escribí arriba al camarada Vinin:


TICKVALUE da el precio de TICKSIZE.

Y la distancia a la SL se da en puntos POINT.

POINT no es siempre lo mismo que TICKSIZE (ver el par de 3 dígitos XAUUSD en Alpari).

Así que debe convertir la distancia a SL de PUNTO a TICKSIZE.

De lo contrario - obtendremos un lote 10 veces sobreestimado en tales casos (eso es lo que vi en el par XAUUSD, hasta que añadí el recálculo).

El recálculo se hace así (antes de multiplicar por TICKVALUE): MarketInfo (lSymbol,MODE_TICKSIZE) / MarketInfo(lSymbol,MODE_POINT)

PD: y no tienes ninguna comprobación para pipsLoss==0, lo que podría dar un error de "división por 0


Gracias, lo comprobaré y lo finalizaré.
 

Lo he arreglado, toca la puerta...

Pregunta fuera de tema, ¿alguien ha trabajado con la lista de pares de divisas disponibles en el terminal...?

No sé qué hacer con ellos.

 
gochu:

Lo he arreglado, toca la puerta...

Pregunta fuera de tema, ¿alguien ha trabajado con la lista de pares de divisas disponibles en el terminal...?

No sé qué hacer con ellos.

Está aquí. Véase también la lista de funciones de los vecinos (columna de la izquierda)
 

para lo que lo necesito... Quiero encontrar los pares que harán la diferencia entre TICKSIZE y POINT

encontrado y ajustado la secuencia de comandos (adjunto https://www.mql5.com/en/code/8317) ... pero se necesita un tiempo muy largo ... (12 minutos en mi ordenador)... Me gustaría algo más rápido

Si no encuentro nada bueno, escribiré el mío propio...

 

aquí hay una función para el desajuste de TICKSIZE y 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;
}

sólo en la demo de alpari 53 pares, nunca vi un solo par que tuviera un TICKSIZE diferente

 
gochu:

aquí hay una función para el desajuste de TICKSIZE y POINT

solo en la demo de alpari en 53 pares, nunca vi un solo par que los tuviera diferentes


¿Cuál es la conclusión de esto?

¿No podemos añadir una línea de conversión de pips a ticks?

¿Que los usuarios de su función obtengan un aumento de 10 veces en el lote al pasar de 2 a 3 dígitos?

Ya informé arriba - que había una discrepancia en el cálculo del lote en XAUUSD de 3 dígitos en Alps hasta que añadí el recálculo (real, ECN-nueva cuenta).

Si TICKVALUE establece el precio para TICKSIZE, pero la distancia (a SL, por ejemplo) se establece en Point, deberíamos recalcular desde Point a TICKSIZE.

El hecho de que el TICKSIZE esté ahora en algún lugar igual al Punto no significa nada y

no recalcular en ticks es una bomba para los usuarios de su función.

 

No, de ninguna manera... la idea del cálculo era calcular el coeficiente entre TICKSIZE y POINT, teniéndolo en cuenta en el cálculo de los lotes, cosa que hice, pero no puse.... (me refería a la función de cálculo de lotes), esta última función es necesaria para una simple comprobación de todos los pares disponibles en una determinada plataforma (para encontrar pares que tengan estos parámetros mencionados diferentes)... y nada más

No pretendo ser la autoridad final... siempre feliz de tener un conflicto saludable

Estoy escribiendo para mí, pero para que mi idea funcione, entiendo las funciones de los archivos, pero eso no es una cuestión para este hilo

 

Colegas, una pregunta fuera de tema, pido una pista, con una redirección a un recurso.

Cómo averiguar el intreval de los pares de divisas no comerciales,

Me gustaría explicar, hay plataformas (la misma Alpari) donde no se negocia el USDRUB por la noche, me gustaría averiguar el intervalo en el que se prohíbe el comercio agradecería la ayuda, voy a compartir los resultados.

 
gochu:

Colegas, una pregunta fuera de tema, por favor pidan una pista, con una redirección a un recurso.

Cómo conocer el intreval de los pares de divisas no comerciales,

Me gustaría explicar, hay plataformas (el mismo Alpari) donde USDRUB no se negocia en la noche, me gustaría calcular este intervalo, cuando el comercio está prohibido agradecería la ayuda, voy a compartir los resultados.


¿Qué tiene que ver esto con las plataformas... realmente no regatea por la noche... todo el mundo está dormido... :-)))