Eu o parabenizo por todo o seu trabalho árduo... esse foi um projeto e tanto.
Estou apenas começando e estou tentando compilar o TestDoEasyPart101.mq5 ... Estou recebendo os quatro erros a seguir:
1) CTrading::OpenPosition<...... (não é possível acessar a função de membro privado)
Todos os outros erros são basicamente os mesmos, portanto, devo estar tendo um problema de caminho, mas não consigo identificá-lo.
Copiei os arquivos DoEasy para incluir, de modo que a hierarquia é a seguinte:
MQL5\Include\DoEasy\todos os arquivos que estavam em sua pasta DoEasy sob o include
Eu fiz o seguinte no topo do arquivo TradingControl.mqh: #include <DoEasy\trading.mqh>
O que pode ser o meu problema... como eu disse, parece que você fez pelo menos 100 artigos para construir o que você tem no início deste artigo... alguma sugestão sobre como fazer isso compilar?
Obrigado
Dean Fredrickson
Estou começando agora e estou tentando compilar o TestDoEasyPart101.mq5 ... Estou recebendo os 4 erros a seguir:
1) CTrading::OpenPosition<...... (não é possível acessar a função de membro privado)
Todos os outros erros são basicamente os mesmos, portanto, devo estar tendo um problema de caminho, mas não consigo identificá-lo.
Copiei os arquivos DoEasy para inclusão, de modo que a hierarquia é a seguinte:
MQL5\Include\DoEasy\todos os arquivos que estavam em sua pasta DoEasy sob o include
Fiz o seguinte no topo do arquivo TradingControl.mqh: #include <DoEasy\trading.mqh>
O que pode ser o meu problema... como eu disse, parece que você fez pelo menos 100 artigos para construir o que você tem no início disso... alguma sugestão sobre como fazer isso compilar?
Muito obrigado
Dean Fredrickson
No arquivo Trading.mqh, faça as seguintes alterações:
//--- (1) Открывает позицию, (2) устанавливает отложенный ордер protected : template < typename SL, typename TP> bool OpenPosition( const ENUM_POSITION_TYPE type, const double volume, const string symbol, const ulong magic= ULONG_MAX , const SL sl= 0 , const TP tp= 0 , const string comment= NULL , const ulong deviation= ULONG_MAX , const ENUM_ORDER_TYPE_FILLING type_filling= WRONG_VALUE ); template < typename PR, typename PL, typename SL, typename TP> bool PlaceOrder( const ENUM_ORDER_TYPE order_type, const double volume, const string symbol, const PR price, const PL price_limit= 0 , const SL sl= 0 , const TP tp= 0 , const ulong magic= ULONG_MAX , const string comment= NULL , const datetime expiration= 0 , const ENUM_ORDER_TYPE_TIME type_time= WRONG_VALUE , const ENUM_ORDER_TYPE_FILLING type_filling= WRONG_VALUE ); private : //--- Возвращает индекс объекта-запроса в списке по (1) идентификатору, //--- (2) тикету ордера, (3) тикету позиции в запросе int GetIndexPendingRequestByID( const uchar id); int GetIndexPendingRequestByOrder( const ulong ticket); int GetIndexPendingRequestByPosition( const ulong ticket); public : //--- Возвращает себя CTrading *GetObject( void ) { return & this ; } //--- Конструктор CTrading();
Isso permitirá que os métodos sejam visíveis nas classes derivadas.
O erro foi introduzido por mim devido à falta de atenção, mas o compilador antigo não percebeu. Depois de atualizar o terminal, o compilador viu esse erro.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo DoEasy. Controles (Parte 1): Primeiros passos foi publicado:
Com este artigo, iniciamos um tópico extenso sobre a criação de controles em MQL5 com base no estilo do Windows Forms. E vamos começar criando uma classe-painel. Tudo já está se tornando difícil sem a presença de controles. Por isso, criaremos todos os controles possíveis no estilo do Windows Forms.
Compilamos o Expert Advisor e o iniciamos no gráfico:
As formas reagem ao movimento do mouse e são sempre colocadas em cima dos objetos gráficos adicionados ao gráfico. Os preenchimentos de gradiente de objetos-elementos são desenhados corretamente e a cor do objeto-painel é única. Mas no nosso caso, nem os elementos nem o painel reagem ao mouse e ficam em segundo plano sob todos os objetos gráficos. Isso ocorre porque apenas manipulamos eventos de mouse para objetos-formas. E mesmo o fato de o painel ser essencialmente também uma forma não importa, pois no manipulador processamos explicitamente apenas a classe CForm. Tudo isso será corrigido mais adiante.
Autor: Artyom Trishkin