Discussão do artigo "Outra classe OOP do MQL5"

 

Novo artigo Outra classe OOP do MQL5 foi publicado:

Este artigo mostra como construir um Expert Advisor orientado a objeto desde o começo, desde conceber a ideia da negociação teórica até a programação de um MQL EA que torne esta ideia real no mundo empírico. Aprender fazendo é, na minha opinião, uma abordagem sólida para o sucesso, então, mostro em um exemplo prático para que você veja como pode organizar suas ideias para finalmente codificar seus robôs Forex. Meu objetivo é convidá-lo a aderir aos princípios de OO.

Construindo um CE completo orientado a objeto que funcione de fato é em minha humilde opinião uma tarefa desafiadora que requer muitas habilidades todas unidas: raciocínio lógico, pensamento divergente, capacidade para análise e síntese, imaginação, etc. Digamos que se o sistema de negociação automatizado que devemos resolver fosse um jogo de xadrez, sua ideia de negociação seria a estratégia do xadrez. E a execução da estratégia de xadrez através de táticas seria a programação do robô através do uso de indicadores técnicos, figuras de gráficos, ideias econômicas fundamentais e axiomas conceituais.

Detalhe de A escola de Atenas por Raffaello Sanzio

Autor: Jordi Bassaganas

[Excluído]  

Bom artigo. Muito obrigado.

 
FinGeR:

Bom artigo. Obrigado.

+1
 
Concordo com você....ótimo trabalho. Obrigado.
 

Boa tarde!

No arquivo CSimpleRandom.mqh , o autor omitiu a criação de um objeto da classe CPositionInfo

82 строчка  m_positionInfo=new CPositionInfo();

Sem ele, o Expert Advisor gerou o erro de acesso de ponteiro inválido em 'CSimpleRandom.mqh' .

Ou ele omitiu isso de propósito para que os iniciantes pudessem praticar? Se sim, ele foi bem-sucedido =)


 
vp999369 CPositionInfo

Sem ele, o Expert Advisor gerou o erro de acesso a ponteiro inválido em 'CSimpleRandom.mqh'

Ou ele omitiu isso de propósito para que os iniciantes pudessem praticar? Se sim, ele foi bem-sucedido =)


No arquivo de classe CSimplrRandom, você sugere a criação de um objeto da mesma classe? Isso não está correto.

Consulte o arquivo \MQL5\Experts\Expertsimplerandom.mq5. Ele contém a criação de um objeto dessa classe. Linha 23:

//+------------------------------------------------------------------+
//|ExpertSimpleRandom.mq5
//|Direitos autorais © 2013, Jordi Bassagaças |
//+------------------------------------------------------------------+

#property copyright     "Copyright © 2013, laplacianlab"
#property link          "http://www.mql5.com/en/articles"
#property version       "1.00"

#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\PositionInfo.mqh>
#include <Indicators\Indicators.mqh>
#include <Mine\Enums.mqh>
#include <..\Experts\SimpleRandom\CSimpleRandom.mqh>

input int               StopLoss;
input int               TakeProfit;
input double            LotSize;
input ENUM_LIFE_EA      TimeLife;

MqlTick tick;
CSimpleRandom *SR=new CSimpleRandom(StopLoss,TakeProfit,LotSize,TimeLife);
//+------------------------------------------------------------------+
//| Função de inicialização|
//+------------------------------------------------------------------+


Compile e execute o Expert Advisor \MQL5\Experts\Expertsimplerandom.mq5.

 
Ah, não, eu não o entendi. De fato, você precisa adicionar a criação do objeto de classe.
 
vp999369 CPositionInfo

Sem ele, o Expert Advisor gerou o erro de acesso a ponteiro inválido em 'CSimpleRandom.mqh'

Ou ele omitiu isso de propósito para que os iniciantes pudessem praticar? Se sim, ele foi bem-sucedido =)


Os arquivos do artigo foram reenviados. Obrigado pela mensagem.