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

 
Ekburg:

Esa es la cuestión: ¡todo es normal allí! Puse impresoras para este propósito, para que durante la prueba pudiera rastrear qué valores se envían a la función de modificación, todo es normal allí, la parada es diferente, no se lanza nada extra, todo está dentro de los límites permitidos por el servidor, y los oponentes en el código anterior no permiten enviar los mismos valores.

No lo sé. A mi después de haber puesto la comprobación directamente antes de OrderModify() después de OrderSelect(), el error 1 ha dejado de dar, y antes también ha parpadeado constantemente.
 
rigonich:

La advertencia significa que el índice del array debe ser un número de tipo int. Es necesario utilizar las funciones iClose() e iOpen(). Determina el número del compás cuyo tiempo de apertura es de 1 h y selecciona en el bucle de los 10 compases siguientes los que quieras.
Gracias por la respuesta. Teóricamente entiendo lo que quieres decir, pero para ser sincero no se me ocurre cómo hacerlo en la práctica, quizás tengas algún ejemplo.
 
Desead:

Necesidad de normalizar el gráfico de precios, cualquier par de divisas de su elección. Lo necesito para un indicador. He intentado dividir el valor actual por el anterior - obtengo una especie de oscilación alrededor de 1. Se me ha ocurrido que debo convertir el gráfico de valores absolutos a relativos, es decir, en este caso podré ver el cambio porcentual de la cotización. Se ha puesto en práctica. Ya es mejor y prácticamente lo que necesitamos. Sin embargo, mi deseo final es normalizar las cotizaciones en el rango [0:1] .Por cierto, aquí está lo que necesito pero en burgués - me gustaría lo mismo en ruso: http://people.revoledu.com/kardi/tutorial/Similarity/Normalization.html

Ya me he cansado de pelearme con esto. No puedo borrar todos los pedidos pendientes normalmente, no le cojo el tranquillo:

Incluso he añadido al bucle FOR WHILE que los pedidos borrados siguen ahí, pero todavía no los he borrado. Tengo muchas órdenes pendientes de eliminar, es decir, unas 20, ¿puede ser algo complicado?


a tu primera pregunta - mira el estocástico
 
Desead:

Necesidad de normalizar el gráfico de precios, cualquier par de divisas de su elección. Lo necesito para un indicador. He probado a dividir el valor actual por el anterior - obtengo una especie de oscilación en torno a 1. Se me ha ocurrido que debo convertir el gráfico de valores absolutos a relativos, es decir, en este caso podré ver el cambio porcentual de la cotización. Se ha puesto en práctica. Ya es mejor y prácticamente lo que necesitamos. Sin embargo, mi deseo final es normalizar las cotizaciones en el rango [0:1] .Por cierto, aquí está lo que necesito pero en burgués - me gustaría lo mismo en ruso: http://people.revoledu.com/kardi/tutorial/Similarity/Normalization.html

Ya me he cansado de pelearme con esto. No puedo borrar todos los pedidos pendientes normalmente, no le cojo el tranquillo:

Incluso he añadido al bucle FOR WHILE que los pedidos borrados siguen ahí, pero todavía no los he borrado. Tengo muchas órdenes pendientes de borrar, es decir, unas 20, ¿puede ser que sea algo complicado?


Ya he probado a poner y borrar todas las órdenes pendientes de la misma manera que ya tengo, pero no quiero hacerlo de otra forma. Si alguien lo sabe, ¿puede decirme por qué?
 
Sergstuddek:
La gente amablemente aconseja cómo trabajar con arrays, necesito seleccionar los valores máximos y mínimos de cierre y apertura de la barra, en el intervalo de tiempo de 1.00 a 10.00, he intentado hacerlo, pero no es así. Da como resultado '[' - el índice de la matriz debe ser un entero C:\N-Archivos de programa\N-EnstaTrader\N-ExpertsProfiler19 EUR-JPY.mq4 (61, 21)
Qué es lo que falla, cómo solucionarlo

Lo he rediseñado de la siguiente manera

int MAX()
{
if (Hour()==10)
        {
      
        for(i=0; i<=9; i++)
        double MAX1 = High [iHighest(Symbol(), PERIOD_H1,MODE_CLOSE,i,0)];
        }
        return(MAX1);
        
}

No me da errores, pero el precio no funciona, o mejor dicho no funciona correctamente, ¿cuál es el problema?

 
Sergstuddek:

Lo he rediseñado de la siguiente manera

Ya no da errores, pero no detecta el precio, o más bien sí, pero no correctamente, ¿cuál es el problema?

Buscará el índice de barras con el precio máximo en las últimas 9 barras, siempre que ejecute el programa a las 10 horas. Hour() es la hora de inicio del programa (hora del servidor).

P.D. Más precisamente, no el índice, sino el precio máximo (High) de esa barra.

Archivos adjuntos:
 

Por favor ayuda, en cuanto pongo el otro sl y tp no funciona la compra, abre el lote solo con la venta.

#define MAGIC 1234
#define IDENT "mo_bidir"

extern int lots = 1;
extern int stop_loss = 76; //
extern int take_profit = 750; //
extern int steps = 5;// Шаг отложенных ордеров

int start(){

if (OrdersTotal() == 0){
OrderSend(Symbol(), OP_BUY, lots ,Ask, 3, Ask - stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Blue);
OrderSend(Symbol(), OP_SELL, lots ,Bid, 3, Bid + take_profit * Point, Ask - take_profit * Point, IDENT, MAGIC, 0, Red);
OrderSend(Symbol(), OP_BUYSTOP, 0.05*lots,Ask+steps*Point, 3, Ask + stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Blue);
OrderSend(Symbol(), OP_SELLSTOP, 0.05*lots,Bid-steps*Point, 3, Bid - take_profit * Point, Ask - take_profit * Point, IDENT, MAGIC, 0, Red);
}
return(0);
} 
 
samaelfess:

Por favor ayuda, en cuanto pongo el otro sl y tp no funciona la compra, abre el lote solo con la venta.



Tienes Bid + stop_loss en lugar de Bid + take_profit. Y en pendiente para OP_BUYSTOP Ask + stop_loss, en lugar deAsk - stop_loss y para OP_SELLSTOP -- Bid - take_profit en lugar de Bid + take_profit.

Y todos los precios no están normalizados.

P.D. Me pregunto si funciona sin otros sl y tp?

 
Gracias, prestaré más atención.
 
rigonich:

No lo sé. Dejé de obtener el error 1 después de que OrderModify() fuera comprobado inmediatamente antes de OrderSelect(), pero antes también aparecía todo el tiempo.

¡¿Y qué tipo de cheque pusiste?!