Discussão do artigo "Trabalhando com séries temporais na biblioteca DoEasy (Parte 38): coleção de séries temporais - atualização em tempo real e acesso aos dados do programa"

 

Novo artigo Trabalhando com séries temporais na biblioteca DoEasy (Parte 38): coleção de séries temporais - atualização em tempo real e acesso aos dados do programa foi publicado:

No artigo, consideraremos a atualização em tempo real dos dados das séries temporais, bem como o envio de mensagens sobre o evento "Nova Barra" para o gráfico do programa de controle, a partir de todas as séries temporais de todos os símbolos, a fim de processar estes eventos nos programa. Para determinar se necessário atualizar séries temporais para símbolos e períodos inativos, usaremos a classe "Novo tick".

Compilamos o EA e nos seus parâmetros definimos:

  • em Mode of used symbols list o uso de uma determinada lista de símbolo,
  • na lista List of used symbols (comma - separator) deixaremos apenas três símbolo, um dos quais é EURUSD e
  • em Mode of used timeframes list optaremos por trabalhar apenas com o período atual, assim:


Iniciamos o EA no gráfico. Depois de um tempo, no log serão exibidas as mensagens sobre o evento "Nova Narra" nos símbolos usados para o gráfico atual:

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 o EA no modo visual do testador no gráfico de um dos símbolos selecionados nas configurações, por exemplo, EURUSD, e vemos como são alterados os dados da barra zero no comentário no gráfico:


Como podemos ver, as duas linhas (cujos dados são obtidos de maneiras diferentes) têm valores idênticos quanto às propriedades obtidas da barra zero e são atualizados em tempo real a cada tick.

Autor: Artyom Trishkin

 

Esse é o nome mais infeliz para uma biblioteca, SEMPRE!

:)

 
Flavio Jarabeck :

Esse é o nome mais infeliz para uma biblioteca, SEMPRE!

:)

Por quê?

 

Entendo que m_chart_id_main se refere ao gráfico em que o programa está sendo executado, mas por que isso é necessário em todos os objetos da biblioteca (já que eles derivam da classe CBaseObj)?

Além disso, você pode esclarecer como pretende usar o m_chart_id no futuro?

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

Entendo que m_chart_id_main se refere ao gráfico no qual o programa está sendo executado, mas por que isso é necessário em todos os objetos da biblioteca (já que eles derivam da classe CBaseObj)?

Além disso, você pode esclarecer como pretende usar o m_chart_id no futuro?

Para o futuro. Obj gráfico ... etc
 
Artyom Trishkin:
Para o futuro. Objeto gráfico... etc

Você pretende substituir parte ou todo o recurso de gráficos do MT4/MT5 pelo shell gráfico mencionado em alguns de seus artigos? Em caso afirmativo, ele funcionará ao vivo e dentro do testador? Estou curioso para entender um pouco mais sobre suas ideias e planos para essa biblioteca ;-)

 
Dima Diall :

Você pretende substituir parte ou todo o recurso de gráficos do MT4/MT5 pelo shell gráfico mencionado em alguns de seus artigos? Se sim, ele funcionará ao vivo e dentro do testador? Estou curioso para entender um pouco mais sobre suas ideias e planos para essa biblioteca ;- )

Nada planejado até o momento. Esperar para ver...

 

Colocou o lote 0,01 no mt4 e clicou na ordem de parada de boia aberta 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:

Coloquei o lote 0,01 no mt4, cliquei na ordem de parada da boia e abri 0,02

Qual é o lote mínimo para EURUSD no DC?

 
Artyom Trishkin:

Qual é o lote mínimo em EURUSD no DC?

0.01

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

0.01

Certo. Em que EA isso está acontecendo?