Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 188

 
Vitalie Postolache:

Así que la comisión no tiene nada que ver con los precios. Se cobra sobre la orden, independientemente del número de pips que haya pasado el precio durante la vigencia de esta orden. Sí, podemos convertirlo en puntos, pero será un poco más grande que el diferencial. Entonces, pregunté, ¿para qué sirve? Tal vez, los Pipsatters con los objetivos menos de la propagación?
Puede que tengas razón. Si traspaso comisión + swap(!) entonces tiene más sentido, y si estoy mucho tiempo en el mercado, el coste puede ser de hasta 25 puntos y si no añado estos puntos para seguir el rastro o el punto de equilibrio, al final cerraré con pérdidas.
 
Vitaly Muzichenko:
Puede que tengas razón. Traspaso comisión + swap(!), y luego tiene mucho sentido, y si estamos mucho tiempo en el mercado, el coste puede ser de hasta 25pp, y si no añadimos estos puntos al arrastre o al breakeven, acabaremos cerrando en números rojos
En cuanto al canje, estoy completamente de acuerdo, cambia con el tiempo, sobre todo cuando el canje es positivo y un pedido grande está colgado durante una o dos semanas. ¿Y la comisión aumenta con el tiempo? Parece que es una suma global.
 
Vitalie Postolache:
Estoy completamente de acuerdo con lo del swap, cambia con el tiempo, sobre todo cuando el swap es positivo y un pedido grande se mantiene durante una o dos semanas. ¿La comisión crece con el tiempo? Parece que es una suma global.
La comisión es aproximadamente hasta 1pp y no cambia con el tiempo, pero sigue siendo agradable cuando se tiene en cuenta al mover el Breakeven y Trailing stops, no es necesario añadir nada manualmente, el programa lo hará todo).
 
Vitaly Muzichenko:
La comisión es aproximadamente de hasta 1pp y no cambia con el tiempo, pero sigue siendo agradable cuando se tiene en cuenta al mover las paradas de Breakeven y Trawl, no es necesario añadir nada manualmente, el programa lo hará todo)


Hay algo mal en su código:

tv=SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_VALUE);

(OrderCommission()/(tv*OrderLots()))*Point()

¿Tal vez esto sea mejor?

double tv=SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_VALUE);
int comissionpoints=int(OrderCommission()/tv/OrderLots());
Pero si la comisión es menor que 1, el código devolverá 0. ¿O puntos en formato doble para representar?
 
Vitalie Postolache:


Hay algo que no funciona en tu código:

¿Sería esto mejor?

No es cómo es mejor, es cómo es correcto. El código fue extraído de un hilo vecino, y probablemente sea correcto)
 
Vitaly Muzichenko:
No es el camino correcto, es el camino correcto. He sacado el código de una rama cercana y probablemente sea correcto)


Pues parece más correcto no multiplicar por Punto.

Si el precio de una orden de 1 lote se mueve en 1 pip, entonces su beneficio se modificará en: OnePipCharge = Tickvalue * 1Lot * 1Point. De aquí derivamos el número de pips, si se conoce la cantidad en la moneda base: Pips = Cargo/Lotes/Valor de los Pips.

¿No es así?

 

Volviendo a mi, por mucho, tema doloroso - modificación de EA específicamente en las cuentas ndd.

1. Si ya hay órdenes abiertas en el par y se abre una nueva orden, todo se modifica inmediatamente (promediando).

2. Si no hay órdenes y se abre una nueva orden, es decir, aparece una orden, no se modifica (aunque en la misma empresa de corretaje en una cuenta simple todo se modifica como debe ser y desde hace varios meses ya). La orden se modifica la siguiente vez que se abre el terminal. En los registros generales no hay nada al respecto y en los registros de MQL4 hay un error 130 (paradas erróneas), después de que se haya abierto una orden.

3. Hoy estuve mirando - se abrió la orden, una en el par, pero no se modificó, las cotizaciones para el par estaban llegando (supuse tal variante). Recordando las variantes anteriores, he reiniciado el terminal, pero el orden no se ha modificado. Cuando ejecuté el terminal por la mañana (tengo gráficos diarios) la orden se modificó.

¿Qué puede ser? Mi opinión. ¿Tal vez, deberíamos establecer directamente el TP requerido en la función de apertura? Bueno, la apertura de la orden se realiza por las reglas de las cuentas nd y luego colocamos TP y SL.

 
Youri Lazurenko:

Volviendo a mi, por mucho, tema doloroso - modificación de EA específicamente en las cuentas ndd.

1. Si ya hay órdenes abiertas en el par y se abre una nueva orden, entonces todo se modifica inmediatamente (promediando).

2. Si no hay órdenes y se abre una nueva orden, es decir, aparece una orden, no se modifica (aunque en la misma empresa de corretaje en una cuenta simple todo se modifica como debe ser y desde hace varios meses ya). La orden se modifica la siguiente vez que se abre el terminal. En los registros generales no hay nada al respecto y en los registros de MQL4 hay un error 130 (paradas erróneas), después de que se haya abierto una orden.

3. Hoy estuve mirando - se abrió la orden, una en el par, pero no se modificó, las cotizaciones para el par estaban llegando (supuse tal variante). Recordando las variantes anteriores, he reiniciado el terminal, pero el orden no se ha modificado. Cuando ejecuté el terminal por la mañana (tengo gráficos diarios) la orden se modificó.

¿Qué puede ser? Mi opinión. ¿Tal vez, deberíamos establecer directamente el TP requerido en la función de apertura? Bueno, las reglas de nd-accounts parecen ser: primero abrimos una orden y luego establecemos TP y SL.

¿Abres una posición con un TP y un SL no nulos a la vez?

Intente primero abrir una posición con un stop y un take iguales a cero, compruebe que la posición está abierta y modifique el stop y el take a los valores deseados.

 
Artyom Trishkin:

¿Abres una posición con un stop y una toma no nulos?

Prueba a abrir una posición con un stop y take igual a cero primero, comprueba que la posición está abierta y modifica su stop y take a los valores correctos.


Así es como funciona para mí - abrir una orden con cero TP y SL, y luego modificar (la orden) con los parámetros correctos de TP y SL. Ya escribí, todo funciona y funcionó bien en otras cuentas, sólo en ndd tal cosa. No he trabajado con nadie más con cuentas similares antes, no puedo comparar. Tal vez sea sólo el pitido de forex4u, o tal vez todas las cuentas de ndd. Me gustaría saberlo para futuras referencias.
 
Vitalie Postolache:


Pues parece más correcto no multiplicar por Punto.

Si el precio de una orden de 1 lote se mueve 1 pip, su beneficio cambiará a: OnePipCharge = Tickvalue * 1Lot * 1Point. A partir de aquí, deduzca el número de pips si se conoce el importe en la moneda base: Pips = Cargo/Lotes/Valor de los Pips.

¿No es así?

¿Cuál es la diferencia?

Pips = Carga/Lotes/Valor de los Pips en números concretos 8/2/4 = 1

o

Pips = Carga/(Lotes*Valor de la Tic) en concreto 8/(2*4) = 8/8 = 1

Los números fraccionarios también pueden utilizarse...

Razón de la queja: