Ayuda a la codificación - página 338

 
Maine:
Hola,

Me gustaría comprobar si mis tres últimas operaciones de venta o compra cerradas fueron rentables, y cambiar un valor de la cadena en función de ello.

Tengo este código (MT4):

for(int i=(OrdersHistoryTotal()-1);i>=0;i--);

{

OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==BUY)

{

//for buy order

if(OrderType()==OP_BUY && OrderProfit()>0) last=1;

if(OrderType()==OP_BUY && OrderProfit()<0) last=0;

}

}

for(int j=(OrdersHistoryTotal()-1);j>=0;j--);

{

OrderSelect(j, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==SELL)

{

//for sell order

if(OrderType()==OP_SELL && OrderProfit()>0) last2=1;

if(OrderType()==OP_SELL && OrderProfit()<0) last2=0;

}

}

Pero no me funciona.

¿Cómo debo modificarlo?

Gracias por la ayuda.

Qué intentan hacer estas dos líneas (qué son BUY y SELL en tu código - o intentaste compilar eso en absoluto - ya que BUY y SELL no son constantes predefinidas). Además, OrderMagicNumber() es un número mágico, no el tipo de la orden:

OrderMagicNumber()==BUY

OrderMagicNumber()==Venta

 

Hola a todos,

Hice un experto en stepma y lo uso:

int trendCurr = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest );

int trendPrev = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest+1);

if (trendCurr > 0 && trendPrev < 0) SendLong = true;

if (trendCurr 0) SendShort = true;

Ahora necesito ayuda, ¿qué tipo de código puedo utilizar, si quiero operar los pullbacks del precio en el stepma?

Si el precio toca el stepma entra en el camino del color del stepma.

Gracias.

 
albert666:
Hola a todos,

Hice un experto en stepma y lo uso:

int trendCurr = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest );

int trendPrev = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest+1);

if (trendCurr > 0 && trendPrev < 0) SendLong = true;

if (trendCurr 0) SendShort = true;

Ahora necesito ayuda, ¿qué tipo de código puedo utilizar, si quiero negociar los retrocesos del precio en el stepma?

Si el precio toca el stepma entra en el camino del color del stepma.

¡Gracias !

albert666

Para eso tienes que comparar los precios con el valor del stepma (no solo la tendencia del stepma. Pero como el precio casi nunca coincide con el valor de los indicadores, vas a tener problemas con eso +podrías terminar con una señal retrasada (ya que tienes que comparar 3 barras y la barra más nueva debe ser confirmada o de lo contrario puedes obtener muchas señales falsas

 

Hola albert,

Yo también estoy pensando en la misma idea.

Gracias Mladen por la respuesta, tal vez podemos utilizar el cierre de una barra, tal vez será más fácil?

 
Big Joe:
Hola albert,

Yo también estoy pensando en la misma idea.

Gracias Mladen por la respuesta, tal vez podemos utilizar el cierre de una barra, tal vez será más fácil?

Joe

Los pullbacks se ven bien en la retrospectiva pero, sólo para recordarte : cada cambio de tendencia era un pullback potencial. Intenta predecir si va a ser un pullback o un cambio de tendencia en el tiempo de ejecución y verás lo que quiero decir

 
mladen:
albert666 Para eso tienes que comparar los precios con el valor de la stepma (no sólo la tendencia de la stepma. Pero como el precio casi nunca es el mismo que el valor de los indicadores, vas a tener problemas con eso +podrías terminar con una señal retrasada (ya que tienes que comparar 3 barras y la barra más nueva debe ser confirmada o de lo contrario puedes obtener muchas señales falsas

Gracias señor Mladen, entiendo lo que quieres decir, es cierto que puede parecer una locura, pero puedes darme de todos modos algunas pistas sobre la codificación de esto.

Estoy completamente perdido, ¿debo usar Bid() y Ask()?

Gracias.

 
mladen:
alpha24

No es necesario un nuevo indicador para eso

Utiliza cualquier ma que este en una ventana separada ya, y luego solo arrastra las bandas de bollinger a esa sub-ventana y elige los datos del indicador anterior como campo de precio

Señor Mladen

Parece que usted está demasiado ocupado o no está interesado en hacer. Mi requerimiento era muy pequeño y simple. Hay mucho más potencial en las cosas pequeñas y simples que es lo que he aprendido en el análisis técnico. de cualquier manera gracias.

 
alpha24:
Señor Mladen Parece que usted está demasiado ocupado o no está interesado en hacer. Mi requisito era muy pequeño y simple. Hay mucho más potencial en las cosas pequeñas y simples que es lo que he aprendido en el análisis técnico. de cualquier manera gracias.

alfa24

No entiendo tu post

Sí te he explicado cómo puedes conseguir simplemente lo que necesitas. ¿Cuál es el problema entonces? ¿No te gusta la solución (que es, por cierto, exactamente lo que has descrito y tan simple como puede ser)? Simplemente no veo cuál puede ser el problema cuando tu post fue respondido con una solución correcta

saludos

 
albert666:
Gracias señor Mladen, entiendo lo que quieres decir, es cierto que puede parecer una locura, pero puedes darme de todos modos algunas pistas sobre la codificación de esto.

Estoy completamente perdido, ¿debo usar Bid() y Ask()?

Gracias.

albert666

Lo que me gustaría recomendarte es que intentes estimar los rebotes en tiempo de ejecución (no sobre datos históricos, sino como máximo sobre la primera barra cerrada) durante algún tiempo y eso debería dejarte mucho más claro cuáles son los problemas exactos a la hora de adivinar los rebotes. Ese juego de adivinación exacta tendría que ser hecho por el EA también

 
alpha24:
Señor Mladen Parece que usted está demasiado ocupado o no está interesado en hacer. Mi requisito era muy pequeño y simple. Hay mucho más potencial en las cosas pequeñas y simples que es lo que he aprendido en el análisis técnico. de cualquier manera gracias.

Aquí hay una media móvil antigua en una ventana separada: moving_averages_sw.mq4

Funciona en el nuevo metatrader también a pesar de que es un muy viejo

Archivos adjuntos:
Razón de la queja: