Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1423

 

Informe um exemplo de uso dessa função no EA.

bool  FrameAdd( 
   const string  name,        // публичное имя/метка 
   long          id,          // публичный id 
   double        value,       // значение 
   const string  filename     // имя файла с данными 
   );
 
mwwm #:

Informe um exemplo de uso dessa função no EA.

Você pode dar uma olhada aqui.

Оцениваем ядра CPU для оптимизации - Попробуйте скомпилировать советники на Phenom 2 x4 975.
Оцениваем ядра CPU для оптимизации - Попробуйте скомпилировать советники на Phenom 2 x4 975.
  • 2022.09.29
  • www.mql5.com
должно получиться 6 результатов оптимизации - приложите логи журнала тестера стратегий. то проведите оптимизацию отдельно в течении часа - интересно сопоставить расчетное время на оптимизацию с реальным. По поводу журнала - вероятно не стоит галка - ставиться по нажатию ПКМ во вкладке Тестера стратегий
 
Olá!
Por favor, ajude-me a entender o que estou fazendo de errado!

Assim que eu colo um comentário no código anexado abaixo, meu robô para de funcionar.
Sem o comentário, tudo funciona. Altero a conta para normal e falsa.
O que estou fazendo de errado?
   void OnTick()
     {
      if(AccountInfoInteger(ACCOUNT_LOGIN) != 12345678)
         Comment("На этом счете - робот не работает");
      return;
     }
 
Sprut 185 #:
Olá!
Por favor, ajude-me a entender o que estou fazendo de errado!

Assim que eu colo um comentário no código anexado abaixo, meu robô para de funcionar.
Sem o comentário, tudo funciona. Altero a conta para normal e falsa.
O que estou fazendo de errado?


https://www.mql5.com/ru/search#!keyword=ACCOUNT_LOGIN&module=mql5_module_forum

 
Sprut 185 #:
Olá!
Por favor, ajude-me a entender o que estou fazendo de errado!

Assim que eu colo um comentário no código anexado abaixo, meu robô para de funcionar.
Sem o comentário, tudo funciona. Altero a conta para normal e falsa.
O que estou fazendo de errado?
 

Você esqueceu os parênteses no if. Se não for igual à pontuação, então comente e depois retorne. E se não for igual à pontuação, ele continua e bate em retourn.

void OnTick()
     {
      if(AccountInfoInteger(ACCOUNT_LOGIN) != 12345678) 
     {
         Comment("На этом счете - робот не работает");
      return;
     }
     }
 
Valeriy Yastremskiy #:

Depois disso, o OnTick é concluído e aguarda o próximo tique. Ele não vai além disso!!!!

Obrigado!!! Já descobri tudo, consertei e agora funciona.

Foi apenas uma falha que subiu à minha cabeça.

 

Você pode me dizer se é possível fazer uma chamada do Expert Advisor

void OnTradeTransaction()

a partir de um arquivo externo?

Criei um arquivo de teste *mqh e o adicionei lá.

void OnTradeTransaction(const MqlTradeTransaction &trans,

                        const MqlTradeRequest &request,

                        const MqlTradeResult &result)

  {

  }

No Expert Advisor, adicionei esse arquivo

#include <тест.mqh>

Mas o OnTradeTransaction não é chamado a partir do Expert Advisor.

Como fazer isso corretamente?

 
TrederMT5 OnTradeTransaction não é executada.

Como fazer isso corretamente?

Eu faria o contrário. No arquivo .mqh, escreva uma classe, por exemplo, CTest no arquivo test.mqh.

Conectar a classe

#include <test.mqh>
CTest onTest;


void CTest::MyOnTradeTransaction(const MqlTradeTransaction &trans,
                                 const MqlTradeRequest &request,
                                 const MqlTradeResult &result)

  {

  }

E a partir do EA, na função OnTradeTransaction, chame minha função

/*********************TradeTransaction function**********************/
void OnTradeTransaction(const MqlTradeTransaction& trans,
                        const MqlTradeRequest& request,
                        const MqlTradeResult& result)
 {
      onTest.MyOnTradeTransaction(trans, request, result);
 }/******************************************************************/
 
Alexey Viktorov #:

Eu faria o contrário. No arquivo .mqh, eu escreveria uma classe, por exemplo, CTest no arquivo test.mqh.

Conectando a classe


E no EA, a partir da função OnTradeTransaction, chame minha função

Muito obrigado
 

Eu me atrevi a experimentar um primeiro EA simples e ele funciona perfeitamente.

Mas quando faço o upload para o MQL no mercado, recebo uma mensagem de erro:


Por que isso acontece? Isso se deve à conta de compensação?

Já li algumas postagens do fórum sobre isso, mas não entendo o problema.

O volume é fixado pelo EA. Nem mesmo 0,01 lote etc. funciona.
Ficaria grato se alguém pudesse me ajudar.

Razão: