¿Cómo codificar? - página 255

 

¿Saben cómo eliminar las propiedades de los indicadores en la pantalla?

Hola, me gustaría eliminar el texto de las subventanas en Mt4

me las ingenio para eliminar parte del texto directamente en el código pero siempre quedan algunos números.. y no me explico donde puede estar en el código..

//---- name for DataWindow and indicator subwindow label

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

string short_name="MTF AbsoluteStrength("+TimeFrameStr+","+Mode+","+Length+","+Smooth+","+Signal+",,"+ModeMA+")";

IndicatorShortName(short_name);

SetIndexLabel(0,"Bulls");

SetIndexLabel(1,"Bears");

SetIndexLabel(2,"SignalBulls");

SetIndexLabel(3,"SignalBears");

//----

SetIndexDrawBegin(0,Length+Smooth+Signal);

SetIndexDrawBegin(1,Length+Smooth+Signal);

SetIndexDrawBegin(2,Length+Smooth+Signal);

SetIndexDrawBegin(3,Length+Smooth+Signal);

return(0);

}

En esta me quedan siempre algunos números y no se como hacer para que quede completamente en blanco. si alguien puede ayudar, gracias.

 

Ayuda para la codificación de mt4

Hola,

Estoy tratando de aprender mt4 codificación. He leído las lecciones de CodersGuru y estoy leyendo el manual de MLQ4. La última vez que codifiqué en los días de Fortran 4, hace unos 40 años, así que estoy muy fuera del marco.

He dibujado un diagrama de flujo de lo que quiero conseguir, pero no sé cómo proceder.

He abierto el MetaEditor y he creado un nuevo archivo de programa, pero ahí estoy atascado.

Lo que estoy tratando de hacer es trazar una línea horizontal base y luego el programa trazará 4 líneas adicionales a intervalos uniformes. El valor de la línea base y el valor incremental, son seleccionados por el usuario.

Pero lo que tengo que añadir al programa me tiene perplejo, debería ser sencillo, pero no para mí.

Si alguien tiene la amabilidad de guiarme por las etapas y explicarme cómo y por qué se hacen las cosas, le estaría

estaría muy agradecido.

Saludos Allon

 

Cómo codificar: sólo un comercio

Hola,

Voy a escribir un EA con dos Trades si algunas reglas son correctas pero el EA debe abrir solo 1 Trade con:

Trade("AUDCAD",OP_BUY, dLots, 0,0, 0, iMagic, sComment);

y una operación de este tipo:

Trade("AUDCHF",OP_BUY, dLots, 0,0, 0, iMagic, sComment);

El objetivo es, que el EA se abriría:

- 1 Operación "OP_BUY" con AUDCAD

- y 1 operación "OP_BUY" con AUDCHF

¿Cómo lo codifico?

Gracias por adelantado.

halobungie

 

EA cambiando el color de la línea MA

Hola a todos,

He estado tratando de resolver este problema en los últimos días. Tengo un par de líneas de media móvil y quiero cambiar el color de las líneas.

Parece que no puedo resolverlo. Alguien puede indicarme la dirección correcta.

Sé que las funciones que se utilizan son ima() e icustom(), pero ¿cómo puedo unirlas?

Muchas gracias de antemano.

Novato

 

Beneficio calculado para varios pedidos

Hola a todos,

Quiero que un EA cierre todas las posiciones abiertas si el beneficio de todas las órdenes es igual a cero + x pips. ¿Cómo programar el ?

por ejemplo

- orden de venta 0.5 lote openprice = 1.3789

- buyorder 0.4 lotes openprice = 1.3745

- orden de venta 0.2 lote openprice = 1.3721

- orden de venta 0.1 lote openprice = 1.3676

Perdón por mi mal inglés

Saludos

derumuro

 

Hola a todos,

¿Dónde puedo encontrar el mejor indicador de momento estocástico (SMI)?

La edición del 28-3-2008 de MLaden parece ser la mejor.

Me interesaría especialmente una versión del SMI con alerta (en cruce y en niveles) pero no soy capaz de encontrarla.

Mi segunda petición va dirigida a una herramienta de alerta de divergencia. Hay muchas (con diferentes resultados), pero ¿cuál parece ser la más útil (en los plazos grandes H4, D1, W1)?

Gracias por su ayuda,

CiloX

 

¿Cómo cerrar todo? Necesito ayuda

Simplemente quiero cerrar todas las órdenes abiertas en mi EA cuando la equidad alcanza -250 $. Encontré un EA en línea que cierra todas las órdenes. Tiene una función CloseAll() que cierra todas las órdenes. Así que la copié a mi EA y la llamé en la función start() así

if(AccountBalance()-AccountEquity()< -250)

CloseAll();

Pero el EA funciona como siempre, no se reinicia.Si algún programador me indica la dirección correcta sería genial.

Gracias.

 
ndtexpert:
Simplemente quiero cerrar todas las órdenes abiertas en mi EA cuando la equidad alcanza -250$. Encontré un EA en línea que cierra todas las órdenes. Tiene una función CloseAll() que cierra todas las órdenes. Así que la copié a mi EA y la llamé en la función start() así:

if(AccountBalance()-AccountEquity()< -250)

CloseAll();

Pero el EA funciona como siempre, no se reinicia.Si algún programador me indica la dirección correcta sería genial.

Gracias.

La condición está bien, es una condición muy simple por lo que tiene que funcionar. Es algo diferente, el código de su ea sería de ayuda.

La condición que usted señaló es la comprobación de la equidad global y el balance de la cuenta, usted debe escribir su propia función para comprobar sólo el beneficio / pérdida generada por este ea y separarlo por número mágico. De esta manera usted puede comprobar muchos ea's en el mismo tiempo.

 
derumuro:
Hola a todos,

Quiero que un EA cierre todas las posiciones abiertas si el beneficio de todas las órdenes es igual a cero + x pips. ¿Cómo programar el EA?

por ejemplo

- orden de venta 0.5 lote openprice = 1.3789

- buyorder 0.4 lotes openprice = 1.3745

- orden de venta 0.2 lote openprice = 1.3721

- orden de venta 0.1 lote openprice = 1.3676

Perdón por mi mal inglés

Saludos

derumuro

La forma más fácil de hacerlo es comprobar el beneficio de cada orden (en lugar de contar pips y multiplicarlo por el valor del lote). También deberías separar las operaciones por número mágico (para que el beneficio cuente también). Aqui esta el ejemplo de la funcion que estoy usando para contar el beneficio de un ea seleccionado (basado en el numero magico):

double profitCount()

{

double oc = 0;

for(int cnt = 0 ;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderMagicNumber() == Magic)

{

oc+= OrderProfit()+OrderSwap()+OrderCommission();

}

}

return(oc);

}

 
halobungie:
Hola,

Voy a escribir un EA con dos Trades si algunas reglas son correctas pero el EA debe abrir solo 1 Trade con:

Trade("AUDCAD",OP_BUY, dLots, 0,0, 0, iMagic, sComment);

y una operación con

Trade("AUDCHF",OP_BUY, dLots, 0,0, 0, iMagic, sComment);

El objetivo es, que el EA se abriría:

- 1 operación "OP_BUY" con AUDCAD

- y 1 operación "OP_BUY" con AUDCHF

¿Cómo lo codifico?

Gracias por adelantado.

halobungie

¡Hola!

Necesitas usar la función MarketInfo (para obtener la oferta y la demanda del cruce especificado) para esto, y enviar el nombre del símbolo a la función OrderSend.

Saludos

Kale