Errores, fallos, preguntas - página 619

 
-Alexey-:

Actualmente estoy escribiendo la función de nivel de parada mínima para MT4 409 bild. Para una orden de compra, el probador considera que los valores mínimos de Bid son correctos, y para una orden de compra limitada, el probador considera que los valores mínimos de Ask son correctos. Lógicamente, las operaciones se realizan de forma similar a la compra. Pregunta: ¿es esta la intención, o tenemos que escribir al BOD?

siempre ha habido, hay y habrá una compra de Ask.

¿Hay alguna prueba más que las palabras?

 
-Alexey-:

Ahora para MT4 409 bild se está escribiendo la función de contabilizar el nivel mínimo de stop. Para una orden de compra, el probador considera que los valores mínimos de Bid son correctos y para una orden de compra, el probador considera que los valores mínimos de Ask son correctos. Lógicamente, las operaciones se realizan de forma similar a la compra. Pregunta: ¿es así como debe ser o debo escribirlo en el BOD?

En principio tiene sentido) el stop se activará en el Bid, el pendent se abre en el Ask.

sargazo:

Siempre fue, es y será una compra de Ask.

Para las compras la distancia mínima a sl se toma de la oferta, desde que recuerdo siempre ha sido así)
 
sergeev:

siempre hubo, hay y habrá una compra de Ask.

¿Hay más pruebas que las palabras?


La operación de trading en ambos casos es desde ASK, pero el nivel de stop, por lo que entiendo, debería contarse desde BID, porque se refiere a una operación de cierre de venta, que es lo que se produce en el probador para una orden de COMPRA. Pero, por alguna razón, el LÍMITE se calcula a partir de la ORDEN DE COMPRA. Ejemplo:

bool first_run=true;
int init()
{
   return(0);
}
int deinit()
{
   return(0);
}
int start()
{
   if (first_run==true)
   {
      string _Symbol=Symbol();
      int _Digits=MarketInfo(_Symbol, MODE_DIGITS);
      double Point_size=MarketInfo(_Symbol, MODE_POINT);
      double Min_stop_distanse=MarketInfo(_Symbol, MODE_STOPLEVEL)*Point_size;
      double Min_freeze_distanse=MarketInfo(_Symbol, MODE_FREEZELEVEL)*Point_size;
      double Spread=MarketInfo(_Symbol, MODE_SPREAD)*Point_size;
      Print("Spread="+Spread);
      double _Order_price;
      double _Order_sl;
      double _Order_tp;
      double _Order_lot;
      _Order_lot=MarketInfo(_Symbol, MODE_MINLOT);
      /* highest accepted level for buy limit order */
      double _Upper_bound_for_buy_limit=NormalizeDouble(MarketInfo(_Symbol, MODE_ASK)-Min_stop_distanse, _Digits);
      /* defining orders price */
      _Order_price=_Upper_bound_for_buy_limit; /* ASK */
      _Order_sl=NormalizeDouble(_Order_price-Min_stop_distanse, _Digits); /* ASK-STOPLEVEL */
      _Order_tp=NormalizeDouble(_Order_price+Min_stop_distanse, _Digits); /* ASK+STOPLEVEL */
      /* sending buy limit order */
      OrderSend(_Symbol, OP_BUYLIMIT, _Order_lot, _Order_price, 0, _Order_sl, _Order_tp, NULL, 0, 0, Green);
      first_run=false;
   }
   return(0);
}

Resultado:

2012.01.08 14:39:04 2011.06.03 01:43 test EURUSD,M1: Spread=0.00020000

2012.01.08 14:39:04 2011.06.03 01:43 test EURUSD,M1: open #1 buy limit 0.01 EURUSD at 1.4478 sl: 1.4474 tp: 1.4482 ok

 
el código no fue insertado correctamente.
 
Swan:
Para las compras la distancia mínima a la sl se toma de la oferta, desde que recuerdo siempre ha sido así)

Aclara primero.

¿Estamos hablando de paradas en órdenes de compra o de órdenes de compra pendientes?

 
sergeev:

el código no fue insertado correctamente.
¿Qué hacemos ahora? :) He resaltado y pulsado "Código", pero ahí está...
 
-Alexey-:
¿Qué hacer ahora? :) Creo que he resaltado y pulsado "código", pero ahí está...

puedes borrar el post y volver a intentarlo normalmente. ¿quieres hablar de eso? o de tu problema con el nivel de parada?

 
sergeev:

puedes borrar el post y volver a intentarlo de forma normal. ¿quieres hablar de ello? o de tu problema con el cronómetro?

Lo tengo con el código. Sobre los niveles de parada. ¿Debo escribirlo en el BOD o está diseñado de tal manera que el nivel de parada en una orden BID se calcula a partir del ASK del precio de la orden. Si es así, ¿por qué se considera lo contrario en la orden BUY?
 
-Alexey-:
en una orden limitada de compra el stop/nivel BID se calcula a partir del precio ASK de la orden. Si esto es así, ¿por qué se considera al revés en la orden de BUY?


Empecemos por el orden. Escuela de segundo grado.

А. En las órdenes la gente calcula el Stop Loss y el Take Profit a partir de su precio de apertura. Está claro que si quieres 100 puntos, debes cerrar en beneficio 100 puntos desde el precio de apertura.

Б. El ajuste de SL/TP/STOP se ve afectado por lo que se conoce como nivel de parada. Es decir, no puede colocar un stop loss/stackprofit/posición más cerca que el StopLoss del PRECIO DE EJECUCIÓN.

De ello extraemos las siguientes conclusiones.

1. Cuando se abre una orden de mercado , se debe establecer el SL/TP teniendo en cuenta el nivel de stop a partir del precio actual en el que se activa el stop. En el caso de las bahías, las paradas se activan en el Bid, por lo que se tiene en cuenta el nivel de parada del Bid actual. Eso es SL/TP que se suele poner desde la apertura de la orden (porque se necesitan 100 puntos), pero hay que tener en cuenta la posición del Bid y el tamaño del nivel de stop.

2. Cuando abra una oferta comercial, no debe estar más cerca del nivel de parada del precio al que se activa. Es decir, para un Buy Stop/ Bail Out medimos el nivel de stop contra el Asc. Es decir, colocas una orden de stop al precio que quieras, pero siempre teniendo en cuenta la distancia del nivel de stop con respecto a Ask.

¡Pero presta atención! Si se establece el Stop Loss y el Take Profit en la orden , se mide desde el precio de apertura de la orden ! No desde el Ask, sino desde el precio de apertura de la orden! Los precios actuales no interfieren con estas dos órdenes pendientes (SL/TP). Sólo se ven obstaculizados por la distancia al futuro orden desencadenado. Es decir, se establece el SL/TP en la orden teniendo en cuenta la distancia del nivel de stop desde el precio de apertura de esta orden. El Bid/Ask no tiene nada que ver.

¿Recuerdas?

 
sergeev:

¡Pero presta atención! stoploss y takeprofit en la orden pendiente se miden tranquilamente desde el precio de apertura de la orden!!! no desde Asc, sino desde el precio de apertura de la orden! Los precios actuales no interfieren con estas dos órdenes pendientes (SL/TP). Sólo se ven obstaculizados por la distancia al futuro orden desencadenado. Es decir, se establece el SL/TP en la orden teniendo en cuenta la distancia del nivel de stop desde el precio de apertura de esta orden. El Bid/Ask no tiene nada que ver.

¿Lo tienes?

Sí, lo recuerdo, pero no lo entiendo. Está claro que una orden pendiente de compra limitada se abre cuando su nivel alcanza el precio de compra. Por lo tanto, en ese momento el precio actual de la Oferta está a una distancia inaceptable del SL (también ejecutado en la Oferta) medido antes como el precio de ejercicio (es decir, el precio de la Oferta en el momento de la ejecución) - Nivel de Stop. Lo único que se puede intentar explicar con esto es que no se sabe de antemano cuál será el precio de ejecución de la Oferta en el momento de la ejecución. Si esa es la intención... vale, está claro, gracias por el post detallado.