asesor experto - preguntas varias - página 38

 
Keith Watford:
de esta manera si se selecciona la línea al hacer clic en el botón, se deseleccionará automáticamente.
hmm... Es una buena idea - gracias por ello. No me importa. Vamos a probarlo.
 

#Objeto Mixto - Cerrado

Muchas gracias por los comentarios de ambos.
Hasta ahora funciona sin ningún problema.

 

#Stop Loss y Take Profit no son correctos - Abrir

A veces Stop Loss y Take Profit se deslizan ligeramente cuando abro la posición ( ex: ± 0.00001 o 0.00002 y más para EURUSD mientras la volatilidad es baja ).
Necesito escribir un código para ello pero antes necesito preguntar.

En estos casos actualmente modifico manualmente después de los deslizamientos de SL y TP, y eso es algo realmente molesto para mí.

P:¿Cuál sería su consejo sobre este tema, por favor?

( Me preocupa que el código para ello traiga más problemas... )
( Y creo que no será una pequeña parte del script. )

Gracias de antemano.

 

El consejo es utilizar paradas ocultas.

Es decir, stops que se ocultan al servidor del broker.

Esto significa que usted tiene que detectar nuevas órdenes y luego colocar paradas virtuales, o colocar paradas virtuales cuando la orden se abre.

En ambos ejemplos tienes stops virtuales y tu EA tiene que estar online para modificar y cerrar los stops/posiciones.

Si envías tus stops al servidor del broker entonces será la forma en que puedes desconectar tu EA y los stops seguirán activándose porque ahora son manejados por el servidor y no tanto por tu ea.


Así que todo depende de lo que quieras hacer.

Dices que ajustas tus stops manualmente, esto se puede hacer con ambos ejemplos.

No estoy seguro de cuál es su pregunta o cuál es su mecanismo preferido de TP/SL.

 

#Stop Loss y Take Profit no son correctos - PreClose

Marco vd Heijden:

¡Te entiendo! Mientras leía tu comentario, tuve la idea de cómo puedo resolver mi problema y también creo que voy a perder mucho tiempo para ello.
Si me decido a intentar algo para mi idea voy a hacer una captura de pantalla para que ayuda a aclarar mi problema.

¡Gracias!

 

#CHARTEVENT_KEYDOWN - Abrir

Estoy tratando de encontrar el alfabeto para la función CHARTEVENT_KEYDOWN, ya he encontrado algunas cosas, pero no pueden resolver mi problema, tal vez son tan viejos para MQL4.

Ya conozco el ejemplo de abajo - pero necesito obtener más información o documentación para el alfabeto ex: A, B, C, ... Z

#define  KEY_LEFT  37 // Left Arrow - works
#define  KEY_A     65 // A alphabet - does not works

P: ¿Pueden compartir conmigo los números de las claves del alfabeto, por favor?

Necesito probar algo para la función CHARTEVENT_KEYDOWN hoy, por favor ayúdeme.
( actualmente estoy investigando )

Gracias de antemano.

Resuelto
 

Necesito que la tecla "A" pueda crear objetos y también borrar objetos de la nube.

ejemplo: 1a vez presionada : la tecla " A " crea algunos objetos. ( que ya escribí código para ello - funciona perfecto para mí )
La segunda vez que se pulsa la tecla "A" se borran los objetos. ( que una tecla "A" creó que los objetos )

Solo estoy buscando el método de cómo puedo borrar objetos con la tecla "A".
Por favor, dame un consejo o ayúdame con un ejemplo.

Gracias de antemano.

// 2ª vez editado

Anoche mi cerebro estaba lleno, ahora he resuelto este problema.

#CHARTEVENT_KEYDOWN - Cerrado
 

#Bitmap Alpha - Abierto

Necesito usar .bmp alpha, pero no consigo nada bueno en SEO que pruebe algo. Necesito buenos comentarios, por favor.

Gracias de antemano.

// 2ª vez editado

Cualquier enlace relacionado sería mejor...
Sigo investigando...

 

#Mover objeto - Reabrir

El siguiente método ( casi ) me funciona por ahora. ( no lo he probado mucho todavía, sigo investigando )

P #1: Los objetos de Graphics() obtienen más x20 y y20 cuando se termina de arrastrar, ¿cómo puedo resolverlo, por favor?

Cualquier consejo sería mejor para mí, por favor.

Gracias de antemano.

extern orgX = 20;
extern orgY = 20;

void OnChartEvent(const int id,const long&lparam,const double&dparam,const string&sparam)
  {
   if(sparam==moveObj)
     {
      if(id==CHARTEVENT_OBJECT_DRAG)
        {
         orgX=(int)ObjectGet(moveObj,OBJPROP_XDISTANCE);
         orgY=(int)ObjectGet(moveObj,OBJPROP_YDISTANCE);
         Graphics();
         // Could I put all of my obj functions here, please?
         // I have a lot of objects and some object names have Order Ticket numbers...
        }
     }
   return;
  }
 

Debido a que los parámetros declarados externamente no pueden ser alterados, o cambiados yo siempre copio el parámetro externo y luego cambio la copia.

También extern es obsoleto, usa

input int orgX;

or

static input int orgX;

or 

sinput int orgX;
Razón de la queja: