[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 16

 
Chiripaha:

Vinculo el texto al precio de la línea + 3*Punto (es decir, lo pongo ligeramente más alto), pero aun así, cuando cambio el tamaño del gráfico (ventana) el texto está ahora por encima de la línea, ahora por debajo, ahora a nivel de la línea (salta)... ¿Por qué ocurre esto? - Estoy dando la coordenada exacta del precio. ¿Cómo se resuelve?

He buscado y probado cómo lo hacen otros, pero el efecto es similar allí. Quiero entender cómo se elimina este "rebote". Y lo más importante, por qué aparece, ya que las coordenadas son difíciles: el precio y el tiempo.

El texto se introduce en la descripción del objeto y se permite que el gráfico muestre las descripciones de los objetos (una de las formas).
 
Usual_Trader:


formalizas un poco el deseo. ¿Exactamente al cerrar un pedido específico?

Si no es así, es muy sencillo:

al inicio del programa

int total_de_pedidos_anteriores=0;

en el cuerpo del programa:

en la apertura de un nuevo orden

pedidos_anteriores++;

comprobarlo:

if (pedidos_previos>Total de pedidos()) CloseAllTrades(Sym); //esta función puede ser cualquiera de los códigos que cierran todas las órdenes de un símbolo determinado

Si es la última orden abierta que se cierra, entonces

al principio del programa, declarar la variable Last_ticket

cuando se abre el pedido Last_ticket=OrderSend.....

comprobarlo:

if(OrderSelect(OrderSelect(Last_ticket,SELECT_BY_TICKET, int pool=MODE_TRADES)!=true)CloseAllTrades(Sym);

Lo he intentado pero no funciona al entrar if(OrderSelect(OrderSelect(Last_ticket,SELECT_BY_TICKET, int pool=MODE_TRADES)!=true)CloseAllTrades(Sym);

aparece un error:

')' - paréntesis derecho desequilibrado , '!=' - inicialización esperada , 'true' - coma o punto y coma esperados , 'Sym' - variable no definida , 'pool' - variable ya definida .

'Sym' - variable no definida - he eliminado este valor sustituyéndolo por lasttype==OP_SELL , el resto no lo sé




 
Frostr:

Lo he probado, pero no funciona al entrar if(OrderSelect(OrderSelect(Last_ticket,SELECT_BY_TICKET, int pool=MODE_TRADES)!=true)CloseAllTrades(Sym);

aparece un error:

')' - paréntesis derecho desequilibrado , '!=' - inicialización esperada , 'true' - coma o punto y coma esperados , 'Sym' - variable no definida , 'pool' - variable ya definida .

Sym' - variable no definida - he eliminado este valor y lo he sustituido por lasttype==OP_SELL , el resto no lo sé.




¿No te has dado cuenta de que no he escrito esto como un código ya hecho, sino como una idea? ))

Lo siento, he escritoOrderSelect dos veces

if(OrderSelect(Last_ticket,SELECT_BY_TICKET, int pool=MODE_TRADES)!=true)CloseAllTrades(Sym);

La funciónCloseAllTrades(Sym) es puramente mi función, mira en la función de Kim V., probablemente hay una función similar que cierra todas las operaciones para este par. Hay que declarar la variable Sym como cadena Sym=EURUSD; (esto es como una posible variante del par)

 
Chiripaha:

El texto está ligado al precio de la línea + 3*Punto (es decir, lo pongo ligeramente más alto), pero aun así, cuando cambio el tamaño del gráfico (ventana) el texto está ahora por encima de la línea, ahora por debajo, ahora al nivel de la línea (salta)... ¿Por qué ocurre esto? - Estoy dando la coordenada exacta del precio. ¿Cómo se resuelve?

He buscado y probado cómo lo hacen otros, pero el efecto es similar. Quiero entender cómo se elimina este "rebote". Y lo más importante, ¿por qué aparece ya que las coordenadas son duras: el precio y el tiempo?


Esto ocurre porque los diferentes marcos temporales tienen diferentes escalas de gráficos ylos 3*Puntostienen diferentes dimensiones en píxeles. Para que la distancia sea siempre la misma, hay que seleccionarla distancia deseada en píxeles ycalcular cuántos puntos serán paracada marco de tiempo utilizando las funcionesObjectGet() y ObjectSet(). con el identificador OBJPROP_XDISTANCE, y establecer el ángulo de unión del texto inferior para que el texto esté siempre por encima de la línea, y el superior por debajo.
 

¿Dónde puedo descargar las cotizaciones normales?

El Archivo de Citas se está descargando en trozos por alguna razón.

 
Buenas tardes. ¿Puede explicar cómo se organiza la "multimodularidad"? Quiero que las funciones grandes estén en archivos separados.
 
Nekseron:
Buenas tardes. ¿Puede explicar cómo se organiza la "multimodularidad"? Quiero que las funciones grandes estén en archivos separados.


  • Una librería
    es una biblioteca de funciones de usuario diseñada para almacenar y distribuir bloques de programas de usuario de uso frecuente. Las bibliotecas no pueden funcionar solas.
    Se recomienda almacenar las bibliotecas enel directorio terminal_experts\libraries.

  • Elarchivo incluido es el texto fuente de los bloques más utilizados de los programas de usuario. Estos archivos pueden incluirse en Asesores Expertos, scripts, indicadores personalizados y bibliotecas en la etapa de compilación. El uso de archivos de inclusión es más preferible que el uso de bibliotecas debido a los costes adicionales de sobrecarga al llamar a funciones de biblioteca. Se recomienda almacenar los archivos de inclusión en el directorio terminal_experts\include

 
Nekseron:
Buenas tardes. ¿Puede explicar cómo se organiza la "multimodularidad"? Quiero que las funciones grandes estén en archivos separados.
Como ejemplo, puedes ver cómo se organiza este EA, o este otro, por ejemplo.
 

Hola, Puede alguien por favor aconsejar qué sitio donde se puede pedir prestado una pequeña cantidad de WMZ con un certificado formal, necesito un urgente 3 WMZ e ir a poner, ahora no puedo (((

 
rigonich:

Esto se debe a que los diferentes marcos temporales tienen diferentes escalas de gráficos, por lo quelos 3*Puntostienen diferentes tamaños de píxeles. Para que la distancia sea siempre la misma, es necesario seleccionarla distancia deseada en píxeles ycontar el número de puntos paracada marco de tiempo utilizando las funcionesObjectGet() y ObjectSet(). con el identificador OBJPROP_XDISTANCE, y establecer el ángulo de unión del texto inferior para que el texto esté siempre por encima de la línea, y el superior por debajo.
Muchas gracias, Vitaly. Intentaré experimentar. Creo que esa variante con un ángulo de broches debería ayudar. Todavía no sé cómo hacerlo, pero ahora tengo más claro con qué experimentar. Gracias de nuevo.