Discusión sobre el artículo "Experto comercial con interfaz gráfica: Llenando la funcionalidad (Parte II)" - página 2

 
Dennis Kirichenko:

Rashid, gracias por tu comentario. Entonces en mi caso el cálculo está en el lado más grande (Comprar):


El segundo caso tiene en cuenta el hecho de que vendimos barato, por lo que el precio de las compras restantes se hizo mayor.

Bueno, es simple aquí - vamos a tener un montón de órdenes en EURUSD. Calculamos por separado para cada dirección y obtenemos

  1. posición total Compra 20 lotes a 1.2000 = Compra 15 lotes a 1.2000 + Compra 5 lotes a 1.2000
  2. posición total de venta 15 lotes a 1.2200
Anilizando los volúmenes iguales quedan 5 lotes a 1,2000. ¿Qué hay de erróneo en mi razonamiento? Abrir un montón de posiciones el lunes y ver cómo cambiará el beneficio/pérdida flotante con un cambio de 1 pip en el precio.
 
Rashid Umarov:

Bueno, es simple - digamos que tenemos un montón de órdenes en EURUSD. Calculamos por separado para cada dirección y obtenemos:

  1. posición total Compra 20 lotes a 1.2000 = Compra 15 lotes a 1.2000 + Compra 5 lotes a 1.2000
  2. posición total de venta 15 lotes a 1.2200
Anilizando los volúmenes iguales quedan 5 lotes a 1,2000. ¿Qué hay de erróneo en mi razonamiento? Abrir un montón de posiciones el lunes y ver cómo cambiará el beneficio/pérdida flotante con un cambio de precio de 1 pip.

Este es un sistema en MT5 de cobertura: las posiciones contrarias se cancelan por volúmenes nominales.

También hay una alternativa, sobre la que escribí en el post anterior. Tiene en cuenta el valor de cada volumen comprado/vendido. El resultado es la relación entre el valor del volumen y el volumen nominal.

 
Dennis Kirichenko:

Se trata de un sistema de este tipo en MT5 hedging: las contraposiciones son aniquiladas por los volúmenes nominales .

Usted puede escribir en palabras claras. Aquí no entiendo nada. Gorbachov solía comunicarse así - un montón de palabras, pero no está claro.
 
Rashid Umarov:
Puedes escribir con palabras que tengan sentido. Aquí no entiendo nada. Gorbachov solía hablar así: muchas palabras, pero no se entiende nada.

¡Perdón!

Compramos 20 lotes a 1.2000 dólares.

Los volúmenes nominales (volúmenes en moneda base) de la compra equivalen a 20*100 000 = 2 000 000 EUR. El valor de estos volúmenes en la divisa de cotización es igual a 1.2000 $*2.000.000 = 2.400.000 USD.

Por nominal me refería al valor de los volúmenes en la moneda base del símbolo.

 

Bueno, yo no soy un fan de perseguir números de ida y vuelta).

Por no hablar de los posibles errores de redondeo en este tipo de operaciones.

 
En el archivo CProgram.mgh cambié el indicador en lugar de iStohastic en las funciones "void CProgram::GetHandles(void)" y "void CProgram::GetIndicatorValues(void)" y escribí el indicador m_handles[i]=::iATR(m_symbols[i],StringToTimeframe(tf),5); Todo compilado bien, pero en la tabla en la columna "valores" solo hay ceros. ¿Qué he hecho mal?
 

Alexander:

...

¿Qué he hecho mal?

El búfer cero debe ser especificado para ATR:

//+------------------------------------------------------------------+
//| Obtiene los valores indicadores de todos los caracteres ||
//+------------------------------------------------------------------+
void CProgram::GetIndicatorValues(void)
  {
...
         //--- Intentemos obtener los valores de los indicadores
         double values[1];
         received=::CopyBuffer(m_handles[i],0,0,1,values);
...
  }
 

Saludos Anatoli,


¡gracias por todos sus grandes esfuerzos! ¡Te lo agradezco mucho! :)

Tengo una pregunta: ¿Dónde se define ON_END_CREATE_GUI? No lo encuentro en ninguna fuente de tu última versión Build 16 (tampoco en ninguna fuente de Build 15).

Hasta ahora he descargado el código fuente de la build 16 de https://www.mql5.com/en/articles/3527

y luego he descargado sus cambios en los artículos

https://www.mql5.com/es/articles/4715 y
https://www.mql5.com/es/articles/4727.

¿Qué me estoy perdiendo, puede usted u otra persona ayudar?

Saludos cordiales.


P.D.: Anatoly, ¿sería posible ofrecer un único archivo zip de actualización en lugar de ir añadiendo trozos en varios artículos? Me resulta bastante difícil "seguir" todos tus cambios... :)

Ein Expert Advisor mit GUI: Erstellen des Panels (Teil I)
Ein Expert Advisor mit GUI: Erstellen des Panels (Teil I)
  • www.mql5.com
Trotz der aktiven Entwicklung des algorithmischen Handels bevorzugen viele Händler immer noch den manuellen Handel. Die Automatisierung von Routineaufgaben lässt sich jedoch kaum ganz vermeiden. Der Artikel zeigt die Entwicklung eines Expert Advisor mit Signalen von mehreren Symbolen für den manuellen Handel. Als Beispiel verwenden wir die...
 

Es muy sencillo:

1) cerca de ON_END_CREATE_GUI hay un enlace en la parte superior, un poco más arriba el enlace EasyAndFast

y luego el archivo Defines.mqh, eso es todo.

[Eliminado]  

Estimados desarrolladores Por favor, preste atención al siguiente error. Si el nombre del Asesor Experto de este artículo se deja TradePanel - el Asesor Experto se inicia (build 2280). Sin embargo, si se cambia el nombre, por ejemplo, TradePanel_part_II - el Asesor Experto compila pero no se inicia. Se escribe lo siguiente en el registro:

2020.02.11 19:18:02.987 TradePanel_part_II (RTS Splice,M1) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CSeparateLine): 4016

2020.02.11 19:18:02.987 TradePanel_part_II (RTS Splice,M1) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CSeparateLine): 4016

2020.02.11 19:18:03.042 TradePanel_part_II (RTS Splice,M1) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CButton): 4016

2020.02.11 19:18:03.042 TradePanel_part_II (RTS Splice,M1) OnInit > Could not create the GUI!

Si nombra el Asesor Experto, por ejemplo, TradePanel 2, todo es normal. Parece que ciertos nombres causan problemas con los recursos.