¿Cómo codificar? - página 243

 

¡¡¡Ayuda para mejorar el indicador ATR!!!

Estoy tratando de codificar una versión mejorada del indicador ATR. Quiero poder tener el indicador ATR pero basado sólo en la vela de 2:00 am a 11:00 am para un período P.

Por ejemplo: en un gráfico horario quiero que se encuentre el ATR sobre 120 periodos (+/- 120 horas = 5 días) pero sólo con las barras entre las 2:00 am y las 11:00 am durante esas 120 horas.

Si alguien tiene una idea de cómo modificar el código estándar de ATR para hacer lo que estoy tratando de hacer ... por favor, responder a este post con su código ...

Gracias...

 

Ea

Por favor, ¿qué expresión se puede utilizar para obtener la apertura o el precio máximo de una vela que está a X barras de la vela fractal más reciente? (por favor, escriba la expresión completa... Sólo estoy pidiendo una o dos líneas)

Gracias

 
ak_marshal:
Por favor, ¿qué expresión se puede utilizar para obtener la apertura o el precio alto de una vela que es X barras de la vela fractal más reciente? (por favor, escriba la expresión completa... Sólo estoy pidiendo una o dos líneas) Gracias

En primer lugar hay que comprobar cuál es el índice de la barra fractal. Para esto debes usar un bucle, puedes usar "while" o "for". Yo usaré "for".

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

{

double isfractal = código para leer los fractales;

if(isfractal != 0)

{

double myOpen = Open;//esto será su X donde XBarsAfterFractal es el número entero - x barras desde la barra fractal.

break;//salir del bucle

}

}

 

Ayuda con un script muy simple por favor

Hola chicos,

Puede alguien por favor ayudar con la secuencia de comandos CoderGurus abajo.

Funciona muy bien tal como está pero quería modificarlo para que detenga el stop loss y la toma de beneficios basándose en el precio de apertura de la operación, no en los precios actuales de compra y venta.

Como he dicho, funciona bien como está, pensé que sólo tendría que cambiar OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StopLoss,Bid+Point*TakeProfit,0,Green); a

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-Point*StopLoss,OrderOpenPrice()+Point*TakeProfit,0,Green);

pero cuando intento ejecutarlo no pasa nada.

Puede alguien indicarme la dirección correcta.

Gracias

Steve

//+------------------------------------------------------------------+

//| Mi_primer_script.mq4 |||

//| Derechos de autor Coders Guru ||

/ /| https://www.mql5.com/en/forum

//+------------------------------------------------------------------+

#property copyright "Copyright Coders Guru"

#property link "https://www.forex-tsd.com"

#property show_inputs

#include

extern double TakeProfit=250;

extern double StopLoss=35;

//+------------------------------------------------------------------+

//| función de inicio del programa de scripting ||.

//+------------------------------------------------------------------+

int inicio()

{

int total,cnt,err;

double valor_de_pérdida_de_parada;

double valor_de_ganancia;

total = OrdersTotal();

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY) // se abre una posición larga

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StopLoss,Bid+Point*TakeProfit,0,Green);

err=GetLastError();

Imprimir ("Alto - ");

Print("error(",err,"): ",ErrorDescription(err));

Sleep(1000);

}

if(OrderType()==OP_SELL) // se abre una posición corta

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*StopLoss,Ask-Point*TakeProfit,0,Red);

err=GetLastError();

Print("error(",err,"): ",ErrorDescription(err));

Sleep(1000);

}

}

return(0);

}

 

Cómo puedo hacer una función como bucle

Quiero usar la función EA que funciona como un bucle como este:

(por ahora utilizo varible

INT tendencia)

A >> B >> C >> D >> E

uso A = nuevo máximo + SMA30 > 80

i "comprar" tendencia = 1

entonces B = sma30 < 80

i "vender" tendencia = 2

entonces C = sma30>80

i "comprar" tendencia = 3

en C es el punto que quiero que compruebe

si hace un nuevo máximo en cualquier lugar, quiero que la tendencia vuelva a ser 1 y se haga un bucle

si no hace un nuevo máximo irá a sma30 < 80

y pasa a trend = 4

////////////

este es el bucle que quiero ¿puede alguien decirme la función a utilizar (mi manera de utilizar la variable no la función y no sé por qué)

espero que me aconsejen, gracias

 

No he podido seguir tu lógica, pero quizás este ejemplo pueda servirte de ayuda:

MA30=iMA(NULL,0,30,0,0,0,0);

MA80=iMA(NULL,0,80,0,0,0,0);

if(High[0]>High[1] && MA30>MA80) A=1;

if(MA30<MA80) B=2;

if(MA30>MA80) C=3;

Tal vez puedas trabajar con esto para ampliarlo hasta el resultado deseado del bucle.

 

¿poner la fecha actual como var externo?

Hola a todos, quería que me ayudaran a modificar un código. El problema es que cada vez que abro este EA en particular tengo que cambiar manualmente la hora y la fecha, lo que quería saber es si era posible hacer esta actualización automática cada vez que se abre el EA.

Para ser más específico, el AE abre una compra y una venta pendiente a la hora y fecha predeterminadas, cambiar la hora no es tan malo, pero cuando se adjunta el AE a 5 o 6 gráficos puede ser un poco molesto, y copiar/pegar no va a ser suficiente a largo plazo

extern datetime NewsTime = D'05.08.2010 10:15'; es el código

Cualquier ayuda se agradece

 

¿Puede escribirse un script que establezca una variable global con una nueva fecha (GlobalVariableSet), y añadir a EA la lectura de esta variable (GlobalVariableGet)?

 

¿Alguien puede cambiar el parámetro de los comentarios comerciales?

Hola,

Tengo un EA copiador de señales, que copia exactamente el comentario de la operación del Maestro. Necesito añadir un parámetro externo a este EA, que pueda establecer cualquier comentario de la operación que quiera. Me gustaría que alguien me ayudara.

Gracias

Archivos adjuntos:
s-mtfx_s.mq4  27 kb
 
Ale:
¿Podría escribir un script, que establezca una variable global con una nueva fecha (GlobalVariableSet), y añadir a EA la lectura de esta variable (GlobalVariableGet)?

Gracias, pero pensé que el problema es que las variables externas como "NewsTime" no aceptan nada que no sea una variable estática

se puede establecer mediante el script, pero entonces no se puede cambiar?

¿Es eso correcto?

Razón de la queja: