Ayuda a la codificación - página 113

 

Gracias mladen,

Sí, lo hice... ¡funciona demasiado bien! En ese momento decidí que no tenía ni idea de lo que estaba haciendo y volví a intentar ganar dinero.

Archivos adjuntos:
 
hughesfleming:
Gracias mladen,

Sí, lo hice... ¡funciona demasiado bien! En ese momento decidí que no tenía ni idea de lo que estaba haciendo y volví a intentar ganar dinero.

Alex

Simplemente tienes todas las líneas horizontales de todas las cruces visibles. Tal vez deberías limitar la visualización de la cruz a sólo la última cruz (eliminar el "+Time" de la definición del nombre, y tendrás sólo una - presumiblemente la última - cruz visible)

 

Mejora de la codificación de MT4

¿Puede alguien ayudarme a hacer que este código funcione correctamente?

Hola, tengo un reto para hacer que el código MT4 de abajo funcione bien para mis clientes.

Quiero que la parte de compra y venta funcione para que las alertas no se repitan en cada tick o al

comienzo de cada nueva vela.

También quiero que el stop de compra y venta funcione para que cuando se cumplan las condiciones según el código,

las alertas sonarán para detener la operación.

Por favor, haga clic en la imagen del código para ampliarla.

Archivos adjuntos:
mt4code.png  28 kb
 

Gracias mladen, así está mucho mejor y las líneas aparecen en la lista de objetos con los valores correctos.

Saludos,

Alex

 
gringoh:
Estimados codificadores,

He utilizado el siguiente código de otro indicador para mostrar el recuento de pips de las órdenes abiertas.

En las cuentas demo el indicador funciona bien pero en las cuentas reales no funciona. Cualquier ayuda sería muy apreciada.

Muchas gracias de antemano.

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

¡//| ! - i-Pips count.mq4 |||| i-Pips count.mq4 ||| i-Pips count.mq4

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

// Propiedades del indicador

#propiedades indicador_carta_ventana

extern bool Corner_of_Chart_RIGHT_TOP = TRUE;

extern int Desplazamiento_ALTO_DN = 0;

extern int Adjust_Side_to_side = 0;

extern color CommentLabel_color = Naranja;

extern color Spread_color = Oro;

int g_order_total_120 = 0;

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

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

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

int init() {

return (0);

}

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

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

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

int deinit() {

ObjectsDeleteAll(0, OBJ_LABEL);

return (0);

}

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

//| Función de inicio de indicador personalizada ||.

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

int inicio() {

Mostrar_Trade_Pips ();

return (0);

}

//-----------------------------------------------------------------------------

// función: Show_Trade_Pips()

// Descripción: Recuento de pips por orden abierta

//-----------------------------------------------------------------------------

void Show_Trade_Pips(){

double ld_0 = 0;

int pos_8 = 0;

int count_12 = 0;

int orden_total_16 = 0;

//if (Show_Trade_Pips == TRUE) {

order_total_16 = OrdersTotal();

g_order_total_120 = order_total_16;

count_12 = 0;

for (pos_8 = 0; pos_8 < order_total_16; pos_8++) {

OrderSelect(pos_8, SELECT_BY_POS, MODE_TRADES);

if (Symbol() == OrderSymbol()) {

if (OrderType() == OP_BUYSTOP | OrderType() == OP_BUYLIMIT | OrderType() == OP_SELLSTOP | OrderType() == OP_SELLLIMIT) continue;

count_12++;

si (OrderType() == OP_BUY) {

if (Digits == 2 || Digits = 4) ld_0 = (OrderClosePrice() - OrderOpenPrice()) / Punto;

si (Dígitos == 3 | Dígitos == 5) ld_0 = (OrderClosePrice() - OrderOpenPrice()) / Punto / 10,0;

ObjectCreate("BPTrade_lbl" + pos_8, OBJ_LABEL, 0, 0, 0);

ObjectSetText("BPTrade_lbl" + pos_8, "Trade " + count_12 + " Pips ", 10, "Arial", CommentLabel_color);

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_CORNER, Corner_of_Chart_RIGHT_TOP);

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_XDISTANCE, Adjust_Side_to_side + 58);

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_YDISTANCE, 15 * count_12 + 1 + Shift_UP_DN);

ObjectCreate("BPTrade_val" + pos_8, OBJ_LABEL, 0, 0, 0);

ObjectSetText("BPTrade_val" + pos_8, DoubleToStr(ld_0, 1), 10, "Arial Bold", Spread_color);

ObjectSet("BPTrade_val" + pos_8, OBJPROP_CORNER, Corner_of_Chart_RIGHT_TOP);

ObjectSet("BPTrade_val" + pos_8, OBJPROP_XDISTANCE, Adjust_Side_to_side + 10);

ObjectSet("BPTrade_val" + pos_8, OBJPROP_YDISTANCE, 15 * count_12 + 1 + Shift_UP_DN);

continuar;

}

if (OrderType() = OP_SELL) {

if (Digits == 2 || Digits = 4) ld_0 = (OrderOpenPrice() - OrderClosePrice()) / Punto;

si (Dígitos == 3 | Dígitos == 5) ld_0 = (OrderOpenPrice() - OrderClosePrice()) / Punto / 10,0;

ObjectCreate("BPTrade_lbl" + pos_8, OBJ_LABEL, 0, 0, 0);

ObjectSetText("BPTrade_lbl" + pos_8, "Trade " + count_12 + " Pips ", 10, "Arial", CommentLabel_color);

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_CORNER, Corner_of_Chart_RIGHT_TOP);

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_XDISTANCE, Adjust_Side_to_side + 58);

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_YDISTANCE, 15 * count_12 + 1 + Shift_UP_DN);

ObjectCreate("BPTrade_val" + pos_8, OBJ_LABEL, 0, 0, 0);

ObjectSetText("BPTrade_val" + pos_8, DoubleToStr(ld_0, 1), 10, "Arial Bold", Spread_color);

ObjectSet("BPTrade_val" + pos_8, OBJPROP_CORNER, Corner_of_Chart_RIGHT_TOP);

ObjectSet("BPTrade_val" + pos_8, OBJPROP_XDISTANCE, Adjust_Side_to_side + 10);

ObjectSet("BPTrade_val" + pos_8, OBJPROP_YDISTANCE, 15 * count_12 + 1 + Shift_UP_DN);

}

}

}

}

gringoh

¿Tienes por casualidad el código original?

Este es un código descompilado

 

Hola Mladen,

Efectivamente, creo que es un código de descompilación. He encontrado este indi en otro foro y he intentado modificarlo para que funcione en vivo pero sin éxito.

Entiendo el problema. Disculpa las molestias, post editado y borrado.

Lo mejor,

 

Estimados codificadores,

He utilizado el siguiente código de otro indicador con el fin de mostrar el recuento de pips de las órdenes abiertas.

En las cuentas demo el indicador funciona bien pero en las cuentas reales no funciona. Cualquier ayuda sería muy apreciada.

Muchas gracias de antemano.

 

número entero no válido como parámetro 5 para la función'iCustom'

me sale este error

número entero no válido como parámetro 5 para la función 'iCustom'

La llamada a la función `código es:

double EUF = iCustom(Symbol(),0, "TOTAL-SHIT-CORREL", "EURUSD.pro", "USDCHF.pro",0);

TOTAL-SHIT-CORREL toma 2 entradas Pair1 y Pair2 de tipo cadena

ayuda

`

 
junglelion:
me sale este error

número entero no válido como parámetro 5 para la función 'iCustom'

La llamada a la función `código es:

double EUF = iCustom(Symbol(),0, "TOTAL-SHIT-CORREL", "EURUSD.pro", "USDCHF.pro",0);

TOTAL-SHIT-CORREL toma 2 entradas Pair1 y Pair2 de tipo cadena

ayuda

`

junglelion

Significa que "USDCHF.pro" debería ser de hecho algún número entero y no esa cadena

 

Estimado Mladen;

¿puede convertir este indic a EA? (sólo para largos y cortos, sin TP o SL)

Gracias

Archivos adjuntos:
_test.mq4  2 kb