¿Cómo codificar? - página 273

 

no se ha ejecutado la toma de beneficios

Hay dos posibles razones.

En primer lugar, el takeprofit puede considerarse demasiado cercano al precio de apertura para que el corredor lo acepte.

Compruebe la operación para ver si el takeprofit tiene un valor.

En segundo lugar, las operaciones de venta salen al precio de venta, por lo que el precio de venta debe alcanzar el nivel del takeprofit.

¿Cuál es el spread de su broker para ese par y en ese momento?

Eso haría que la salida real fuera en el Bid - Spread.

Robert

 
LuisAY:

Me gustaría saber cómo leer estos círculos en azul claro,

¿algún ejemplo de código que me indique la dirección correcta?

Gracias de antemano.

El nombre del indicador no es un comentario.

Ya que el nombre es visible puedes usar

double MaxValue, MinValue;

int WindowNum = WindowFind("Volumen"); // devuelve -1 si no se encuentra

if (WindowNum >= 0)

{

MaxValue = WindowPriceMax(WindowNum);

MinValue = WindowPriceMin(WindowNum);

}

Espero que esto ayude.

Por cierto, cuando abres el editor de MT4 hay una ventana llamada Navigator que enumera las funciones de MT4 con descripciones y ejemplos de cómo usarlas.

Robert Hill

Programador profesional de MT4

 

[langtitle=de]takeprofit no ejecutado[/langtitle]

MrPip:
Hay dos posibles razones.

En primer lugar, el takeprofit podría considerarse demasiado cercano al precio de apertura para que el broker lo acepte.

Compruebe la operación para ver si el takeprofit tiene un valor.

En segundo lugar, las operaciones de venta salen al precio de venta, por lo que el precio de venta debe alcanzar el nivel del takeprofit.

¿Cuál es el spread de su broker para ese par y en ese momento?

Eso haría que la salida real estuviera en el Bid - Spread.

Robert

[lang=de]Gracias por su rápida respuesta.

Tengo un broker ECN (FXOpen) (5digits). Creo que tienes razón en cuanto al spread. Pero es un valor constante de 102 (=(Ask - Bid)*(1/Point)) y no cambia todo el tiempo mientras se ejecuta el probador de estrategias. ¿Por qué? En los sistemas en vivo el spread cambia casi permanentemente. Además, ¿por qué no recibo un error de OrderSend 130?

Gracias por la ayuda[/lang].

 
MrPip:
El nombre del indicador no es un comentario.

Como el nombre es visible, puedes utilizar

double MaxValue, MinValue;

int WindowNum = WindowFind("Volumen"); // devuelve -1 si no se encuentra

if (WindowNum >= 0)

{

MaxValue = WindowPriceMax(WindowNum);

MinValue = WindowPriceMin(WindowNum);

}

Espero que esto ayude.

Por cierto, cuando abres el editor de MT4 hay una ventana llamada Navigator que enumera las funciones de MT4 con descripciones y ejemplos de cómo usarlas.

Robert Hill

Programador profesional de MT4

esto es exactamente lo que he estado buscando, ..solo esperaba que los técnicos que escribieron el archivo de ayuda tuvieran el sentido común que muestras en el ejemplo.

La otra pregunta que tengo es: el comentario o nota que sirve de nombre en el indicador personalizado se llama "IndicatorShortName" y contiene un valor, ahora, me gustaría leer este valor. Podría encontrar una manera de evitarlo haciendo una variable que también contenga este valor cuando lo declare, pero es de sentido común para mí que tiene que haber una manera de utilizar el valor de "IndicatorShortName".

Gracias

 

jaja , lo encontré -- la codificación que he hecho (pero no lo uso estos días)

no debería dar una SUGERENCIA DE ENTRADA , hasta que haya alguna consolidación observada (por lo que es una especie de inteligente -- simple lógica utilizada sin embargo)

reformule sus preguntas -- no está claro

tiny.cc/imtran

====

esto es una excavación, para mostrar que hago algo de codificación

Pasé 1 mes en este indicador (lo construí yo mismo)

lo que hace, es utilizar el texto de comentario blanco

para decirme qué nivel de precios para colocar una orden de límite

te dejo estos 3 enlaces, si te gusta leer cosas, abre el METAEDITOR IDE y aprende codificación mq4 -- debería usar algún indicador mejor de muestra -- es como

definir el color y el grosor

dibujar algunas cosas en el gráfico

contar el número de velas

ejecutar una fórmula aritmética (tan difícil)

hacer más cálculos y ifthenelse

la mayoría de los indicadores MQ4 están en este formato, así que presta atención a >> dibujar algunas cosas en el gráfico

---- podría ser un poco implícito, o autorun para algunos dibujo final, pero mq4 son como esta manera ---

http://tiny.cc/linsay3

http://tiny.cc/linsay2

http://tiny.cc/linsay1

No doy mis cosas de desarrollo fácilmente

- esto puede no ser útil en el comercio (pero aprendo mucho sobre MQ4, el compilador no es tan duro)

hay un miembro llamado WID - no estoy seguro de lo bueno que es - la codificación , si él es bueno y se adhieren al acuerdo de confidencialidad, creo que le daría todo el indicador a él (buena cosa para jugar alrededor sin embargo)

===

En realidad, tengo un punto aquí

COMENTARIO -- ninguna otra función de MQ4 es más fácil que ésta

muy similar a PRINT ("oooh, bluffer de forex, buen momento para entrar en el precio" ; perfectpriceVariable);

es decir, se puede utilizar como un asesor de TEXTO, disparador, mostrando cualquier valor de la variable, etc.

Sólo tiene que añadirlo a su indicador favorito, entonces usted puede hacer que aparezca y desaparezca y darle el TRIGGER

-- comparación con unas horas atrás etc === toda esta codificación es CHILDPLAY

Sin embargo, si usted tiene su indicador favorito, usted tiene que entender que el indicador favorito INSIDE -OUT primero

por ejemplo, qué SIGNO busca, cómo cambiará la variable

ANTES de que puedas añadir una línea de comentario (.... ....) [ Tengo un ejemplo aquí en el ScreenCap]

Sólo deseo que más gente como la codificación, en lugar de quejarse - escribiendo esto

==== asumamos que "IndicatorShortName" es realmente una variable en MQ4

podrías ponerlo en algún comentario ("\n", " esta variable aprox valor en esta barra de velas es ", IndicatorShortName);

dicho esto, tienes que buscar "IndicatorShortName" en todo el indicador MQ4 para ver que es esto !! es una variable o realmente aparece en el indicador o es una llamada externa -- la llamada externa podría ser difícil, la gente escribe algo así para que parezca OOP

 
coollex:
[lang=de]Gracias por tu rápida respuesta.

Tengo un broker ECN (FXOpen) (5digits). Creo que tienes razón en cuanto al spread. Pero es un valor constante de 102 (=(Ask - Bid)*(1/Point)) y no cambia todo el tiempo mientras se ejecuta el probador de estrategias. ¿Por qué? En los sistemas en vivo el spread cambia casi permanentemente. Además, ¿por qué no obtengo un error OrderSend 130?

Gracias por la ayuda[/lang].

Eso significa que la razón 1 no es el problema.

Entonces con la razón 2 el TP es 1.44743 y el spread es 102 puntos. Eso significa que la oferta tendría que ser 1,44641 cuando la demanda alcanza el TP para salir de la operación. Por la imagen de tu gráfico parece que eso no ha ocurrido.

Recuerda que las barras en el gráfico se crean a partir de la Oferta.

Robert

 

iCustom, indicador y EA para abrir órdenes

Hola a todos,

soy nuevo en la programación de mql.

tengo una función en indi que determina la potencia de todas las divisas. lo que quiero hacer es abrir órdenes para los pares rentables. para ello tengo un bucle 'for' que determina la divisa máxima potente y luego otro bucle 'for' que determina la divisa más débil.

estoy atascado en cuanto a lo que hacer en indi que más tarde se puede utilizar en EA para abrir órdenes de pares rentables..

por favor, compruebe el código de la función a continuación....

allcurr = todas las monedas

cpow = poder de la moneda

void pro (int allcurr, double cpow)

{

for (allcurr=0; allcurr<CurrencyCount; allcurr++)

{

if (cpow > 150 || cpow >160)

{

for (allcurr=0; allcurr<CurrencyCount; allcurr++)

{

if (cpow > 40 || cpow > 0)

{

I AM STUCK HERE

} // end for weak if

} // end for weak

} // end for max if

} // end for max

} // end void pro
 

iCustom, indicador y EA para abrir órdenes

Hola a todos,

soy nuevo en la programación de mql.

tengo una función en indi que determina la potencia de todas las divisas. lo que quiero hacer es abrir órdenes para los pares rentables. para ello tengo un bucle 'for' que determina la divisa más potente y luego otro bucle 'for' que determina la divisa más débil.

Estoy atascado en cuanto a lo que hacer en indi que más tarde se puede utilizar en EA para abrir órdenes de pares rentables ..

por favor, compruebe el código de la función a continuación....

allcurr = todas las divisas

cpow = potencia de una divisa

void pro (int allcurr, double cpow)

{

for (allcurr=0; allcurr<CurrencyRepeat; allcurr++)

{

if (cpow > 150 || cpow >160)

{

for (allcurr=0; allcurr<CurrencyRepeat; allcurr++)

{

if (cpow > 40 || cpow > 0)

{

I AM STUCK HERE

} // end for weak if

} // end for weak

} // end for max if

} // end for max

} // end void pro
 

¿Cambio de OrderComment?

Hola,

¿Hay alguna forma de cambiar el OrderComment, después de que la orden haya sido creada?

Tengo un EA que crea órdenes pendientes en puntos clave que son susceptibles de ser alcanzados, sin embargo a veces esas órdenes tienen que ser canceladas/borradas debido a movimientos rápidos no deseados en los gráficos, por lo tanto no es posible utilizar el número de ticket para identificar cada orden, porque cada orden de punto clave puede ser abierta y cancelada/borrada varias veces, por lo que en su lugar el EA utiliza un OrderComment único para identificar cada orden, pero de vez en cuando el ordenador que ejecuta el EA falla o la conexión a internet falla, y eso desordena la identificación de la orden de punto clave y por lo tanto sería útil cambiar el OrderComment para evitar errores causados por el desorden que se crea después de que el EA se reinicie sin haber terminado la ejecución anterior.

Muy confuso, ¿verdad?

P.D. el número mágico se está utilizando para identificar las órdenes creadas por el EA, por lo que no puedo utilizar ese número para identificar cada orden individualmente.

Si alguien pudiera decirme si hay alguna forma de cambiar el OrderComments se lo agradecería,

Gracias de antemano.

 

No sé si te he entendido bien, pero en el momento en que"apilas" algo con el buffer del indicador - debes pensar qué valor quieres tener en este buffer/buffers.

segundo, mira en este pedazo de código:

if (cpow > 150 || cpow >160)

if (cpow > 40 || cpow > 0)

[/CODE]

this same effect will be when You change it for:

[CODE]

if (cpow > 150)

if (cpow > 0)

edit: No se que efecto quieres pero intenta usar Arrays - probablemente será necesario.

Un gran saludo

Estudiante polaco de informática ya que con gran experiencia en MQL puede codificar para usted.

cita por correo: gaa1(at)poczta(dot)fm

Barato, bueno, rápido && y profesional.