¿Cómo codificar? - página 45

 

No puedo conseguir esto bien estoy tratando de conseguir mi ea para comprar cuando todos los azules y vender cuando todos los rojos. El ea se abre y se cierra pero no en el lugar correcto ¿qué tengo que mirar?

double TML=iCustom(NULL,0, "TrendManager",TM_Period,TM_Shift,0,shift);

double TMS=iCustom(NULL,0, "TrendManager",TM_Period,TM_Shift,1,shift);

double hasOpen = iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,1,shift) ;

double hasClose = iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,0,shift) ;

double HeikenAshiOpen=iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,2,shift);

double HeikenAshiClose=iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,3,shift);

double SDLL=iCustom(NULL,0, "Slope Direction Line",period,method,price,1,shift);

double SDLS=iCustom(NULL,0, "Slope Direction Line",period,method,price,2,shift);

buysig=false;

sellsig=false;

closebuy=false;

closesell=false;

bool Long = TML && SDLL && HeikenAshiOpen < HeikenAshiClose && hasOpen < hasClose;

bool Short = TMS && SDLS && HeikenAshiOpen > HeikenAshiClose && hasOpen > hasClose;

buysig = Long;

sellsig = Short;

closebuy=sellsig;

closesell=buysig;

Archivos adjuntos:
 

Gidday

He estado leyendo mucho en estos hilos sobre los indicadores ashi pero como consigo que el Heiken_Ashi_Smoothed muestre una tendencia alcista y una tendencia bajista parece mucho más difícil de lo que se pensaba en un principio ¿tengo que crear 4 variables 2 para la subida y 2 para la bajada como en el caso de abajo

double hasOpenLong=iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,1,shift) ;

double hasCloseLong=iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,3,shift) ;

double hasOpenShort=iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,0,shift) ;

double hasCloseShort=iCustom(NULL,0, "Heiken_Ashi_Smoothed",MaMetod,MaPeriod,MaPeriod2,2,shift) ;

Cualquier ayuda sería genial

Saludos

Beno

 

Almacenamiento de variables

Tengo un indicador que crea objetos (flechas) durante ciertos eventos en mi gráfico.

Digamos que han aparecido 3 flechas en el gráfico de 1 minuto, y luego hago clic en 5min y vuelvo a 1min..... ¡¡¡las flechas han desaparecido!!!

¿Es un problema de almacenamiento de variables? Aquí hay algo de código...

(above) extern int arrowCount = 1;

(if arrow should show)

ObjectCreate("Sniper ArrowDown"+arrowCount, OBJ_ARROW, 0, TimeCurrent(),Bid);

ObjectSet("Sniper ArrowDown"+arrowCount,OBJPROP_ARROWCODE,242);

ObjectSet("Sniper ArrowDown"+arrowCount, OBJPROP_COLOR,Red);

ObjectSet("Sniper ArrowDown"+arrowCount, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet("Sniper ArrowDown"+arrowCount, OBJPROP_WIDTH, 1);

arrowCount++;

¿Alguna idea?

 
dharsant:
¡¡¡Lo tengo, gracias por la ayuda!!!

Me alegro de que lo hayas resuelto.

Sólo estaba lanzando algunas ideas, no estaba seguro de si iban a funcionar o no.

Estaba pensando en algo así para que el sonido sólo se reproduzca una vez:

bool Play_Sound;

if ((latestlatestmain >= 0) && (latestmain < 0))

{

Play_Sound=true;

}

if (Play_Sound==true)

{

PlaySound("alert2.wav");

Play_sound=false;

}

¿Tal vez?

 

Gracias Wolfe, yo también estaba pensando en eso,

Terminé usando algo similar, pero utilizando una matriz.

Te agradezco tu tiempo compañero.

Para cualquiera que pueda ayudar con mi nuevo problema publicado arriba, sería muy apreciado.

Estoy tratando de hacer que dibuje flechas en mi gráfico durante un determinado evento, lo que puedo hacer.

Pero de alguna manera estoy almacenando e iniciando el script de forma errónea, ya que las flechas que se han establecido previamente en el gráfico no permanecen allí (desaparecen) cuando hago clic para cambiar los Timeframes.

¿Alguna idea?

 

¿Código de una operación por tiempo determinado?

¿necesita ayuda con un código?

Así es como funciona:

solo abre un cierto # de orden por tiempo (digamos 3 am - 6 am) o día o semana

no abrirá otra operación aunque cree una señal dentro de ese tiempo

 

Aquí está el ea que estoy teniendo con y los indi's lo he llamado El Abismo debido a que es donde estoy tratando de aprender a codificar. lol

Actualmente estoy investigando estos 2 errores en este sitio y en el MQL4: comercio automatizado de divisas, probador de estrategias e indicadores personalizados con el sitio MetaTrader.

2007.10.24 21:22:24 1998.11.20 06:00 El Abismo GBPJPY,Diario: OrderSend error 130

2007.10.24 21:22:24 1998.11.20 06:00 The Abyss GBPJPY,Daily: número doble no válido como parámetro 6 para la función OrderSend

Por favor, alguien podría echar un vistazo al código y decirme qué he hecho mal y cómo puedo solucionarlo.

Cualquier ayuda sería genial

Saludos

Beno

 
antone:
¿necesito ayuda con un código?

Así es como funciona:

sólo se abre un cierto número de pedidos por tiempo (digamos 3 am - 6 am) o día o semana

no abrirá otra operación aunque cree una señal dentro de ese horario

¿alguien puede ayudarme por favor?

por ejemplo, solo se puede abrir una orden entre las 5 y las 10 de la mañana, pero se puede volver a abrir en otro momento.

 

Cuando se utiliza icustom en un EA cómo se determina que los topes y los índices a utilizar. por ejemplo, si yo estaba tratando de obtener una tendencia alcista o bajista de silvertrend indicador o similar. Puede que no esté usando la terminología correcta pero espero que entiendas de dónde vengo.

#property indicator_chart_window

#property indicator_buffers 2

#property indicador_color1 Azul

#property indicador_color2 Rojo

//---- parámetros de entrada

extern int RISK=3;

extern int SSP=9;

extern int CountBars=350;

//---- buffers

double val1[];

double val2[];

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

//| Función de inicialización del indicador personalizada ||.

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

int init()

{

string nombre_corto;

//---- línea del indicador

IndicatorBuffers(2);

SetIndexStyle(0,DRAW_HISTOGRAM,0,2);

SetIndexStyle(1,DRAW_HISTOGRAM,0,2);

SetIndexBuffer(0,val1);

SetIndexBuffer(1,val2);

 

para estos códigos será así :

El buffer que se utiliza está en negrita. Después del buffer tenemos el turno.

iCustom(NULL,0,"silvertrend",RISK,SSP,CountBars,0,0);

[/CODE]

Or like this:

[CODE]

iCustom(NULL,0,"silvertrend",3,9,350,0,0);

Saludos

Kale