[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 189

 

¡Buenos días a todos!

Me pueden aconsejar por favor...

Supongamos que tenemos la siguiente construcción OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,0,0);

En el cuarto lugar, tenemos deslizamiento = 3.

Este es un fragmento de la referencia:

deslizamiento - Máximo deslizamiento de precios permitido para las órdenes de mercado(órdenes de compra o venta).

1. Si no le importa, explique con los dedos qué es, de qué y por qué. )) No está muy claro cuál es la desviación de y en qué (pips, minutos...).

2. Y la segunda, ¿a qué nivel debo fijarme? En algún lugar he visto en artículos que este valor debe ser fijado en 30 para los pares de divisas con cinco signos (por ejemplo, EURUSD).

¡Muchas gracias!

 
Andrey067:

Hola a todos.

Estoy empezando a dar mis primeros pasos en la programación. Estoy practicando con ejemplos sencillos. Pero quiero entender mejor la sintaxis y quiero escribir algo más interesante: por ejemplo, crear un indicador de máximo y mínimo para un periodo, fractal... Estaría muy agradecido si alguien pudiera compartir las fuentes...

Compartiendo la línea más valiosa con usted . http://www.google.ru/advanced_search?q=codebase+site:mql4.com&hl=es&lr=&newwindow=1&prmd=ivns
 
NickXXX:

¡Buenos días a todos!

¿Puede aconsejarme por favor...

Supongamos que tenemos la siguiente construcción OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,0,0);

En el cuarto lugar, tenemos deslizamiento = 3.

Este es un fragmento de la referencia:

deslizamiento - Máximo deslizamiento de precios permitido para las órdenes de mercado (órdenes de compra o venta).

1. Si no le importa, explique con los dedos qué es, de qué y por qué. )) No está muy claro cuál es la desviación de y en qué (pips, minutos...).

2. Y la segunda, ¿a qué nivel debo fijarme? En algún lugar he visto en artículos que este valor debe ser fijado en 30 para los pares de divisas con cinco signos (como el EURUSD).

Gracias de antemano.


A la 1 - lea la explicación en internet para el "deslizamiento" - este es el parámetro de deslizamiento

Para el segundo - debes ponerlo a 4 - por ejemplo 3 - a 5 - 30

 
NickXXX:

¡Buenos días a todos!

Me pueden aconsejar por favor...

Supongamos que tenemos la siguiente construcción OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,0,0);

En el cuarto lugar, tenemos deslizamiento = 3.

Este es un fragmento de la referencia:

deslizamiento - Máximo deslizamiento de precios permitido para las órdenes de mercado (órdenes de compra o venta).

1. Si no le importa, explique con los dedos qué es, de qué y por qué. )) No está muy claro cuál es la desviación de y en qué (pips, minutos...).

2. Y la segunda, ¿a qué nivel debo fijarme? En algún lugar he visto en artículos que este valor debe ser fijado en 30 para los pares de divisas con cinco signos (como el EURUSD).

Muchas gracias.


1. Véase aquí, concretamente ". Si el precio de apertura solicitado está muy desfasado, se generará un error 138 (ERR_REQUOTE) independientemente del valor del parámetro de deslizamiento. Sin embargo, si el precio solicitado es obsoleto pero sigue presente en el flujo de precios, la posición se abrirá al precio actual y sólo si el precio actual se encuentra dentro del rango de precio+desviación" Desviación en pips.

2. En el libro de texto, el valor de 2 (pips reales en los pares de cuatro dígitos), para los pares de cinco dígitos - el valor es 20-30, depende del corredor... Cuando operaba en A..... utilizaba el valor 20-30 y no tenía ningún problema con la apertura de órdenes con este parámetro.

 
Roman.:


1. Véase aquí, concretamente "... Si el precio de apertura solicitado está muy desfasado, se generará un error 138 (ERR_REQUOTE), independientemente del valor del parámetro de deslizamiento. Sin embargo, si el precio solicitado es obsoleto pero sigue presente en el flujo de precios, la posición se abrirá al precio actual y sólo si el precio actual se encuentra dentro del rango de precio+desviación" Desviación en pips.

2. En el tutorial - valor 2 (pips reales, en cuatro dígitos), para cinco dígitos - valor 20-30, depende del broker... Operé con el valor de 20-30 en A..... y no tuve problemas con la apertura de órdenes por el valor de este parámetro.

Por ejemplo, si A.....i tiene las siguientes condiciones:

1. Para los pares de divisas con 5 decimales - cambio mínimo del 4º decimal (0,0001);

2. para los pares de divisas con 3 decimales - el cambio mínimo del segundo decimal (0,01).

¿Lo pongo a 20-30 en un par de 5 dígitos (por ejemplo EURUSD) o a 2-3, porque se tiene en cuenta el cambio del cuarto decimal?

 
NickXXX:

Y si, por ejemplo, A..... y estas son las condiciones:

  • para los pares de divisas con 5 decimales: el cambio mínimo del cuarto decimal (0,0001);
  • para los pares de divisas con 3 decimales - el cambio mínimo del segundo decimal (0,01).

Yo pongo 20-30 para los pares de 5 decimales (por ejemplo, EURUSD) o 2-3 ya que sólo se tiene en cuenta el cambio del 4º signo decimal????


Da igual, en los brokers de cinco cifras pon 40 y no te preocupes, al final a no ser que se trate de un scalping masoquista, cuatro puntos reales arriba/abajo no van a minar tu plan de juego.... :-))) Prueba con microreal y ya está.
 
NickXXX:

Y si, por ejemplo, A..... tiene estas condiciones:

1. Para los pares de divisas con 5 decimales - cambio mínimo del 4º decimal (0,0001);

2. para los pares de divisas con 3 decimales - el cambio mínimo del segundo decimal (0,01).

¿Lo pongo a 20-30 en un par de 5 dígitos (por ejemplo EURUSD) o a 2-3, porque se tiene en cuenta el cambio del cuarto decimal?


No. Exactamente, se multiplican los puntos reales por 10, ya que es un CINCO, es decir, el valor de deslizamiento estará en el rango de 20-30.
 
¡Muchas gracias...!
 
Andrey067:

Hola a todos.

Estoy empezando a dar mis primeros pasos en la programación. Estoy practicando con ejemplos sencillos. Pero quiero entender mejor la sintaxis y quiero escribir algo más interesante: por ejemplo, crear un indicador de máximo y mínimo para un periodo, fractal... Estaría muy agradecido si alguien pudiera compartir las fuentes...

¿Quieres tomar un ejemplo ya hecho y elaborarlo?

¿Qué tal si primero lees esta sección del libro de texto?

 

Estoy escribiendo un EA para el desglose de canales. Me he topado con la comprobación de desglose de canales antes de abrir una operación, es decir, necesito calcular o registrar el tiempo de desglose de canales antes de abrir una operación. Consigo canales con la ayuda del indicador y obtengo valores como este:

for (i = 0; i < ObjectsTotal(); i++)
{
if (StringFind(ObjectName(i), "#",0) >= 0) continue;
if (ObjectType(ObjectName(i)) == 1)
{
if (var_400 < ObjectGet(ObjectName(i),OBJPROP_PRICE1)
{
ChangeTrend1 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
var_416 = ObjectGet(ObjectName(i),OBJPROP_PRICE1);
var_400 = ObjectGet(ObjectName(i),OBJPROP_PRICE1);
FirstPrice1 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend1, false);
}
if ((var_408 > ObjectGet(ObjectName(i),OBJPROP_PRICE1)) && (ObjectGet(ObjectName(i),OBJPROP_PRICE1) > 0))
{
var_408 = ObjectGet(ObjectName(i),OBJPROP_PRICE1);
FirstPrice2 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend2, false));
ChangeTrend2 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
}
}
si (ObjectType(ObjectName(i)) == 2)
{
if (var_400 < ObjectGetValueByShift(ObjectName(i),0))
{
ChangeTrend1 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
var_416 = ObjectGetValueByShift(ObjectName(i),1);
var_400 = ObjectGetValueByShift(ObjectName(i),0);
FirstPrice1 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend1, false);
}
if ((var_408 > ObjectGetValueByShift(ObjectName(i),0)) && (ObjectGetValueByShift(ObjectName(i),0) > 0))
{
ChangeTrend2 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
var_408 = ObjectGetValueByShift(ObjectName(i),0);
FirstPrice2 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend2, false));
}
}
}

var_392 = MathRound((var_400 - var_416)/ld_84 * 100);
if ((var_400 != 0) && (var_408 != 9999) && (var_400 != var_408)){
var_400 = NormalizeDouble(var_400,Digits);

var_408 = NormalizarDoble(var_408,Dígitos);

Por favor, ayúdenme a resolver este problema. Gracias de antemano.



Razón de la queja: