Ayuda a la codificación - página 450

 

Hola Rey mladen señor,

En este archivo, necesito una modificación, la vela actual alta / baja engullir vela anterior cuerpos de cierre de apertura., un paso de la barra en curso que ya se ha añadido, lo que demuestra que usted ya sabe, usted es un genio, todo el mundo sabe.

saludos

Archivos adjuntos:
audusdh15.png  28 kb
 
keansajeweki:
Hola Mladen. Puedes por favor mirar esta amenaza, porque cuando la inserto en mi MT4 y arranco de nuevo, no tengo un archivo ex. es el USC Murrey Math Oscillator V2

Por favor, adjunta el archivo exacto que estás utilizando para que alguien pueda echarle un vistazo

 
hanic:
Hola señor King mladen,

En este archivo, necesito una modificación, la vela actual alta / baja engulle los cuerpos de cierre de la vela anterior., un paso en la barra en curso que ya se ha añadido, lo que demuestra que usted ya sabe, usted es un genio, todo el mundo sabe.

saludos

Ese máximo de la vela no engulle los máximos de las 3 barras anteriores (fíjate bien en el máximo de esa barra y compáralo con el máximo de 2 barras atrás)

Además no puedes comparar peras con manzanas : si se compara apertura/cierre (el cuerpo), entonces no se utiliza el alto y el bajo de la barra actual, sino también la apertura/cierre (el cuerpo). Si se utiliza el high./low entonces se utilizan también los highs/lows de las barras comparadas

 

Texto de la Confluencia de Puntos Pivote

He encontrado un buen MT4 Pivot Point Confluence Indicador pero no muestra etiquetas de texto y números como en la imagen de abajo. Sólo dibuja líneas, pero también me gusta ver el texto y los números en.

Archivos adjuntos:
 
keansajeweki:
Hola Mladen. Puedes por favor mirar esta amenaza, porque cuando la inserto en mi MT4 y arranco de nuevo, no tengo un archivo ex. es el USC Murrey Math Oscillator V2

keansajeweki

Ese es el código de tradingView (no el código de metatrader)

Alguien lo publicó como mq4 pero no tiene nada que ver con metatrader

 

¿podría alguna persona amable arreglar esto para que funcione en un corredor de 6 dígitos?

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

//| 70/50VolBreakout.mq4 |||

//| Keris2112

//| |

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

#property copyright "Keris2112"

#property link ""

#property indicator_chart_window

#property indicator_buffers 4

#property indicator_color1 DodgerBlue

#property indicator_color2 Red

#property indicator_color3 Siena

#property indicator_color4 Lime

#property indicator_width1 5

#Propiedad indicator_width2 3

#Indicador de propiedad_ancho3 5

indicator_width4 #property 3

extern int PorcentajeDeEntrada = 70;

extern int PorcentajeDeParada = 50;

int i=1, shift;

double PrevRange;

double LongEntry;

double LongStop;

double ShortEntry;

double ShortStop;

bool resultado;

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

double ExtMapBuffer5[];

bool isNewDay(int _shift)

{

//----

result=false;

if ( (TimeHour(Time[_shift])==0) && (TimeMinute(Time[_shift])==0) ) result=true;

//----

return(resultado);

}

void GetRS1ofDay(int _shift)

{

int prevDay=TimeDay(Time[_shift+1]);

//----

i=1;

while (TimeDay(Time[_shift+i])==prevDay) i++;

i--;

PrevRange=Alto - Bajo[Lowest(NULL,0,MODE_LOW,i,_shift+1)];

LongEntry = Open[_shift] + (PrevRange * (EntryPercent*0.01));

LongStop = LongEntry - (PrevRange * (StopPercent*0,01));

ShortEntry = Open[_shift] - (PrevRange * (EntryPercent*0.01));

ShortStop = ShortEntry + (PrevRange * (StopPercent*0.01));

ExtMapBuffer1[_shift] = LongEntry;

ExtMapBuffer2[_desplazamiento] = LongStop;

ExtMapBuffer3[_desplazamiento] = ShortEntry;

ExtMapBuffer4[_desplazamiento] = ShortStop;

Comentario(

"Rango anterior: ",RangoAnterior*1/Punto," pips",

"\n",(EntryPercent),"% del rango anterior: ",MathRound((EntryPercent*PrevRange*(0.01/Point))," pips",

"\n",(StopPercent),"% del rango anterior: ",MathRound((StopPercent*RangoAnterior*(0,01/Punto)))," pips",

"\nApertura: ",Open[_shift],

"\NIntroducir BuyStop en: ",ExtMapBuffer1[_shift]," con StopLoss en: ",ExtMapBuffer2[_shift],

"\nIntroducir SellStop en: ",ExtMapBuffer3[_shift]," con StopLoss en: ",ExtMapBuffer4[_shift]);

}

void CopiarNiveles1Día(int _desplazamiento)

{

ExtMapBuffer1[_desplazamiento]=ExtMapBuffer1[_desplazamiento+1];

ExtMapBuffer2[_desplazamiento]=ExtMapBuffer2[_desplazamiento+1];

ExtMapBuffer3[_desplazamiento]=ExtMapBuffer3[_desplazamiento+1];

ExtMapBuffer4[_desplazamiento]=ExtMapBuffer4[_desplazamiento+1];

ExtMapBuffer5[_desplazamiento]=ExtMapBuffer5[_desplazamiento];

}

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

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

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

int init()

{

//---- indicadores

IndicatorBuffers(4);

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,160);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexLabel(0,0);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1,160);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexEmptyValue(1,0.0);

SetIndexLabel(1,0);

SetIndexStyle(2,DRAW_ARROW);

SetIndexArrow(2,160);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexEmptyValue(2,0.0);

SetIndexLabel(2,0);

SetIndexStyle(3,DRAW_ARROW);

SetIndexArrow(3,160);

SetIndexBuffer(3,ExtMapBuffer4);

SetIndexEmptyValue(3,0.0);

SetIndexLabel(3,0);

SetIndexBuffer(0,ExtMapBuffer5);

//----

return(0);

}

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

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

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

int deinit()

{

//----

//----

return(0);

}

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

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

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

int inicio()

{

int límite,primerDía;

int barras_contadas=IndicadorContado();

if (counted_bars<0) return(0);

si (barras_contadas==0)

{

limit=Barras-1;

i=1;

firstDay=TimeDay(Time[limit]);

while (TimeDay(Time[limit-i])==firstDay) i++;

limit=limit-i-PERIOD_D1/Period();

}

if (counted_bars>0) limit=Bars-counted_bars;

//----

if (Period()>PERIOD_D1) return;

for (shift=limit;shift>=0;shift--)

{

if (isNewDay(shift)) GetRS1ofDay(shift); else CopyLevels1Day(shift);

}

//----

return(0);

}

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

 

Hola Mladen - como siempre gracias por su respuesta - ¿está dentro de su conjunto de habilidades para construir posiblemente tal indicador? gracias de antemano de nuevo.

mladen:
Por lo que he buscado, no hay tal indicador
 
angrysky:
¿podría alguna persona amable arreglar esto para que funcione en un corredor de 6 dígitos?

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

//| 70/50VolBreakout.mq4

//| Keris2112

//| |

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

#property copyright "Keris2112"

#property link ""

#property indicator_chart_window

#property indicator_buffers 4

#property indicator_color1 DodgerBlue

#property indicator_color2 Red

#property indicator_color3 Siena

#property indicator_color4 Lime

#property indicator_width1 5

#Propiedad indicator_width2 3

#Indicador de propiedad_ancho3 5

indicator_width4 #property 3

extern int PorcentajeDeEntrada = 70;

extern int PorcentajeDeParada = 50;

int i=1, shift;

double PrevRange;

double LongEntry;

double LongStop;

double ShortEntry;

double ShortStop;

bool resultado;

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

double ExtMapBuffer5[];

bool isNewDay(int _shift)

{

//----

result=false;

if ( (TimeHour(Time[_shift])==0) && (TimeMinute(Time[_shift])==0) ) result=true;

//----

return(resultado);

}

void GetRS1ofDay(int _shift)

{

int prevDay=TimeDay(Time[_shift+1]);

//----

i=1;

while (TimeDay(Time[_shift+i])==prevDay) i++;

i--;

PrevRange=Alto - Bajo[Lowest(NULL,0,MODE_LOW,i,_shift+1)];

LongEntry = Open[_shift] + (PrevRange * (EntryPercent*0.01));

LongStop = LongEntry - (PrevRange * (StopPercent*0,01));

ShortEntry = Open[_shift] - (PrevRange * (EntryPercent*0.01));

ShortStop = ShortEntry + (PrevRange * (StopPercent*0.01));

ExtMapBuffer1[_shift] = LongEntry;

ExtMapBuffer2[_desplazamiento] = LongStop;

ExtMapBuffer3[_desplazamiento] = ShortEntry;

ExtMapBuffer4[_desplazamiento] = ShortStop;

Comentario(

"Rango anterior: ",RangoAnterior*1/Punto," pips",

"\n",(EntryPercent),"% del rango anterior: ",MathRound((EntryPercent*PrevRange*(0.01/Point))," pips",

"\n",(StopPercent),"% del rango anterior: ",MathRound((StopPercent*RangoAnterior*(0,01/Punto)))," pips",

"\nApertura: ",Open[_shift],

"\NIntroducir BuyStop en: ",ExtMapBuffer1[_shift]," con StopLoss en: ",ExtMapBuffer2[_shift],

"\nIntroducir SellStop en: ",ExtMapBuffer3[_shift]," con StopLoss en: ",ExtMapBuffer4[_shift]);

}

void CopiarNiveles1Día(int _desplazamiento)

{

ExtMapBuffer1[_cambio]=ExtMapBuffer1[_cambio+1];

ExtMapBuffer2[_desplazamiento]=ExtMapBuffer2[_desplazamiento+1];

ExtMapBuffer3[_desplazamiento]=ExtMapBuffer3[_desplazamiento+1];

ExtMapBuffer4[_desplazamiento]=ExtMapBuffer4[_desplazamiento+1];

ExtMapBuffer5[_desplazamiento]=ExtMapBuffer5[_desplazamiento];

}

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

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

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

int init()

{

//---- indicadores

IndicatorBuffers(4);

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,160);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexLabel(0,0);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1,160);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexEmptyValue(1,0.0);

SetIndexLabel(1,0);

SetIndexStyle(2,DRAW_ARROW);

SetIndexArrow(2,160);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexEmptyValue(2,0.0);

SetIndexLabel(2,0);

SetIndexStyle(3,DRAW_ARROW);

SetIndexArrow(3,160);

SetIndexBuffer(3,ExtMapBuffer4);

SetIndexEmptyValue(3,0.0);

SetIndexLabel(3,0);

SetIndexBuffer(0,ExtMapBuffer5);

//----

return(0);

}

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

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

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

int deinit()

{

//----

//----

return(0);

}

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

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

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

int inicio()

{

int límite,primerDía;

int barras_contadas=IndicadorContado();

if (counted_bars<0) return(0);

si (barras_contadas==0)

{

limit=Barras-1;

i=1;

firstDay=TimeDay(Time[limit]);

while (TimeDay(Time[limit-i])==firstDay) i++;

limit=limit-i-PERIOD_D1/Period();

}

if (counted_bars>0) limit=Bars-counted_bars;

//----

if (Period()>PERIOD_D1) return;

for (shift=limit;shift>=0;shift--)

{

if (isNewDay(shift)) GetRS1ofDay(shift); else CopyLevels1Day(shift);

}

//----

return(0);

}

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

Parece que funciona

¿Cuál es el problema que está experimentando?

Archivos adjuntos:
test.gif  71 kb
 

Hola señor,

cuando comparamos la ecuación, es decir, la vela anterior baja o alta, mayor o menor que la vela anterior, Metatrader no permite hacerlo?

En el patrón belthold se utiliza esta fórmula, en este c >h1.

es cierto que, no podemos comparar el alto y el bajo con los cuerpos de apertura y cierre? supongo que en muchos casos, en muchos patrones de velas la fórmula del alto y el bajo se compara con los cuerpos de las velas.

saludos

Archivos adjuntos:
mdsir.png  16 kb
belthold.png  20 kb
 
triip:
Encontré un buen indicador de Confluencia de Puntos Pivote en MT4 pero no muestra etiquetas de texto y números como en la imagen de abajo. Sólo dibuja líneas, pero también me gusta ver el texto y los números en.

No sé qué versión se utilizó para mostrar así, pero tampoco se muestra así en la versión antigua de metatrader (lo probé en la build 432 también, y se muestra exactamente igual que en las nuevas builds)

Razón de la queja: