¿Cómo codificar? - página 98

 

¿Cómo hacer que un indicador funcione sobre otro indicador?

Si se suelta la media móvil básica (incluida como indicador en MT4) en otro indicador, es posible calcular la MA del indicador, pero ¿cómo se cambia un indicador personalizado de tal manera que sea posible soltarlo en otro indicador?

 

en el bar abierto

Hola,

Quiero ejecutar un código sólo cuando se crea una nueva barra (al abrir la barra).

¿Alguien tiene un fragmento de código para algo así?

Saludos

 

por qué mi Indicador no funciona bien????

#property copyright "沈欣"

#property link "shenxinon@126.com"

#property indicator_separate_window

#property indicator_buffers 1

#property indicador_color1 AceroAzul

//#property indicator_minimum -0.01

//#propiedad indicador_máximo 0.01

//---- parámetros de entrada

extern int SMA1=12;

extern int SMA2=72;

//---- buffers

double ExtMapBuffer1[];

//---- 自定义区

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

//| Función de inicialización de los indicadores personalizados ||.

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

int init()

{

//---- indicadores

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

string sName="Indicador RAVI";

IndicatorShortName("Indicador RAVI("+SMA1+", "+SMA2+")";

//----

return(0);

}

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

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

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

int deinit()

{

//----

//----

return(0);

}

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

//| Función de iteración del indicador personalizada ||

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

int inicio()

{

int counted_bars=IndicatorCounted();

//----

if(counted_bars<0) return(-1);// si hay un error entonces salir y devolver -1

if(counted_bars>0) counted_bars--;

int pos = Bares-contados_barras;

double sma1,sma2,r;

while(pos>=0)

{

sma1=iMA(NULL,0,SMA1,0,MODE_SMA,PRICE_CLOSE,pos);

sma2=iMA(NULL,0,SMA2,0,MODE_SMA,PRICE_CLOSE,pos);

r=((sma1-sma2)/sma2)*10000;

//Alert("r=",r);

ExtMapBuffer1[pos]=r;

pos--;

}

return(0);

 

...

Lo tengo

 
diffused:
Hola,

Quiero ejecutar un trozo de código sólo cuando se crea una nueva barra (al abrir la barra).

¿Alguien tiene un fragmento de código para algo como esto?

Saludos

if (Volumen[0] == 1)

{DO...}

Big Be

 

tendencia Sobre EA

Hola

Estoy enseñando mql.

He leído Uso de Indicadores Técnicos - Programas simples en MQL4 - Tutorial de MQL4, pero no encuentro algo como

Es posible colorear una sola barra, por ejemplo, durante la prueba de su EA puede colorear la barra de entrada...

En metatrader no veo ningún sistema de vigilancia, como para ver el campo de mi array de variables que hay en todos los compiladores de C

Quiero hacer este estúpido sistema:

Cuando el precio se rompe y se cierra la tendencia evelope (mira el pic wich cirlce amarillo) abro una alerta y el color de un breakbar.

Pero mi problema es que esto que leo sólo el indicador de tendencia al alza y no durante el período corto ¿por qué?

double maxprec= iHigh(NULL, PERIOD_M5,1);

double minprec=iLow(NULL, PERIOD_M5,1);

double chiusura2 = iClose(NULL,PERIOD_M15 ,2);

double chiusura = iClose(NULL,PERIOD_M15 ,1);

double chiu2 = iClose(NULL,PERIOD_M5 ,2);

double chiu = iClose(NULL,PERIOD_M5 ,1);

double apertura = iOpen(NULL,PERIOD_M15 ,0)

string rottura [3] = {" Nulla"," ROTTO"};

envelope15_1=iCustom(NULL, PERIOD_M15, "TrendEnvelopes_v1", 5,0,1);// trend envelope

if( chiusura2 > envelope15_2 && chiusura < envelope15_2 && apertura <= envelope15_2)

{

rot=1;

Alert ( " ha rotto SH M15");

}

else

rot=0;

Comment( ""\nBreak Enveolpe M 5= ", rottura[rot2],

"\nBrerak Enveolpe M 15= ", rottura[rot]

); // Alert
Archivos adjuntos:
eur_1.jpg  101 kb
 

¿Es esta la fórmula correcta?

¿es esta la fórmula correcta para calcular el valor de un pip para el cruce eur/chf?

(1/(eur/chf))*10*(eur/us)

un pip es .0001.

¿Fórmula correcta arriba?

 
lizmerrill:
¿es esta la fórmula correcta para calcular el valor de un pip para el cruce eur/chf?

(1/(eur/chf))*10*(eur/us)

un pip es 0,0001.

¿Fórmula correcta arriba?

Utilice este código:

pipvalue=MarketInfo("EURCHF",MODE_TICKVALUE);

Espero que esto ayude

 

Necesito el código para detener la apertura de posiciones después de un tiempo determinado

Ya he visto todos los posts en esta sección y he hecho una investigación en todo el foro usando la herramienta de búsqueda de google en la parte superior del foro, pero lo que he encontrado no es exactamente lo que estoy buscando.

Lo que necesito es un código que tengo que implementar en mi EA que deje de abrir nuevas posiciones después de una hora determinada, por ejemplo después de las 15 GMT. Este parámetro debe ser un ajuste que pueda modificar desde el panel de usuario.

Sería genial si pudiera establecer un periodo de tiempo en el que el EA pueda abrir las posiciones, así

Abrir desde X horas hasta Y horas

Gracias por su ayuda.

Saludos

 
mauro269:
Ya he visto todos los posts de esta sección y he hecho una investigación en todo el foro utilizando la herramienta de búsqueda de google en la parte superior del foro, pero lo que he encontrado no es exactamente lo que estoy buscando.

Lo que necesito es un código que tengo que implementar en mi EA que deje de abrir nuevas posiciones después de una hora determinada, por ejemplo después de las 15 GMT. Este parámetro debe ser un ajuste que pueda modificar desde el panel de usuario.

Sería genial si pudiera establecer un periodo de tiempo en el que el EA pueda abrir las posiciones, así

Abrir desde X horas hasta Y horas

Gracias por su ayuda.

Saludos

Esto es lo que hago

extern bool Use.Time.Filter = false;

extern string Servidor.Hora.To.Inicio = "08:00";

extern string Server.Time.To.Stop = "16:00";
start_time = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Server.Time.To.Start);

end_time = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Server.Time.To.Stop);

if(Use.Time.Filter && (TimeCurrent() = end_time)) return(0);

Espero que esto ayude.

FerruFx

Razón de la queja: