¡Pide! - página 115

 
TheRumpledOne:
¿Existe una forma más sencilla de encontrar el número de barra del máximo y el mínimo de hoy?

hoy_alto = Alto[0];

today_low_ = Low[0];

Encuentre el número de la barra de hoy... El 0 significa hoy. En D1 por supuesto.

Si está en otro TF:

today_high = iHigh(Symbol(),PERIOD_D1,0);

today_low = iLow(Symbol(),PERIOD_D1,0);

FerruFx

 
TheRumpledOne:
Me gustaría saber qué barra el más alto y el más bajo bajo se produjo para hoy en H1 o menos períodos de tiempo.

Sé que puedo utilizar un bucle for y comprobarlo.

¿Hay una manera más elegante de hacer esto?

¿Existe una función de primera barra de hoy?

Gracias.

datetime some_time_start_day=D'0000.00.00 00:00';

datetime some_time_end_day=D'0000.00.00 00:00';

int shiftStart=iBarShift(NULL,PERIOD_M1,some_time_start_day);

int shiftEnd=iBarShift(NULL,PERIOD_M1,some_time_end_day);

double valH=High;

double valL=Low;

nada más simple que esto... ps. Pensé que la pregunta era encontrar las barras en un marco de tiempo inferior, de lo contrario sólo hacer lo que FerruFx explicó tomar de D1

.

 

Estimado codersguru,

Necesito ea que debe ser pedazo de pastel para usted,

que cierre todas las posiciones abiertas (para cierto par) cuando 2 MA se cruzan.

Por supuesto, si más rápido MA cruzó hacia abajo más lento MA que cerrar la posición larga,

viceversa.

Variabels :

- Tipo de MA más rápida

- Valor de la MA más rápida

- Tipo de MA más lento

- Valor de la MA más lenta

- TimeFrame (podemos fijar el timeframe sin que se interfiera

cuando cambiamos entre las ventanas del gráfico del marco de tiempo)

He tratado de modificar el MA cruzado de EA, pero siempre falló.

Gracias por su amabilidad.

 
IN10TION:
datetime some_time_start_day=D'0000.00.00 00:00';

datetime some_time_end_day=D'0000.00.00 00:00';

int shiftStart=iBarShift(NULL,PERIOD_M1,some_time_start_day);

int shiftEnd=iBarShift(NULL,PERIOD_M1,some_time_end_day);

double valH=High;

double valL=Low;

nada más simple que esto... ps. Pensé que la pregunta era encontrar las barras en un marco de tiempo inferior, de lo contrario sólo hacer lo que FerruFx explicó tomar de D1

.

Gracias.

Supongo que no hay una manera más simple.

Pensé que podría haber una palabra clave/reservada para BarStartOfDay o algo así.

 
IN10TION:
iBarShift encontrará para usted la barra que comienza en ese día o también la barra final para ese día.

int iBarShift( string symbol, int timeframe, datetime time, bool exact=false)

siguiente...

utilizar esas posiciones de barra para encontrar los resultados de iHighest y iLowest

int iHighest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

int iLowest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

resultados y hechos

Esto es lo que quería saber:

https://www.mql5.com/en/forum/178406/page8

 

Hola,

¡En primer lugar gracias de antemano por su ayuda!

Estoy tratando de ver si hay una manera de utilizar múltiples hilos en un asesor experto como se puede en c ++.

El motivo es que hago trading de noticias y necesito que se envíen varias órdenes al mismo tiempo. Por ejemplo, necesito colocar 3 órdenes GBP/USD, USD/CAD, EUR/USD tan pronto como lleguen los datos. Ahora mi problema es que si uso la función regular de envío de órdenes 3 veces, es lento, ya que envía las órdenes incrementalmente, no al mismo tiempo.

OrderSend("GBPUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red);

OrderSend("USDCAD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red);

OrderSend("EURUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red);

Estoy seguro de que esto se puede hacer de alguna manera porque si abro 3 ventanas de compra/venta en MT4 por separado y las pulso todas al mismo tiempo (usando un programa de trading de noticias), las órdenes se envían todas al mismo tiempo y entran mucho más rápido. Cuando lo haces de esta manera, las órdenes aparecen todas a la vez, a diferencia de lo que ocurre con mi EA con 3 llamadas OrderSend, que aparecen una tras otra.

¿Hay alguna forma de configurar múltiples hilos de ejecución en un EA, o tal vez hay algún tipo de OrderSend por lotes?

¡Gracias!

Cole

 
ColeFlournoy:
Hola,

En primer lugar, gracias de antemano por su ayuda.

Estoy tratando de ver si hay una manera de utilizar múltiples hilos en un asesor experto como se puede en c ++.

El motivo es que hago trading de noticias y necesito tener varias órdenes enviadas al mismo tiempo. Por ejemplo, necesito colocar 3 órdenes GBP/USD, USD/CAD, EUR/USD tan pronto como lleguen los datos. Ahora mi problema es que si uso la función regular de envío de órdenes 3 veces, es lento, ya que envía las órdenes incrementalmente, no al mismo tiempo.

OrderSend("GBPUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red);

OrderSend("USDCAD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red);

OrderSend("EURUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red);

Estoy seguro de que esto se puede hacer de alguna manera porque si abro 3 ventanas de compra/venta en MT4 por separado y las pulso todas al mismo tiempo (usando un programa de trading de noticias), las órdenes se envían todas al mismo tiempo y entran mucho más rápido. Cuando lo haces de esta manera, las órdenes aparecen todas a la vez, a diferencia de lo que ocurre con mi EA con 3 llamadas OrderSend, que aparecen una tras otra.

¿Hay alguna forma de configurar múltiples hilos de ejecución en un EA, o tal vez hay algún tipo de OrderSend por lotes?

Gracias.

Cole

De todas formas, tu plataforma no enviará múltiples órdenes exactamente al mismo tiempo.

FerruFx

 

FerruFX -- No estoy seguro de entender lo que dices.

Gracias,

Cole

 
IN10TION:
¿Tienes ya algún código para esto, que hayas empezado?

en un archivo mq4?

lo primero que necesita es la confirmación doji/inside = sí o no

dependiendo de su configuración, buscará antes del doji/inside o esperará

cuando espera 2 barras tiene que decidir las ordenes, dependiendo de la barra anterior alta o baja...

bien puedes empezar a programar

¿tienes algún código para encontrar los doji o insiders?

...

Hola IN10TION,

Este es el código que estoy usando (no es mi código) para encontrar la barra interior.

}

int IsInsideBar(int shift) {

//Barra interior, El cierre de la barra interior debe ser mayor que el cierre y el punto medio de la barra La barra actual debe abrir

//igual o mayor que el cierre de la barra interior se colocará una orden BuyStop en el máximo de la barra interior si la orden

//no es alcanzada dentro de las siguientes 4 barras cancela la orden. Vea la imagen de abajo

if (High[shift]>High[shift+1]) return(0);

if (Low[shift]<Low[shift+1]) return(0);

if (Close[shift]>Open[shift] && Close[shift]>(High[shift]+Low[shift])/2 && Open[shift-1]>=Close[shift]) return(1);

if (Close[shift]<Open[shift] && Close[shift]<(High[shift]+Low[shift])/2 && Open[shift-1]<=Close[shift]) return(-1);

return(false);

}

Ahora, mi pregunta es:

Si quiero colocar un buy-stop y un sell-stop en el máximo y el mínimo de la siguiente barra, la que sigue a la inside bar... ¿cuál sería el código?

Gracias por la ayuda...

forexcel

 
IN10TION:
Soy todo oídos, puedes enviarme un mensaje privado o sacarlo a la luz... si tus indicadores están bien codificados tu EA de acabado no está tan lejos.

Gidday In10tion

Adjunto la foto de lo que estoy operando.

Utilizo estos 4 indicadores

Señal de venta

1: Estocástico lento K% cruzado D% por encima de 80 y viceversa para la compra por debajo de 20

2: QQE RSI Cruzado por debajo de ATR y viceversa para Comprar

3: El CCI cruza por debajo de 0 y viceversa para Comprar

4: MACD ma's cruzado y 1 barra formada por debajo de 0 y viceversa para Comprar

Si cualquiera de estas 3 condiciones se cumplen, entonces abra una posición, por ejemplo, la señal de disparo del stoch 5 minutos después del MACD y luego la señal de disparo del CCI 20min = posición abierta.

o cualquier combinación de las anteriores, siempre que estén en la misma dirección que el indicador Slope.

Captura de pantalla adjunta

Saludos

Archivos adjuntos:
bones.gif  54 kb