Ayuda a la codificación - página 209

 

Hola señor Mladen,

Es mi humilde petición a usted. por favor recodificar este indicador que está mostrando la línea abierta diaria. De manera similar, quiero dos códigos de indicadores, es decir, 1) Líneas altas del día anterior y 2) Líneas bajas del día anterior. Estoy operando en la opción de acciones por lo que estos indicadores necesita para ajustar el tiempo en HH: MM. Gracias de antemano

Archivos adjuntos:
 
alpha24:
Hola señor Mladen, es mi humilde petición a usted. por favor recodificar este indicador que está mostrando la línea abierta diaria. De manera similar, quiero dos códigos de indicadores, es decir, 1) Líneas altas del día anterior y 2) Líneas bajas del día anterior. Estoy operando en la opción de acciones por lo que estos indicadores necesita para ajustar el tiempo en HH: MM. Gracias de antemano

alfa24

Con la configuración actual( diferencia dezona hor aria especificada a 9 horas y 15 minutos) no se puede adaptar para mostrar la información que necesitas de forma normal. Lo siento

 

hola Mladen,

puede poner 3 mtf personalizable en su indicador connorRSI plz ?

connorsrsi.mq4

thx

Archivos adjuntos:
 
js497:
Hola Mladen,

¿puede poner 3 mtf personalizable en su indicador connorRSI plz?

connorsrsi.mq4

thx

js497

Este es un indicador Connors rsi de 3 marcos de tiempo

Archivos adjuntos:
 
mladen:
js497 Este es un indicador Connors rsi de 3 marcos de tiempo

thx mladen

 
arroganzmaschine:
Hola a todos, espero que me puedan ayudar.

Necesito programar un asesor experto, donde compruebe cada tick si se abre una nueva orden y modifique esta orden con un stop loss.

¿Cómo puedo comprobar si se ha abierto una orden y modificarla? El ea no abre órdenes, sólo tiene que comprobarlo.

Gracias a todos. Todos ustedes son de gran ayuda.

Un saludo, Max.

Hola mladen, ¿tienes alguna idea? ¡Sería genial!

Muchas gracias.

 
arroganzmaschine:
Hola mladen, ¿tienes alguna idea? ¡Eso sería genial! Muchas gracias.

arroganzmaschine

No es necesario comprobar si se abre una orden. Todo lo que el EA necesita comprobar es si el stop loss es lo que usted espera que sea. Para eso podrías usar cualquier EA de trailing stop que mantenga tus stop losses en los niveles que te gustaría que estuvieran

 
mladen:
arroganzmaschine No es necesario comprobar si una orden está abierta. Todo lo que el EA necesita comprobar es si el stop loss es el que esperas que sea. Para eso puedes usar cualquier EA de trailing stop que mantenga tus stop losses en los niveles que te gustaría que estuvieran

Hola mladen

gracias por tu respuesta. Quiero codificarla por mi cuenta. Cuando envío una nueva orden, el EA tiene que detectar esto y poner un stoploss a esta nueva orden. Sólo hay una orden en el mercado. ¿Cómo puedo realizar eso?

 
arroganzmaschine:
Hola mladen, gracias por tu respuesta. Quiero codificar por mi cuenta. Cuando envío una nueva orden, el EA tiene que detectar esto y establecer un stoploss a esta nueva orden. Sólo hay una orden en el mercado. ¿Cómo puedo realizar eso?

Puede utilizar el siguiente código como un comienzo (sólo algunos controles de error necesarios para agregar - trató de mantener el código lo más simple posible con el fin de mostrar sólo la esencia de lo que hay que hacer)

extern double StopLoss = 20;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

if (StopLoss<=0) return(0);

for (int i=0; i <= OrdersTotal(); i++)

{

if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if (OrderSymbol() != Symbol()) continue;

int ticket = OrderTicket();

double sl = 0;

if (OrderType()==OP_BUY) sl = NormalizeDouble(OrderOpenPrice()-StopLoss*Point*MathPow(10,Digits%2),Digits);

if (OrderType()==OP_SELL) sl = NormalizeDouble(OrderOpenPrice()+StopLoss*Point*MathPow(10,Digits%2),Digits);

if (sl!=0 && sl!=OrderStopLoss())

OrderModify(ticket,OrderOpenPrice(),sl,0,0,CLR_NONE);

}

return(0);

}
Archivos adjuntos:
_test_1.mq4  1 kb
 
mladen:
Usted puede utilizar el siguiente código como un comienzo (sólo algunos controles de error necesarios para agregar - trató de mantener el código lo más simple posible con el fin de mostrar sólo la esencia de lo que hay que hacer)
extern double StopLoss = 20;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

if (StopLoss<=0) return(0);

for (int i=0; i <= OrdersTotal(); i++)

{

if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if (OrderSymbol() != Symbol()) continue;

int ticket = OrderTicket();

double sl = 0;

if (OrderType()==OP_BUY) sl = NormalizeDouble(OrderOpenPrice()-StopLoss*Point*MathPow(10,Digits%2),Digits);

if (OrderType()==OP_SELL) sl = NormalizeDouble(OrderOpenPrice()+StopLoss*Point*MathPow(10,Digits%2),Digits);

if (sl!=0 && sl!=OrderStopLoss())

OrderModify(ticket,OrderOpenPrice(),sl,0,0,CLR_NONE);

}

return(0);

}

¡¡¡Muchas gracias!!!