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

 
sergey_r:

Hola a todos. Chicos tengo una condición para encontrar un máximo: pero dentro de un corredor.

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] &&
High[max] > low_level_s && High[max] < high_level_s) break;

no funciona.
si quito el corredor Todo está bien:

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] ) break;

¿Cuál podría ser el problema...?

Sugiero el script "max_sergey_r".
El script se encuentra en la carpeta de "scripts" del terminal (por ejemplo, C:\NArchivos de Programa\NFX Trader\Nexperts\scripts).
El script puede colocarse en el gráfico de cualquier instrumento, en cualquier marco temporal.
Archivos adjuntos:
 
Roger:
Abra el indicador en dos ventanas y ponga la línea no deseada en el color de fondo.
Si los valores de las líneas tienen un orden diferente, la mitad de la subventana será un espacio en blanco cuando se muestre de esta manera. De momento tengo que mostrar cada valor del indicador principal a través de un indicador adicional con su propia subventana. Por lo tanto, la principal se carga en segundo plano para cada subventana abierta del indicador adicional, de ahí la carga extra en el procesador. No es crítica, pero quería la "perfección" :)
 

5º foro // ¿soy el único que recibe un error?

 
abolk:

5º foro // ¿soy el único que recibe un error?


Probablemente sí.
 

gente, ayúdenme a averiguar qué diablos es esto. Mi Asesor Experto está diseñado para poner un oplot, y si el precio no lo alcanza, pero invierte al nivel de su parada, el oplot debe ser eliminado. pero en el probador a veces un oplot se pone y se elimina inmediatamente antes de que incluso llegue a la parada. ¿Cuál es el problema? Aquí hay una captura de pantalla y el código de borrado.

Aquí está el código:

     if (Bid>SL)                                                              // Если Bid>уровня стопа
      {
      for (k = OrdersTotal()-1; k >= 0; k--)
         {
         OrderSelect(k,SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
            {
            if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
               {
               if(OrderDelete(OrderTicket())==true)
                  {
                  Iterration--;
                  Alert ("Ордер SellStop удален.");
                  }
                }
             }
          }
       }

¿Cuál es el error aquí?

 
vovan-gogan:

Y aquí está el código:

¿Cuál es el error aquí?

No hay ningún error en el código, sólo la lógica. Se comprueba Bid>SL y se borran todas las órdenes pendientes (no está claro en el código de dónde se toma el SL). Si se necesita algo más, el objetivo se expone paso a paso en un lenguaje comprensible.
 

Quiero construir un Asesor Experto para diferentes marcos de tiempo.

Quiero construir un EA para diferentes marcos de tiempo, envíame un "pez".

Saludos cordiales

 
splxgf:
No hay errores en el código, sólo errores lógicos. Se comprueba Bid>SL y se eliminan todas las órdenes pendientes (no está claro en el código de dónde se toma el SL). Si se necesita algo más, el objetivo se expone paso a paso en un lenguaje comprensible.

El SL se fija en el nivel de MA20 con 3 velas hacia atrás.
 
vovan-gogan:

gente, ayúdenme a entender qué diablos es esto. Mi EA está diseñado para poner un oplot, y si el precio no lo alcanza, pero invierte al nivel de su parada, el oplot debe ser eliminado. pero en el probador, a veces un oplot se pone y se elimina inmediatamente antes de que incluso llegue a la parada. ¿Cuál es el problema? Aquí hay una captura de pantalla y el código de borrado.

Aquí está el código:

¿Cuál es el error aquí?


sustituir

if (Bid>SL)
{

en

if (Bid>SL)
{
   Print("Bid=",Bid," SL=",SL);

y ver lo que dice el registro.

 
PapaYozh:


sustituir

a

y ver lo que dice el cuaderno de bitácora.


¿Qué sentido tiene? El nivel de SL es correcto. Cuando pongo la variable SL en MA20 con un desplazamiento de 3, emito el nivel de SL a través de Alert y siempre está en el nivel correcto. No sé por qué la orden se borra antes de llegar al nivel de SL.
Razón de la queja: