[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 791

 
granit77:

¿Dónde has estado antes? Tienes razón. Lo he añadido y funciona.


¡Muchas gracias de mi parte también! He estado "molestando" con esta pregunta en varios hilos aquí - aquí hay uno "fructífero" por fin :)) ¡!

Otra pregunta desde otro punto de vista: si prescribo una apertura de orden en Open[0] después de cruzar МА el 40% de las posiciones no se abren - las ignoro completamente (más correctamente, el 40%)) y si prescribo una apertura en Ask o Bid - se abren muchas posiciones "extra" que no deberían abrirse. Esto es especialmente relevante para las divisas con grandes diferenciales, como el EURNZD, por ejemplo.

¿Puedes luchar contra ello? Si abro con el deslizamiento Open[0] igual al spread, actúa como con la apertura Ask - en otras palabras, es un círculo vicioso.

//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void CheckForOpen()
  {
   double ma;
   int    res;
    
//---- go trading only for first tiks of new bar
   if(Volume[0]>1) return;
//---- get Moving Average 
   ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---- sell conditions
   if(Open[1]>ma && Close[1]<ma)  
     {
      res=OrderSend(Symbol(),OP_SELL,Lots,Bid,30,Bid+Stoploss*Point,Bid-Takeprofit*Point,"",MAGICMA,0,Red);
      return;
     }
//---- buy conditions
   if(Open[1]<ma && Close[1]>ma)  
     {
      res=OrderSend(Symbol(),OP_BUY,Lots,Ask,30,Ask-Stoploss*Point,Ask+Takeprofit*Point,"",MAGICMA,0,Blue);
      return;
     }
//----
  }

	          
 
obla4ko:

¡Muchas gracias de mi parte también! He estado "molestando" con esta pregunta en varios hilos aquí - aquí hay uno "fructífero" por fin :)) ¡!

Otra pregunta desde otro punto de vista: si prescribo una apertura de orden en Open[0] después de cruzar МА el 40% de las posiciones no se abren - las ignoro por completo (más precisamente el 40%)) y si prescribo una apertura en Ask o Bid - se abren muchas posiciones "extra" que no deberían abrirse. Esto es especialmente relevante para las divisas con grandes diferenciales, como el EURNZD, por ejemplo.

¿Puedes luchar contra ello? Si establezco el deslizamiento en la apertura Open[0] igual al spread, actúa como en la apertura Ask, es decir, es un círculo vicioso.


¿Ha intentado controlar el número de posiciones abiertas?
 
artmedia70:
¡Bien hecho, Víctor!
Y la nube es silenciosa... :))
no es silencioso :)) ... sólo respondió en el lugar equivocado - :))
 
Vinin:

¿Ha probado a controlar el número de posiciones abiertas?
Sí, lo hemos hecho. Sólo está activa una posición para un instrumento.
 
obla4ko:

¡Muchas gracias de mi parte también! He estado "molestando" con esta pregunta en varios hilos aquí - aquí hay uno "fructífero" por fin :)) ¡!

Otra pregunta desde otro punto de vista: si prescribo una apertura de orden en Open[0] después de cruzar МА el 40% de las posiciones no se abren - las ignoro por completo (más precisamente el 40%)) y si prescribo una apertura en Ask o Bid - se abren muchas posiciones "extra" que no deberían abrirse. Esto es especialmente relevante para las divisas con grandes diferenciales, como el EURNZD, por ejemplo.

¿Puedes luchar contra ello? Si abro con Open[0], el deslizamiento es igual al valor del spread, entonces funciona como con la apertura Ask - en otras palabras, es un círculo vicioso.

Para abrir una posición de compra, se debe utilizar el precio de venta y abrir una posición de venta utilizando el precio de compra.

Es necesario comprobar el resultado devuelto por la función OrderSend(). Si se abre la posición, hay que tener en cuenta que la señal de compra/venta está pasada y no repetir la solicitud de apertura, sino esperar la siguiente señal.

 
PapaYozh:

La posición de compra debe abrirse al precio Ask y la de venta al precio Bid.

Hay que comprobar el resultado devuelto por la función OrderSend(). Si abre una orden, debe tener en cuenta que la señal de compra/venta ha desaparecido y no repetir la solicitud de apertura, sino esperar a la siguiente señal.

Sí! De hecho, no puedo escribir correctamente lo siguiente :

- Si en la barra dada la posición se cerró en StopLoss, y es adecuada por los parámetros para abrir una nueva posición, ¡nunca debe abrirse en ella! En otras palabras...

StopLoss - (1)

OPEN - (0) para la barra actual.

Entonces el Asesor Experto trabaja de manera óptima - un mínimo de posiciones "innecesarias".

Y siempre consigo algún tipo de abracadabra.

 
obla4ko:

¡Si! En realidad, no puedo hacer bien lo siguiente :

- Si una posición se ha cerrado en una barra dada en StopLoss, y es adecuada para abrir una nueva posición de acuerdo con los parámetros, ¡entonces NUNCA debe abrirse en ella! En otras palabras...

StopLoss - (1)

OPEN - (0) para la barra actual.

Entonces el Asesor Experto trabaja de manera óptima - un mínimo de posiciones "innecesarias".

Y siempre me sale algún tipo de abracadabra... :((

Te he dicho que configures el temporizador para que no se abra hasta 4 barras después de que se active el stop
 
Techno:
ya te dije, configura el temporizador para que no se abra hasta 4 barras después de que se active el stop

Lo recuerdo :), tus consejos son buenos, pero "todo son matices", como dice PapaYozh.

Cuando se trabaja con promedios cada barra cuenta - ¡estadística, ya sabes! :)) - por lo que hay que buscar otras soluciones más sutiles....

 
puede fijar la prohibición en 1 o 2 bares. no puede ser más delgado que eso
 

¡Buenas tardes a todos los miembros del foro!

No he podido encontrar respuestas a las siguientes preguntas.

1. Dos terminales están funcionando en máquinas diferentes (la primera en el trabajo, la segunda en casa), en la misma cuenta real.

Si un Asesor Experto en un mismo par de divisas se está ejecutando en estos terminales, en el mismo par de divisas,

¿es equivalente a ejecutar el mismo EA en el mismo par en diferentes ventanas de la misma terminal?

2. Si prohíbo el funcionamiento de los EA en uno de estos terminales (mediante el botón correspondiente), ¿cómo se

¿afecta a otro terminal?

(¡Gracias de antemano!)