Discusión sobre el artículo "Funciones para la Gestión de fondos en un Expert Advisor" - página 5

 
Karlson:

Muchas existencias de 100 tiestos. Margen adecuado.

O me estoy perdiendo algo....

Probando IBM, al principio no podía entender por qué no permite abrir más de 0,5 lote. Luego me di cuenta. 50 sherds a un precio de alrededor de 200 - que es todo el depósito inicial de 10.000 en el margen.

¿Qué es "sherds"?
 
Urain:
¿Qué es "shers"?

Un clic en un botón :)))

1 lote en NYSE = 100 acciones.

Piezas de acciones en un lote.

 
Karlson:

Con sólo pulsar un botón :))

1 lote en NYSE = 100 acciones.

Piezas de acciones en un lote.

Bien, este 1 lote para #Nombre = X acciones es necesario como valor devuelto por la funcion MQL5 SymbolInfoInteger().
Документация по MQL5: Получение рыночной информации / SymbolInfoInteger
Документация по MQL5: Получение рыночной информации / SymbolInfoInteger
  • www.mql5.com
Получение рыночной информации / SymbolInfoInteger - Документация по MQL5
 

¿Es CONTRACT_SIZE incorrecto?

 
Karlson:

¿Es CONTRACT_SIZE incorrecto?

Ese es el punto, CONTRACT_SIZE ya se utiliza en la fórmula de cálculo de margen (ver 2 º post en esta página). Para las divisas es suficiente, pero por ejemplo para #IBM no lo es.
 

Sí. Fui estúpido ayer, y antes, y tal vez incluso hoy. No puedo dormir en absoluto.

Lo siento, el depósito para 1 lote de IBM (100 acciones) es de 20.000 dólares. A eso me refiero... Sin apalancamiento... 1:1 para ser exactos.

Yo escribiría la fórmula al revés, personalmente tiene más sentido.

SYMBOL_MARGIN = (SYMBOL_BID*SYMBOL_TRADE_CONTRACT_SIZE ) / ACCOUNT_LEVERAGE

Y la salida de 1 lote de acciones (100 unidades) debería ser de 200 $, no de 20 000 $. La fórmula será correcta. Pero la salida en la realidad no es la misma. Como si no se contara el apalancamiento.

IBM ---- margen= (200 * 100 ) / 100 = 200 $ -- eso debería ser.

EURUSD ---- margin= (1,23936 * 100.000) / 100 = 1.239,36 $ -- todo correcto.

input double lot=1.0;
double marg1=0,marg2=0;
void OnStart()
    { 
     double bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);
     OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,lot,bid,marg1);
     OrderCalcMargin(ORDER_TYPE_SELL,_Symbol,lot,bid,marg2);
     
     Print(_Symbol,"    Buy Margin=",marg1,"     Sell Margin=",marg2);
    }

 
Karlson:

Sí. Fui estúpido ayer, y antes, y tal vez incluso hoy. No puedo dormir en absoluto.

Lo siento, el depósito para 1 lote de IBM (100 acciones) es de 20.000 dólares. Eso es lo que es... Sin apalancamiento... 1:1 para ser exactos.

Yo escribiría la fórmula al revés, personalmente tiene más sentido.

Y la salida de 1 lote de acciones (100 unidades) debería ser de 200 $, no de 20 000 $. La fórmula será correcta. Pero la salida en la realidad no es la misma. Como si no se contara el apalancamiento.

IBM ---- margin= (200 * 100 ) / 100 = 200 $ -- así es como debería ser.

EURUSD ---- margin= (1.23936 * 100,000) / 100 = $1,239.36 -- todo correcto.

Parece que el apalancamiento no es el problema, ya que el beneficio es muy rápido, concluyo que hay 100 contratos en el 1er lote, mientras que en forex hay 1 contrato en el 1er lote.

 
Rosh:

No hables con acertijos. ¿Ha descubierto que el método de cálculo escrito para Forex no funciona aquí?

Sí, lo he averiguado, queda por averiguar qué forma de cálculo funciona, pero sin conocer la representación interna estaré vagando en conjeturas durante mucho tiempo.

Necesito una posición clara de MQ sobre esta cuestión, a partir de la cual podamos proceder.

Por cierto, esto no es un ataque a tu artículo (ya señalaste hace tiempo que fue escrito hace mucho tiempo). Para mí es importante aclarar la cuestión.

 
Urain:

Parece que el asunto no está en el apalancamiento, ya que el beneficio sube muy rápido, concluyo que en el 1er lote hay 100 contratos, mientras que en forex en el 1er lote hay 1 contrato.


Como se comentó en un hilo vecino, el apalancamiento determina la posibilidad de abrir un volumen mayor. Y el beneficio se cuenta simplemente en volumen por pip. Bueno, también está el TickValue, es importante si la cuenta está en euros.

No, el valor del contrato es bastante estándar en todas partes - 100 000 unidades de lamoneda base. 100 unidades para las acciones. Excepto que Insta tiene un tamaño diferente en la divisa.

En cualquier caso, esperar una respuesta.

No es lógico cobrar 20 000 por un lote de estas acciones. Las matemáticas son correctas. 200 * 100 =20.000, y sin apalancamiento. ¿Dónde se ha ido?

 
Karlson:

Como se discutió en un hilo vecino, el apalancamiento determina la posibilidad de abrir un volumen mayor. Y el beneficio se cuenta simplemente en volumen por pip. Bueno, también hay TickValue. Es importante si la cuenta está en euros.

No, el valor del contrato es bastante estándar en todas partes - 100 000 unidades de lamoneda base. 100 unidades para las acciones. Excepto que Insta tiene un tamaño diferente en la divisa.

En cualquier caso, esperar una respuesta.

No es lógico cobrar 20 000 por un lote de estas acciones. Las matemáticas son correctas. 200 * 100 =20.000, y sin apalancamiento. ¿Dónde se ha ido?

TickValue en metales es diferente, en fondos y forex es 1 cada uno.

Si no hubiera apalancamiento, el beneficio no crecería como crece, imagina que abres 0,2 lotes en el forex son 20 000$ y el mismo volumen en el fondo, y en el fondo a partir de tal depósito el beneficio crece como a partir de 100 000$ en el forex. así que el apalancamiento funciona, pero el tamaño del contrato está especificado incorrectamente, o más bien no se tiene en cuenta algún coeficiente.

Quizás efectivamente el fondo tiene un contrato estándar de 100 acciones, pero con una orden de 1 lote se abren 100 contratos estándar. No tengo otra explicación (aunque esto es una suposición).

ZЫ aquí sin "pallitra" y "ayuda de la sala" es imposible resolver.