[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 263

 
Valdemar:


Gracias por tu comentario querido PapaYozh,pero también he insertado esta función en int start(), sigue sin cambiar el resultado del compilador.

Al final el compilador me muestra estos errores, y creo que se refiere a la definición de la variable equivocada...

Voldemar, la gente está tratando de decirte lo que dicen todos los docs, tutoriales y ejemplos: el cuerpo de una función de usuario debe estar fuera de otras funciones, por ejemplo, después de la última línea de la función Start.
 
ilunga:

Otra vez:

Documentación:

int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)

Su décimo parámetro en la cadena "Newest" no es un número. Por eso hay un error

¿Así que sólo tienes que quitarlo?
 
Pyxlik2009:
Entonces, ¿sólo hay que quitarlo?

Es necesario pasar los parámetros correctamente a la función llamada.
 

Chicos ayuda por favor

 
granit77:
Voldemar, la gente está tratando de decirte lo que dicen todos los docs, tutoriales y ejemplos: el cuerpo de una función personalizada debe colocarse ANTES de las otras funciones, por ejemplo, después de la última línea de la función Inicio.


Gracias agranit77 y a todos los que me han dedicado su valioso tiempo. Lo he conseguido, porque creo que todo el mundo se ha alegrado por la aparición de los primeros éxitos en la consecución del objetivo concebido.

¡¡¡¡Gracias!!!!

...espero poder ayudar a alguien aquí en un futuro próximo.



 
Pyxlik2009:

Chicos, por favor, ayuda.

¿Quieres que te lo sostenga? :))))

Sustituye "Newest" por un número.

 
Starting:


Creo que no he entendido bien lo que quería decir.

Afirmación 1. Todo código, después de la activación de la orden pendiente, al acceder a la fecha de apertura de esa orden (que se ha convertido en negociable en el momento de la activación) obtendrá la fecha de apertura igual a la fecha de fijación de la orden pendiente - así funciona la función OrderOpenTime().

Afirmación 2: No se puede recordar la hora exacta de la activación de la orden pendiente, sin un Asesor Experto que supervise constantemente el estado de las órdenes en la cuenta.


Posible solución 1. Podemos intentar correr desde la fecha de establecimiento de la orden pendiente hasta la fecha actual y anotar el momento del primer cruce del precio de apertura y el nivel de activación.

Será un tiempo más o menos exacto, pero hay un gran inconveniente: el diferencial. Dado que no registramos el spread en el historial (no estoy tomando el historial de ticks con el spread tomado de Dukas, por ejemplo, ya que no estoy operando en Dukas y necesitamos recogerlo y registrarlo), la orden puede haberse disparado mucho antes, cuando el precio casi tocó el nivel de apertura pero no lo cruzó, y la orden se abrió debido a la expansión del spread, y no después, cuando realmente vimos que el precio cruzaba la línea de ajuste de la orden pendiente.


La solución más probable es crear un Asesor Experto, ponerlo en el gráfico y controlar las órdenes en la cuenta. No quiero hacerlo por algunas razones y también hay desventajas asociadas a posibles problemas durante las pausas en la operación de EA.


Las funciones, a las que se ha referido. Ha proporcionado un enlace a la función OrderOpenTime(). Para las órdenes retrasadas será la fecha de su creación, y no la de su activación. Por lo tanto, las funciones existentes no son adecuadas. Y no hay manera de combinarlos, ya que siguen haciendo referencia a OrderOpenTime() para la fecha de apertura del pedido.


Algo me alarma en sus afirmaciones. Tras la conversión de una orden pendiente con el ticket, por ejemplo, 12, no habrá ninguna orden pendiente con el ticket 12 en el historial. Habrá una posición abierta con el ticket 12, y su tipo será OP_BUY u OP_SELL. El momento de su apertura es el momento de la transformación de la orden pendiente en una orden de mercado.

Por favor, corríjanme si está equivocado.

En cualquier caso, usted necesita un Asesor Experto que haga la contabilidad de las órdenes por usted. En cada tick se comprueba si hay una orden pendiente, se memoriza su ticket (si se encuentra la orden) y luego se comparan los ticks de las posiciones abiertas con la pendiente. En cuanto encuentre una coincidencia, recuerde la hora de su apertura. Este será el momento en el que se busque...

 

Pregunta - ¿es posible utilizar scripts y EAs de terceros (de la serie "no se negocian") en un búho que se ejecuta a través de un probador?

 
artmedia70:

¿Quieres que te lo sostenga? :))))

Sustituye "Newest" por un número.

Ya lo he resuelto. Gracias).
 
artmedia70:

Hay algo en sus declaraciones que me inquieta. Tras la conversión de una orden pendiente con el ticket 12, por ejemplo, no habrá ninguna orden pendiente con el ticket 12 en el historial. Habrá una posición abierta con el ticket 12, y su tipo será OP_BUY u OP_SELL. El momento de su apertura es el momento de la transformación de la orden pendiente en una orden de mercado.

Por favor, corríjanme si está equivocado.

En cualquier caso, usted necesita un Asesor Experto que haga la contabilidad de las órdenes por usted. En cada tick se comprueba si hay una orden pendiente, se memoriza su ticket (si se encuentra la orden) y luego se comparan los ticks de las posiciones abiertas con la pendiente. En cuanto encuentre una coincidencia, recuerde la hora de su apertura. Este será el deseado.

Sí, la entrada de la orden de mercado después de la activación de la orden pendiente no se cambia (al menos en mi corredor).

Lahora de apertura de una posición de mercado será la hora de modificación de la orden pendiente. Al menos según los registros, lo he comparado ahora usando una de las órdenes como ejemplo.

La afirmación 1, sobre esta base, es obviamente errónea. Lo revisaré de nuevo mañana mientras esté fresco; estuve trabajando en él un par de noches (no exactamente), mi cerebro ya está nublado.

Si el OrderOpenTime() de una orden de mercado con una orden pendiente sigue mostrando la hora de su apertura, no tenemos ningún problema y el EA no es necesario para seguir las órdenes. Todo lo que necesitamos es la hora de activación de la orden pendiente para ordenar correctamente las órdenes del historial por su hora de apertura y la bandera de que están cerradas. Ni siquiera importa si se trata de una orden de mercado pendiente y no hay banderas que muestren que se trata de una orden pendiente, esto no es necesario. Lo importante es el hecho - se cerró por última vez y con la última fecha de apertura - nuestro cliente, traerlo aquí.

Es que no hay manera de que mi script pueda dar la última orden cerrada con la última hora de apertura, exactamente cuando se dispararon las órdenes pendientes. De todos modos, lo comprobaré todo. Gracias por el consejo, ¡muy útil!

Razón de la queja: