Discusión sobre el artículo "Trabajando con las series temporales en la biblioteca DoEasy (Parte 38): Actualización en tiempo real y acceso a los datos desde el programa"

 

Artículo publicado Trabajando con las series temporales en la biblioteca DoEasy (Parte 38): Colección de series temporales - Actualización en tiempo real y acceso a los datos desde el programa:

En el artículo, analizaremos la actualización en tiempo real de los datos de las series temporales, así como el envío de mensajes sobre el evento "Nueva barra" al gráfico del programa de control de todas las series temporales de todos los símbolos para poder procesar estos eventos en nuestros propgramas. Para determinar la necesidad de actualizar las series temporales para el símbolo y los periodos del gráfico no actuales, usaremos la clase "Nuevo tick".

Compilamos el asesor y establecemos en sus parámetros:

  • en Mode of used symbols list, el uso de la lista de símbolos indicada,
  • en la lista List of used symbols (comma - separator), dejamos solo tres símbolos, uno de los cuales será EURUSD, y
  • en Mode of used timeframes list, seleccionamos el trabajo solo con el marco temporal actual, por ejemplo:


Iniciamos el asesor en el gráfico. Transcurrido cierto tiempo, en el diario se muestran los mensajes sobre el evento "Nueva barra" en los símbolos utilizados para el gráfico de símbolos actual:

New bar on EURUSD M5: 2020.03.11 12:55
New bar on EURAUD M5: 2020.03.11 12:55
New bar on AUDUSD M5: 2020.03.11 12:55
New bar on EURUSD M5: 2020.03.11 13:00
New bar on AUDUSD M5: 2020.03.11 13:00
New bar on EURAUD M5: 2020.03.11 13:00

Iniciamos el asesor en el modo visual del simulador en el gráfico de uno de los símbolos seleccionados en los ajustes, por ejemplo en EURUSD, y miramos cómo cambian los datos de la barra cero en los comentarios del gráfico:


Como podemos ver, ambas líneas, cuyos datos han sido recibidos de forma distinta, tienen valores idénticos para las propiedades obtenidas de la barra cero, y se actualizan en tiempo real en cada tick.

Autor: Artyom Trishkin

 

Este es el nombre más desafortunado para una biblioteca, ¡JAMÁS!

:)

 
Flavio Jarabeck :

Este es el nombre más desafortunado para una biblioteca, ¡JAMÁS!

:)

¿Por qué?

 

Entiendo que m_chart_id_main hace referencia al gráfico en el que se ejecuta el programa, pero ¿por qué es necesario en todos los objetos de la biblioteca (dado que derivan de la clase CBaseObj)?

Además, ¿podría aclarar cómo piensa utilizar m_chart_id en el futuro?

class CBaseObj : public CObject
  {
// ...
   long              m_chart_id_main;                          // ID del gráfico del programa de control
   long              m_chart_id;                               // ID del gráfico 
 
Dima Diall:

Entiendo que m_chart_id_main hace referencia al gráfico en el que se ejecuta el programa, pero ¿por qué es necesario en todos los objetos de la biblioteca (dado que derivan de la clase CBaseObj)?

Además, ¿podría aclarar cómo piensa utilizar m_chart_id en el futuro?

Para el futuro. Graphic obj ... etc
 
Artyom Trishkin:
Para el futuro. Objeto gráfico ... etc

¿Tienes la intención de reemplazar parte o toda la capacidad de gráficos de MT4/MT5 con el shell gráfico mencionado en algunos de tus artículos? Si es así, ¿va a funcionar tanto en vivo como en el probador? Sólo curiosidad por entender un poco más acerca de sus ideas y planes para esta biblioteca ;-)

 
Dima Diall :

¿Pretende reemplazar parte o toda la capacidad de gráficos de MT4/MT5 con el shell gráfico mencionado en algunos de sus artículos? Si es así, ¿va a funcionar tanto en vivo como dentro del probador? Sólo curiosidad por entender un poco más acerca de sus ideas y planes para esta biblioteca ;- )

De momento no hay nada planeado. Esperar y ver...

 

Poner lote 0.01 en mt4 clic boya stop orden abierta 0.02

2021.01.22 19:31:29.883 TestDoEasyPart38 EURUSD,H1: open #1519653952  buy stop 0.02 EURUSD at 1.21782 sl: 1.21632 tp: 1.21932 ok
2021.01.22 19:31:24.767 TestDoEasyPart38 EURUSD,H1 inputs: InpMagic=123; InpLots=0.01; InpStopLoss=150; InpTakeProfit=150; InpDistance=50; InpDistanceSL=50; InpDistancePReq=50; InpBarsDelayPReq=5; InpSlippage=5; InpSpreadMultiplier=1; InpTotalAttempts=5; InpWithdrawal=10.0; InpButtShiftX=0; InpButtShiftY=10; InpTrailingStop=50; InpTrailingStep=20; InpTrailingStart=0; InpStopLossModify=20; InpTakeProfitModify=60; InpModeUsedSymbols=0; InpUsedSymbols=EURUSD,AUDUSD,EURAUD,EURCAD,EURGBP,EURJPY,EURUSD,GBPUSD,NZDUSD,USDCAD,USDJPY; InpM
 
BillionerClub:

Poner lote 0.01 en mt4 clic boya stop orden abierta 0.02

¿Cuál es el lote mínimo en EURUSD en DC?

 
Artyom Trishkin:

¿Cuál es el lote mínimo en EURUSD en DC?

0.01

Print("Tamaño mínimo del lote=",MarketInfo(Symbol(),MODE_MINLOT)); 
2021.01.23 12:09:05.203 Test EURUSD,M15: Ìèíèìàëüíûé ðàçìåð ëîòà= 0.01
 
BillionerClub:

0.01

De acuerdo. ¿En qué EA ocurre esto?