¿Es el asesor adecuado para la vida real? - página 35

 
borilunad:

1) Normalizar todas las condiciones y acciones;


También hay que normalizar el lote si cambia y/o se calcula. ¿Qué otra cosa es posible?
 
FOReignEXchange:

1) Hay que normalizar los topes cuando se calculan por separado. Esto está escrito en la ayuda. ¿Por qué normalizar algo que no necesita ser normalizado? Que sean 150 decimales. Si no afecta a nada, no es necesario normalizarlo. Aquí hay un código, por ejemplo.

¿Por qué debemos normalizar a y b? No puedo entenderlo. Este es un ejemplo simplificado, por supuesto. Pero la cuestión es que si se trata de matemáticas en el código, ¿por qué hay que normalizarlo todo? Sólo es necesario normalizar los topes si se obtienen como resultado de dichas matemáticas.

2) He comprobado las condiciones varias veces. Lo estoy comprobando ahora. Tal vez me haya perdido algo.

3) Sólo se producen 2 errores en mi código. Error 130 - paradas erróneas, y Parámetros no válidos al borrar una orden pendiente. Todo está claro con el primero y lo he solucionado. Los parámetros inhabilitados para la eliminación de órdenes pendientes también están claros.

4) No tenemos tiempo para abrir posiciones sin SL y TP, ya que fijamos el beneficio mínimo y puede que no se fije después, ya que el precio se mueve rápidamente. A todas luces, la cuarta regla ha surgido del hecho de que antes no se podían abrir posiciones con stops mediante los terminales de BROKO. Ahora puedes hacerlo. Así que no veo el sentido de esta norma.


Tal y como yo lo veo, tú lo sabes mejor...

¡Sigue así, incluyendo el error en los stops y quitando el colgante, armado hasta los dientes con SL y TP, a pesar de la importancia en las inmediaciones del precio, y sin ver el punto en todo lo demás!

¡El tiempo lo dirá y pondrá todo en su sitio!

 
FOReignEXchange:

También hay que normalizar el lote si cambia y/o se calcula. ¿Qué más puede hacer?

Por supuesto. Y todo lo relacionado con los cálculos relativos a las normas de la CV que cambian rápidamente en las condiciones del mercado.
 
borilunad:


Tal y como yo lo veo, tú lo sabes mejor...

¡Sigue con el buen trabajo, incluyendo el error en los stops y quitando el péndulo, armado hasta los dientes con el SL y el TP, a pesar de la importancia en la proximidad del precio, y sin ver el punto en todo lo demás!

El tiempo lo demostrará y pondrá todo en su sitio.


Lo principal es que el código en la vida real funcione y se ejecute sin problemas. Todo lo demás no es importante.

Falla en el STOP debido a la obsolescencia de los precios. Error 130. Al intentarlo de nuevo se arregla todo. No hay ningún problema con esto. No hay más errores en el registro.

Sólo tenemos que averiguar por qué no se cumplen las condiciones para eliminar los pedidos y eso es todo. Se resolverá la pregunta anunciada en el título del tema.

 

FOReignEXchange:

La pregunta anunciada en el título del tema habría terminado.

También supondría un aumento de la fianza, igual que en el probador)

Bueno, no creería que existe tal punto en el gráfico, donde se puede establecer con confianza una toma 11 y una parada 15 y saber que va a ir a la toma)

Ni un mono, ni una taquilla, se abren posiciones individuales, según tengo entendido.

No existe tal regla, especialmente cuando se entra en la apertura de una vela. Esto es fantasía y ficción. El precio no le debe nada a nadie. Ni vuelve hacia atrás donde hemos planeado, ni avanza, porque lo hemos decidido. No importa qué superindicador nos lo muestre.

 
FOReignEXchange:


Lo principal es que el código funcione en la vida real y se ejecute sin problemas. Todo lo demás no tiene importancia.

Error PARADA REAL por obsolescencia de precios. Error 130. Al intentarlo de nuevo se arregla todo. No hay ningún problema con esto. No hay más errores en el registro.

Sólo tenemos que averiguar por qué no se cumplen las condiciones para eliminar los pedidos y eso es todo. La pregunta anunciada en el título del hilo habrá terminado.


Lo siento, ¡una aclaración más! Todos los parámetros cambiantes deben ser refrescados desde MarketInfo() al inicio.

Y el deslizamiento debe ser de al menos 20 en 5 dígitos(Error 130).

En el probador no se cambian ni ellos ni otros, así que en lo mínimo que confío es en los espléndidos resultados de las pruebas.

 
borilunad:


Lo siento, ¡una aclaración más! Todos los parámetros cambiantes de DC deben ser refrescados desde MarketInfo() al inicio.

En el probador, ni ellos ni otros se cambian, por lo que menos confío en los resultados de la prueba hermosa.


¿Qué parámetros? Sólo hay que cambiar la oferta y la demanda, y eso es todo. También MODEFREEZELEVEL es lo único útil que he escuchado hoy. Gracias de nuevo.

¿Qué otros parámetros de CC pueden cambiar? Un cambio mínimo en el precio, o

Nivel mínimo de stop loss/stack profit en pips
o
Número de dígitos después del punto decimal en el precio del símbolo
o
Tamaño del pip en la moneda de cotización

El diferencial puede variar, aunque nunca lo he notado en el euro. ¿Cómo le afectará? En mis condiciones puede afectar sólo a la posibilidad de colocar una orden pendiente. Si

OrderOpenPrice()=Bid+MODE_SPREAD)= menos que la distancia aceptable, la orden no se abrirá. Soy consciente de ello. Pero nunca hemos tenido esos errores.

 
FOReignEXchange:


¿Qué parámetros? Sólo hay que cambiar la oferta y la demanda, eso es todo. También MODEFREEZELEVEL es lo único útil que he escuchado hoy. Gracias de nuevo.

¿Qué otros parámetros puede modificar el CC? ¿Es un paso mínimo de cambio de precios o

Nivel mínimo permitido de stop loss/take profit en pips
o
Número de dígitos después del punto decimal en el precio del instrumento
o
Tamaño de un pip en la moneda de cotización

El diferencial puede variar, aunque nunca lo he notado en el euro. ¿Cómo le afectará? En mis condiciones puede afectar sólo a la posibilidad de colocar una orden pendiente. Si

OrderOpenPrice()=Bid+MODE_SPREAD)= menos que la distancia aceptable, la orden no se abrirá. Soy consciente de ello. Pero nunca hemos tenido esos errores.


Véase: https://docs.mql4.com/ru/constants/marketinfo a partir de Bid a su FritzLevel "útil", aumentando en tiempos de extrema volatilidad. También StopLevel, etc.

Bid+Spread=Ask Por lo tanto, es mejor utilizar Ask de inmediato en este caso, por supuesto, si Ask también es probado por MarketInfo() al principio del inicio.

 

Lo siento, tengo que irme un rato.

Tengo, por ejemplo, al principio y después de refinar el lote, de acuerdo con el MM:

  RefreshRates();
  ASK = NormalizeDouble(MarketInfo(Symbol(),MODE_ASK),Digits);
  BID = NormalizeDouble(MarketInfo(Symbol(),MODE_BID),Digits);
  double spread = NormalizeDouble(ASK-BID,Digits);
  StopLevel = NormalizeDouble(MarketInfo(Symbol(),MODE_STOPLEVEL),Digits);
  double step = NormalizeDouble(Step*Point,Digits);
  if(step < StopLevel) step = StopLevel;
Y luego todo lo demás...
 

En este código puse lo siguiente

if (//Условие//)
   {
   if (OrderSelect(ticket_sell,SELECT_BY_TICKET)==true)
      if (OrderType()==OP_SELLSTOP) 
         {
         Print ("Заморозка: ",MarketInfo (Symbol(), MODE_FREEZELEVEL),", Bid: ",Bid,", Open=",OrderOpenPrice());
         if (Bid<=(OrderOpenPrice()+4*Point)) 
            {
            Comment ("1");                         
            i=0;
            while (i<10)
               {
               if (i>0) Sleep(500);      
               RefreshRates(); OrderDelete(ticket_sell); 
               err=GetLastError();
               if (err==0)
                  {
                  ticket_sell=0; return;
                  }
               i++;
               }
            }
         }
   }

18:34:14 $505,000 EURUSD,M1: Congelación: 0, Oferta: 1.3436, Apertura=1.3436
18:34:14 505 000 $ EURUSD,M1: la orden de mercado #26398219 no puede ser eliminada
18:34:14 505 000 $ EURUSD,M1: la orden de mercado #26398219 no puede ser eliminada
18:34:15 505 000 $ EURUSD,M1: orden de mercado #26398219 no puede ser borrada
18:34:15 505 000 $ EURUSD,M1: orden de mercado #26398219 no puede ser borrada
18:34:16 505 000 $ EURUSD,M1: orden de mercado #26398219 no puede ser borrada
1834:16 505 000 $ EURUSD,M1: la orden de mercado #26398219 no se puede eliminar
18:34:17 505 000 $ EURUSD,M1: la orden de mercado #26398219 no se puede eliminar
18:34:17 505 000 $ EURUSD,M1: la orden de mercado #26398219 no se puede eliminar
18:34:18 505 000 $ EURUSD,M1: la orden de mercado #26398219 no se puede eliminar
18:34:19 505 000 $ EURUSD,M1: la orden de mercado #26398219 no se puede eliminar

Ha fallado 10 veces. Tantas veces como el ciclo i. En este caso, simplemente no tuvo tiempo de eliminar, porque el precio de la oferta ya era igual al precio de apertura de la orden. Es la primera vez que observo un caso así. Intentaré encontrar otro. Este funcionó en el lado positivo. La desviación de la señal en el sistema fue de una fracción de segundo, no es gran cosa. Creo que hay otro caso, lo esperaré. Hay veces que no hay reacción durante 10-15 segundos.