Estoy a punto de dejar de luchar contra ellos ya... - página 3

 
Maxim Dmitrievsky:
Entonces, ¿a dónde? Todos son iguales, supongo... corredor de divisas

Echa un vistazo a mi blog para ver una reseña. Habrá 3 corredores más en una o dos semanas (probando ahora).

Todos tienen depósitos asequibles y buenas condiciones.

 
Andrey Khatimlianskii:

Echa un vistazo a mi blog para ver una reseña. Habrá 3 corredores más en una o dos semanas (probando ahora).

Todos tienen depósitos asequibles y buenas condiciones.

Buena reseña :)
 

Empecemos a las 15:23:39

Usted está tratando de colocar una parada de compra con 0,14 lotes.

precio 1,07998 SL = 1,07956 - diferencia 42 puntos - error

precio 1.08006 SL = 1.07957 - diferencia 49 pips - se equivocó

precio 1,08009 SL = 1,07957 - diferencia 52 pips - ¡aceptado!

¿Tal vez el problema sea la diferencia entre el SL y el precio?

 
Oksana Berenko:

Empecemos a las 15:23:39

Usted está tratando de poner una parada de compra con un lote de 0,14

precio 1,07998 SL = 1,07956 - diferencia 42 puntos - error

precio 1.08006 SL = 1.07957 - diferencia 49 pips - se equivocó

precio 1,08009 SL = 1,07957 - diferencia 52 pips - ¡aceptado!

¿Tal vez el problema sea la diferencia entre el SL y el precio?

Por qué fue un error si el stop era de 20 pips. Y si no son 20 (cambiados), sigue comprobando

precio 1.07998 SL = 1.07956 - esto es un bystop, todo bien

el segundo también, y el tercero...

En mi código:

ValidStop = SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL);
if( Ask-iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0) >= ValidStop*Point)
   {
    double price;
    Lots = LotsOptimized();
    if(ValidStop<=StopLevels) price = MarketInfo(_Symbol,MODE_ASK)+StopLevels*_Point;
    else price = MarketInfo(_Symbol,MODE_ASK)+ValidStop*_Point;
    
    if(OrderSend(Symbol(), OP_BUYSTOP, Lots, price, 2, NormalizeDouble(iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0),_Digits), 0, NULL,      OrderMagic)) GetLastError();
  }
 
Maxim Dmitrievsky:

¿Por qué el error? si el stop era de 20 pips. Y si no son 20 (cambiados), sigue comprobando

¡Sólo he leído tu foto!

ris

Aquí lo he leído:

Empecemos a las 15:23:39

Usted está tratando de poner una parada de compra con un lote de 0,14

precio 1,07998 SL = 1,07956 - diferencia 42 puntos - error

precio 1.08006 SL = 1.07957 - diferencia 49 pips - error

precio 1,08009 SL = 1,07957 - diferencia 52 puntos - ¡aceptado!

Y llegó a una conclusión:

¿Quizás la diferencia entre el SL y el precio sea la pega después de todo?

 
Oksana Berenko:

¡Sólo he leído tu foto!

Aquí lo he leído:

Empecemos a las 15:23:39

Usted está tratando de colocar una parada de compra con un lote de 0,14

precio 1,07998 SL = 1,07956 - diferencia 42 puntos - error

precio 1.08006 SL = 1.07957 - diferencia 49 pips - error

precio 1,08009 SL = 1,07957 - diferencia 52 puntos - ¡aceptado!

Y llegó a una conclusión:

¿Quizás la pega sea la diferencia entre el SL y el precio después de todo?

Bueno, el código anterior sólo comprueba la diferencia entre la orden y el precio para el stop que no debe ser menor que el stop loss. Además, añadimos el valor de la nivelación del stop al ack y colocamos la orden en ese nivel.

if( Ask-iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0) >= ValidStop*Point)
 

Es decir, la pausa se coloca siempre en el precio que es la suma del nivel actual de asc + stop para la compra, y el nivel de bid-stop para la venta

if(ValidStop<=StopLevels) price = MarketInfo(_Symbol,MODE_ASK)+StopLevels*_Point;
 
Maxim Dmitrievsky:

Es decir, la pausa se coloca siempre en el precio que es la suma del nivel actual de asc + stop para la compra, y el nivel de bid-stop para la venta

El valor del nivel de parada se muestra a menudo de forma incorrecta. El código devuelve un valor, cuando en realidad es un valor diferente. Me he encontrado con que devuelve 0 pero en realidad 20. O incluso devolvía 20, pero podía ponerlo en un valor menor a mano.
 
Oksana Berenko:
El valor de stopplay se muestra a menudo de forma incorrecta. El código devuelve un valor, pero en realidad es un valor diferente. He visto que devuelve 0, pero en realidad es 20. O incluso devolvía 20, pero podía ponerlo en un valor menor a mano.
Ni siquiera sé qué hacer entonces... He buscado en la prensa - siempre devuelven 20. Puede ser que al enviar una orden, el precio cambie un punto o más... por eso el servidor devuelve un error
 
Maxim Dmitrievsky:

Es decir, la orden pendiente se coloca siempre al precio, que es la suma del nivel actual Ask + Stop para la compra, y Bid - Stop para la venta.

No se puede operar al borde de un nivel de stop en un mercado rápido. Es como tratar de abrir en una ejecución instantánea con un deslizamiento de 1 pip en un cinco dígitos - 90% que habrá requotes.

Añade un poco de contragolpe.

Oksana Berenko:
El valor del nivel de parada se muestra a menudo de forma incorrecta. El código devuelve un valor, cuando en realidad es diferente. Me he encontrado con que devuelve 0 y en realidad 20. O incluso devolvía 20, pero podía ponerlo en un valor menor a mano.

0 significa que o bien no existe o bien se comprueba en el servidor mediante un algoritmo que sólo él conoce.

Y tenemos que contar a partir de los precios correctos (no confundir oferta con demanda). Y los SL con TP de las operaciones de mercado no deben comprobarse desde el precio de apertura, sino desde el precio al que se activarán.