Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 537

 
sebegolov:

Ayúdame a averiguar por qué el indicador no se está renderizando. Quiero crear eventualmente algo como ZigZag.

Por favor, ponga el código correctamente:


Ya lo hice por ti en tu post.

 
Artyom Trishkin:

Por favor, introduzca el código correctamente:


Ya lo he hecho por ti en tu post.

Lo siento, es la primera vez que escribo en este foro, la próxima vez lo haré bien.
 

¡Buenos días!

¿Dónde puedo conseguir un robot para MT4 para establecer SL y TP después de abrir una posición?

 
churkin:

¡Buenos días!

¿Dónde puedo conseguir un robot para MT4 para establecer SL y TP después de abrir una posición?

Aquí.
 

¿Puedes decirme cómo determinar en el código si este instrumento tiene un intercambio al final del día?

 
Ivan Katsko:

¿Puede decirme cómo determinar en el código si este instrumento tiene un intercambio al final del día?

Para mirar los intercambios al final del día...

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_SHORT) - intercambiar posiciones cortas

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_LONG) - intercambio de posiciones largas

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_MODE) - modelo de cálculo del intercambio

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_ROLLOVER3DAY)- día de la semana para el cálculo del triple swap

 
Artyom Trishkin:

Para ver los intercambios al final del día...

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_SHORT) - intercambiar posiciones cortas

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_LONG) - intercambio de posiciones largas

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_MODE) - modelo de cálculo del intercambio

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_ROLLOVER3DAY)- día de la semana para el cálculo del triple swap

Por referencia a SYMBOL_SWAP_MODE Para la función SymbolInfoInteger(). En las variables globales, establezca int ssm = SymbolInfoInteger(Symbol(),SYMBOL_SWAP_MODE); En el código: Print("ssm = ",ssm); El resultado tanto en FC sin swap como en FC con swap = 0 (aquí está la cuestión). Quiero saber: si habrá intercambio o no, para poder decidir en consecuencia.



 
Ivan Katsko:

Por referencia a SYMBOL_SWAP_MODE Para la función SymbolInfoInteger(). En las variables globales establecer int ssm = SymbolInfoInteger(Symbol(),SYMBOL_SWAP_MODE); En el código: Print("ssm = ",ssm); El resultado tanto en CC sin swap como en CC con swap = 0 (aquí está la pregunta). Me gustaría saber si habrá un intercambio o no, para poder tomar una decisión adecuada.

Algunas variables del entorno de mercado, similares a las de MT5, no siempre se rellenan correctamente en MT4. Por lo tanto, tenemos que utilizar MarketInfo en MT4. Y el tipo de cálculo de los swaps para MT4 es, en la inmensa mayoría de los casos, de puntos. Por eso obtenemos 0. Así, si se solicita información a través de MarketInfo (tenemos que utilizar este método antiguo más a menudo en MT4), se obtendrá el valor correspondiente a la referencia:

MODE_SWAPTYPE

26

Método de cálculo de los swaps. 0 - en puntos; 1 - en moneda base del instrumento; 2 - en porcentajes; 3 - en moneda colateral.

 
Ihor Herasko:

Algunas variables del entorno de mercado, similares a las de MT5, no siempre se rellenan correctamente en MT4. Por eso tenemos que utilizar MarketInfo en MT4 a la vieja usanza. Y el tipo de cálculo de los swaps para MT4 es, en la inmensa mayoría de los casos, de puntos. Por eso obtenemos 0. Así, si solicitamos información a través de MarketInfo (tenemos que usar este método antiguo más a menudo en MT4), obtendremos sólo el valor correspondiente a la referencia:

MODE_SWAPTYPE

26

Método de cálculo de los swaps. 0 - en puntos; 1 - en moneda base del instrumento; 2 - en porcentaje; 3 - en moneda colateral.

SWAP - según tengo entendido, es un procedimiento del centro de negociación que consiste en lo siguiente: si hay órdenes abiertas al final del día, se cierran y se abren nuevas órdenes en su lugar. En caso contrario, la mesa de operaciones no cierra/abre órdenes, sino que cobra el SWAP (+/-). Intento determinar: ¿se cobrará el SWAP o se cerrarán/abrirán los pedidos? Aplicado:

double ssm_l = MarketInfo(Symbol(), MODE_SWAPLONG );

double ssm_s = MarketInfo(Symbol(), MODE_SWAPSHORT);

Print("ssm_l = ",ssm_l);

Print("ssm_s = ",ssm_s);

y resultó que hay algunos valores numéricos en CA, donde se cobra el SWAP, y en CA, donde no se cobra el SWAP. Así que es imposible determinar si el SWAP está cargado o no.


 
Ivan Katsko:

SWAP - según tengo entendido, el procedimiento del centro de negociación es el siguiente: si al final del día hay órdenes abiertas, se cierran y en su lugar se abren nuevas órdenes. En caso contrario, el centro de negociación no cierra/abre órdenes, sino que cobra SWAP (+/-). Intento determinar: ¿se cobrará el SWAP o se cerrarán/abrirán los pedidos?

Este método de cálculo del swap se denomina rollover. En MT4 no hay forma de saberlo programáticamente. Sólo de forma indirecta, después de que el turno de medianoche con las órdenes de mercado de trabajo haya tenido lugar. Hay muchos de estos pequeños, pero bastante desagradables problemas en MT4. En MT5 hay un poco menos, pero siguen existiendo.

Aplicado:

double ssm_l = MarketInfo(Symbol(), MODE_SWAPLONG );

double ssm_s = MarketInfo(Symbol(), MODE_SWAPSHORT);

Print("ssm_l = ",ssm_l);

Print("ssm_s = ",ssm_s);

y resultó que hay algunos valores numéricos en CA, donde se cobra el SWAP, y en CA, donde no se cobra el SWAP. Así que no podemos decidir si una empresa de corretaje está cargada de SWAP o no.


Estos son valores de intercambio en pips. Tendrá que convertirlos a la moneda de depósito procediendo del volumen de la orden de mercado. Entonces obtendremos el tamaño real del intercambio.

Razón de la queja: