
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿MathFloor redondea los decimales hacia abajo al número ENTERO más cercano?
MathFloor() hace lo que dice la documentación. . . "La función MathFloor devuelve un valor numérico que representa el mayor número entero que es menor o igual que x".
¿Tiene sentido FirstTarget como parámetro personalizado dentro de "OrderClose()" - Suponiendo que "sizeClose" fuera correcto? (ver código citado)
No. . . tienes esto:
cuando probablemente quiere decir esto. . .
FirstTarget = OrderOpenPrice() + ( ( OrderTakeProfit()-OrderOpenPrice() ) / 2 ) ;
Utilice paréntesis (y espacios) para que las cosas sean claras y sin ambigüedades.
Su código no ayudó - lo siento.
¿Por qué? ¿Está mal? ¿En qué sentido?
¿Se pueden imprimir variables personalizadas? Si es así, debo estar haciéndolo mal ya que no aparece en el diario.
Sí, puedes imprimir cualquier variable. ¿Qué está haciendo? Muestre su código.
Con respecto a la impresión de variables personalizadas, ¿cómo podría hacer esto para "FirstTarget_Buy"?
Voy a pasar tiempo revisando todo mi código e imprimiendo mucho - entiendo cómo hacerlo con bools e ints (el entero -1 falla y el bool es una declaración verdadera o falsa - fácil.) pero no entiendo cómo hacerlo cuando se asignan funciones a una variable personalizada?
¡Gracias por arrojar luz sobre la fórmula "FirsTarget" de arriba! Lo siento, quería decir que su código no ayudó en el sentido de que no estoy entendiendo cómo poner la fórmula juntos ... Lo encuentro realmente contra intuitivo - Habría pensado que llamar a "OrderSelect" le permitiría simplemente ver cuál era el tamaño del lote en ese tickorder... y luego simplemente dividirlo...
¡Lo siento por venir como un completo idiota!
Siento haber quedado como un completo imbécil.
En absoluto, sólo tienes que encontrar tu punto ciego e iluminarlo, una vez que lo hayas hecho te preguntarás por qué te resultaba tan difícil, todo es fácil cuando sabes cómo.
Con respecto a la impresión de variables personalizadas, ¿cómo podría hacer esto para "FirstTarget_Buy"?
Voy a pasar tiempo revisando todo mi código e imprimiendo un montón - entiendo cómo hacerlo con bools e ints (el entero -1 falla y el bool es una declaración verdadera o falsa - fácil.) pero no entiendo cómo hacerlo cuando se asignan funciones a una variable personalizada?
Me refería a que tu código no ayudó en el sentido de que no estoy entendiendo cómo armar la fórmula... Lo encuentro realmente contra intuitivo - Habría pensado que llamar a "OrderSelect" le permitiría simplemente ver cuál era el tamaño del lote en ese tickorder... y luego simplemente dividirlo...
Usted puede simplemente OrderSelect la orden, el uso OrderLots() y dividir por dos ... usted puede hacer eso, y en muchas situaciones que va a funcionar. Yo escribo código para todos los casos que puedo prever para no tener que arreglarlo continuamente cuando se rompe. . .
Si el tamaño de su posición es de 2.0 lotes; esto dividido por dos es 1.0 lotes y esto funcionará. . .
Si su tamaño de posición es de 0.3 lotes; esto dividido por dos es 0.15 lotes y esto será un tamaño de posición inválido si MODE_LOTSTEP es 0.1 . . . puede usar 0.1 o 0.2 NO 0.15 así que necesita codificar esta comprobación y ajuste.
Lo que tienes aquí no funcionará en todos los casos. . .
¡Ahhhh! Acabo de pasar los últimos 15-20 minutos revisando las impresiones por todos lados - estoy empezando a entender en qué me estoy equivocando. Básicamente estoy seleccionando el pedido PENDIENTE... SIN EMBARGO, como es una orden pendiente, en el momento en que la selecciono, hay una alta probabilidad de que los OrderLots, el stop y los objetivos hayan cambiado, por lo que tendré que ponerla en un bucle para que esté sincronizada con la forma en que mis órdenes pendientes se calculan constantemente antes de que se activen.
Ese maldito doubletostr :P - ¡Apuntado RaptorUK! Ahora veo que se calcula correctamente, gracias a tu ajuste :)
Creo que ahora sé cómo hacer la mayor parte de ella - Sólo por curiosidad, lo que "si" declaración funcionaría para llamar sólo la orden que se ha disparado. Por el momento, lo tengo llamando a cuando tengo una orden de mercado abierta, pero estoy tratando de averiguar cómo llamar a cuando la orden pendiente se ha disparado?
El código de abajo y la correspondiente declaración "if" sólo parece llamar a las órdenes pendientes abiertas. ¿Sólo quiero una manera de "ir a" una función personalizada específica (void por ejemplo) sobre la base de que una orden se ha disparado? (¡si es que tiene sentido!)
Gracias por aclararme tanto :)
¡Ahhhh! Acabo de pasar los últimos 15-20 minutos limpiando las huellas por todas partes, y empiezo a entender en qué me estoy equivocando.
Es fácil cuando se sabe cómo
Creo que sé cómo hacer la mayor parte de ella ahora - Sólo por curiosidad, lo que "si" declaración funcionaría para llamar sólo la orden que se ha disparado. Por el momento, lo tengo llamando a cuando tengo una orden de mercado abierta, pero estoy tratando de averiguar cómo llamar a cuando la orden pendiente se ha disparado?
Cuando una Orden Pendiente se ha disparado se convertirá en una OP_BUY u OP_SELL, así que...
if(OrderType() == OP_BUY || OrderType() == OP_SELL) { }
Un consejo, utilice más espacios . . . cuando usted consigue un error de división por cero y quiere encontrar donde está sucediendo es fácil de buscar el espacio / espacio y sólo encontrar sus divisiones en lugar de todos sus comentarios . . . así que uso espacios alrededor de = + - / % etc.
Buen consejo, lo haré. Gracias por tu ayuda :) Si lo consigo, te informaré de ello.
No obtengo ninguna información sobre las impresiones. No aparece absolutamente nada en el Diario. Supongo que esto se debe a que no se está seleccionando nada en cuanto al tipo de pedido desde la primera declaración "if". Por lo que puedo ver aquí en el código, habría pensado que no estoy muy lejos, al menos...?
Bien, ya he vuelto. ... Sin embargo, no son tan buenas noticias: he intentado y probado múltiples variaciones de código sin suerte. Aquí es donde estoy en este momento.
No obtengo ninguna información sobre las impresiones. No aparece absolutamente nada en el Diario. Supongo que esto se debe a que no se está seleccionando nada en cuanto al tipo de pedido desde la primera declaración "if". Por lo que puedo ver aquí en el código, habría pensado que no estoy muy lejos, al menos...?
¿Cómo está seleccionando la Orden antes de hacer esto?
if(OrderType() == OP_BUY ){
Todavía tienes problemas aquí
¿Por qué no...?
2013.07.31 11:13:52 2013.02.01 16:00 trendfishing_play_ground EURUSD,H1: Order Select returned the error of 0 // Not sure what is going on here? 2013.07.31 11:13:52 2013.02.01 16:00 trendfishing_play_ground EURUSD,H1: The Lots to close is: 0.09000 // This is the right calculation based // upon the total lots opened on a pending order - to half. 2013.07.31 11:13:52 2013.02.01 16:00 trendfishing_play_ground EURUSD,H1: The Lotstep is: 0.01000 2013.07.31 11:13:52 2013.02.01 16:00 trendfishing_play_ground EURUSD,H1: The minimum lots are: 0.01000 2013.07.31 11:13:52 2013.02.01 16:00 trendfishing_play_ground EURUSD,H1: FirstTarget_Buy: 1.37931 // This price is also correct.