[¡Archivo!] Escribiré cualquier experto o indicador gratis. - página 62
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Relevante... " ¡Pasadlo bien!"
/seguridad-vacaciones-de-verano-activa-escuelas/
¡Hola!
Necesito un indicador basado en el TradeSig, por lo que su escala de amplitudes sería la misma que la de Williams en %, y el rango de amplitud se ajustaría a la escala de niveles de 0% a -100%.
P.D. Es necesario, porque TradeSig "se aleja" cuando los indicadores se superponen.
Mi agradecimiento de antemano.
Mi respeto.
//+------------------------------------------------------------------+
//| Multi.Period.mq4 |
//| Copyright © 2010, Vladimir Hlystov |
//| cmillion@narod.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Vladimir Hlystov"
#enlace de propiedad "http://cmillion.narod.ru"
//+------------------------------------------------------------------+
#propiedad ventana_del_gráfica_del_indicador
#property indicator_buffers 8
#property indicator_color1 Lime
#property indicator_width1 1
#property indicator_color2 Lime
#property indicator_width2 1
#property indicator_color3 Azul
#property indicator_width3 1
#property indicator_color4 Azul
#property indicator_width4 1
#property indicator_color5 Verde
#property indicator_width5 1
#property indicator_color6 Verde
#property indicator_width6 1
#property indicator_color7 Rojo
#property indicator_width7 1
#property indicator_color8 Rojo
#property indicator_width8 1
//---- parámetros de entrada
/*
PERIOD_M1 1 1 minuto
PERIOD_M5 5 5 minutos
PERIOD_M15 15 15 minutos
PERIOD_M30 30 30 minutos
PERIOD_H1 60 1 hora
PERIOD_H4 240 4 horas
PERIOD_D1 1440 1 día
PERIODO_W1 10080
PERIOD_MN1 43200
*/
extern int timeframe1 = 5; //Periodo. Puede ser uno de los períodos de la carta. 0 significa el período del gráfico actual.
extern int timeframe2 = 15; //Periodo. Puede ser uno de los períodos del gráfico. 0 significa el período del gráfico actual
extern int timeframe3 = 30; //Periodo. Puede ser uno de los períodos del gráfico. 0 significa el período del gráfico actual
extern int timeframe4 = 60; //Periodo. Puede ser uno de los períodos del gráfico. 0 significa el período del gráfico actual
//---- buffers
doble Buffer1[];
doble Buffer2[];
double Buffer3[];;
double Buffer4[]; double Buffer5[];
doble Buffer5[];
doble Buffer6[];
doble Buffer7[];
doble Buffer8[];
//+------------------------------------------------------------------+
int init()
{
if (timeframe1<Period()) timeframe1=Period();
if (timeframe2<=timeframe1) timeframe2=next_period(timeframe1+1);
if (timeframe3<=timeframe2) timeframe3=next_period(timeframe2+1);
if (timeframe4<=timeframe3) timeframe4=next_period(timeframe3+1);
//---- líneas indicadoras
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,Buffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,Buffer2);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,Buffer3);
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,Buffer4);
SetIndexStyle(4,DRAW_LINE);
SetIndexBuffer(4,Buffer5);
SetIndexStyle(5,DRAW_LINE);
SetIndexBuffer(5,Buffer6);
SetIndexStyle(6,DRAW_LINE);
SetIndexBuffer(6,Buffer7);
SetIndexStyle(7,DRAW_LINE);
SetIndexBuffer(7,Buffer8);
//----
SetIndexLabel(0, "4TF "+StrPer(timeframe1)+StrPer(timeframe2)+StrPer(timeframe3)+StrPer(timeframe4));
return(0);
}
//+------------------------------------------------------------------+
int inicio()
{
int barras_contadas=IndicadorContado();
if(counted_bars>0) counted_bars--;
int limit=Barras contadas;
for(int i=0; i<limit; i++)
{
Buffer1[i] = iMA(NULL,timeframe1,1,0,0,2,iBarShift(NULL,timeframe1,Time[i],false));
Buffer2[i] = iMA(NULL,timeframe1,1,0,0,3,iBarShift(NULL,timeframe1,Time[i],false));
Buffer3[i] = iMA(NULL,timeframe2,1,0,0,2,iBarShift(NULL,timeframe2,Time[i],false));
Buffer4[i] = iMA(NULL,timeframe2,1,0,0,3,iBarShift(NULL,timeframe2,Time[i],false));
Buffer5[i] = iMA(NULL,timeframe3,1,0,0,2,iBarShift(NULL,timeframe3,Time[i],false));
Buffer6[i] = iMA(NULL,timeframe3,1,0,0,3,iBarShift(NULL,timeframe3,Time[i],false));
Buffer7[i] = iMA(NULL,timeframe4,1,0,0,2,iBarShift(NULL,timeframe4,Time[i],false));
Buffer8[i] = iMA(NULL,timeframe4,1,0,0,3,iBarShift(NULL,timeframe4,Time[i],false));
}
return(0);
}
//+------------------------------------------------------------------+
int siguiente_periodo(int per)
{
si (per > 43200) return(0);
si (per > 10080) return(43200);
si (per > 1440) return(10080);
si (per > 240) return(1440);
si (per > 60) return(240);
si (per > 30) return(60);
if (per > 15) return(30);
si (per > 5) return(15);
si (per > 1) return(5);
if (per == 1) return(1);
if (per == 0) return(Period())
}
//+------------------------------------------------------------------+
string StrPer(int per)
{
if (per == 1) return(" M1 ");
{ si (per == 5) return(" M5 ");
if (per == 15) return(" M15 ");
if (per == 30) return(" M30 ");
if (per == 60) return(" H1 ");
if (per == 240) return(" H4 ");
if (per == 1440) return(" D1 ");
if (per == 10080) return(" W1 ");
if (per == 43200) return(" MN1 ");
return("error de periodo");
}
//+------------------------------------------------------------------+
Hola estimados comerciantes. Tengo un indicador de canal muy bueno que muestra la tendencia muy bien en el historial de cotizaciones, pero en la cuenta real se pasa. Si no sabes cómo utilizarlo, puedes preguntar: ¿Cuál de los siguientes pares de pares es el más adecuado? Le estaré muy agradecido.
Si se escribiera de forma que dibujara el canal en las cotizaciones reales de la misma forma que se prueba en el historial de cotizaciones, sería fantástico. 100% grial.
¿a qué se refiere con "citas reales": citas que aún no existen o citas que están a punto de aparecer?
El indicador construye un canal basado en las cotizaciones disponibles en el momento.
Cuando llegan nuevas cotizaciones, el canal cambia -se estrecha, se amplía- porque la situación cambia.
¿o no está claro?
Si se escribiera de forma que dibujara un canal en las cotizaciones reales de la forma en que se prueba en el historial de cotizaciones, sería fantástico. 100% grial.
No lo escribas así, sólo tienes que entender que tu EA debe trabajar a la velocidad del TF más antiguo.
El Asesor Experto debe recibir los datos de tiempo de la barra que ya ha sido registrada en el marco de tiempo más antiguo.
Entonces su Asesor Experto no tendrá problemas con el exceso de señal.
Hola! En el indicador las señales aparecen en la barra a la hora del rayo ZZ, en el de trabajo todo es correcto.
Decidió ver el TF más antiguo (trabajando M30, H1) añadiendo el parámetro TF ... kludah salió (las señales no están en esas barras, y el haz de visualización incorrecta)
¿En qué me he equivocado?... aconsejadme, por favor. ¡Gracias de antemano!
//+------------------------------------------------------------------+
//| Dinapoli ZZ (ZigZag).mq4 ||
//| reescrito por CrazyChart ||
//| |
//+------------------------------------------------------------------+
#property copyright "reescrito por CrazyChart"
#enlace de la propiedad ""
#propiedad ventana_del_gráfica_del_indicador
#property indicator_buffers 5
#property indicator_color1 Rojo
#property indicator_color2 Amarillo
#property indicator_color3 Aqua
#property indicator_color4 Verde
#property indicator_color5 Orchid
//---- parámetros de entrada
barn externo inttern=1000;
extern Length=6;
TF externo inttern = 0;
//---- buffers
doble ExtMapBuffer1[];
doble ExtMapBuffer2[];
doble ExtMapBuffer3[];
doble ExtMapBuffer4[];
doble ExtMapBuffer5[];
//doble ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexEmptyValue(0,0.0);
SetIndexStyle(0,DRAW_SECTION);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,159);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,159);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,186);
SetIndexBuffer(3,ExtMapBuffer4);
SetIndexStyle(4,DRAW_ARROW);
SetIndexArrow(4,187);
SetIndexBuffer(4,ExtMapBuffer5);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de desinicialización del indicador Custor |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Función de iteración de indicadores personalizada |
//+------------------------------------------------------------------+
int inicio()
{
int barras_contadas=IndicadorContado();
int shift,Swing,Swing_n,i,uzl,zu,zd,mv;
doble LL,HH,BH,BL,NH,NL,shf;
doble Uzel[10000][3];
texto en cadena;
// bucle desde la primera barra hasta la barra actual (con shift=0).
Swing_n=0;Swing=0;uzl=0;
BH=iHigh(NULL, TF, barn);BL=iLow(NULL, TF, barn);zu=barn;zd=barn;
for (shift=barn;shift>=0;shift--) {
ExtMapBuffer2[shift]=EMPTY_VALUE;
ExtMapBuffer3[shift]=EMPTY_VALUE;
ExtMapBuffer4[shift]=EMPTY_VALUE;
ExtMapBuffer5[shift]=EMPTY_VALUE;
shf=0,2;
LL=10000000;HH=-100000000;
for (i=cambio+Longitud;i>=cambio+1;i--) {
if (iLow(NULL, TF,i)< LL) {LL=iLow(NULL, TF,i);}
si (iHigh(NULL, TF,i)>HH) {HH=iHigh(NULL, TF,i);}
}
if (iLow(NULL, TF,shift)<LL && iHigh(NULL, TF,shift)>HH){
Swing=2;
si (Swing_n==1) {zu=desplazamiento+1;}
if (Swing_n==-1) {zd=shift+1;}
} si no {
if (iLow(NULL, TF,shift)<LL) {Swing=-1;}
si (iHigh(NULL,TF,shift)>HH) {Swing=1;}
}
if (Swing!=Swing_n && Swing_n!=0) {
si (Swing==2) {
Swing=Swing_n;BH = iHigh(NULL, TF,shift);BL = iLow(NULL, TF,shift);
}
uzl=uzl+1;
//punto bajo
si (Swing==1) {
Uzel[uzl][1]=zd;
Uzel[uzl][2]=BL;
ExtMapBuffer2[shift]=BL;
Print("ExtMapBuffer2[shift] ", ExtMapBuffer2[shift];
ExtMapBuffer5[shift+3]=BL;
}
/punto alto
si (Swing==-1) {
Uzel[uzl][1]=zu;
Uzel[uzl][2]=BH;
ExtMapBuffer3[shift]=BH;
ExtMapBuffer4[shift+1]=BH+shf;
Print("ExtMapBuffer3[shift] ", ExtMapBuffer3[shift];
}
BH = iHigh(NULL, TF,shift);
BL = iLow(NULL, TF,shift);
}
si (Swing==1) {
si (iHigh(NULL,TF,shift)>=BH) {BH=iHigh(NULL,TF,shift);zu=shift;}}
si (swing==-1) {
if (iLow(NULL, TF,shift)<=BL) {BL=iLow(NULL, TF,shift); zd=shift;}}
Swing_n=Swing;
}
for (i=1;i<=uzl;i++) {
mv=StrToInteger(DoubleToStr(Uzel[i][1],0));
ExtMapBuffer1[mv]=Uzel[i][2];
// Print("parametre MV ", ExtMapBuffer1[mv];
}
return(0);
}
//+------------------------------------------------------------------+
Pido ayuda para escribir un indicador.
Necesito escribir un indicador o script (que funcione y cómo es mejor) que muestre la posible reversión del precio basado en la historia.
Los términos de referencia están en el archivo adjunto.
Se lo agradezco de antemano.
Sinceramente, Kirill.
Si tiene alguna pregunta, escriba a onepips@bk.ru