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

 
Aleksey Vyazmikin #:

Acho que o que o OnTick quis dizer foi.

Sim, é isso mesmo, está embaçado.

 
Alexey Viktorov #:

É para isso que muitas pessoas começam a aprender uma linguagem de programação. E acontece que, para que você possa testar sua ideia ilusória, alguém precisa se sentar para escrever. É claro que você pode encontrar um entusiasta que escreva para praticar a escrita, por tédio ou por qualquer outro motivo... Mas se você concordar e conseguir uma estratégia por meio da LS, percebendo que ela não funcionará, recusar-se-á a escrever, então suspeitará que foi enganado, que tem uma estratégia lucrativa e que está na moita. E quem precisa dessa atitude? Se você publicar uma estratégia e alguém se interessar, você terá sorte. E assim, por seu dinheiro, qualquer capricho....

Você é uma pessoa interessante.

Portanto, você tem entusiasmo suficiente para esse indicador) https://c.mql5.com/1/237/vgif-ru-19978.gif.

E você não quer inserir duas linhas de código no RSI para praticar a escrita, por tédio ou por algum outro motivo...

 
FYFRX #:

Você é um homem interessante.

Portanto, você tem entusiasmo suficiente para esse indicador) https://c.mql5.com/1/237/vgif-ru-19978.gif

E você não quer inserir duas linhas de código no RSI para praticar a escrita, por tédio ou por algum outro motivo...

Bem, se você sabe que são duas linhas, deve saber quais são elas e onde inseri-las.

 

Bom dia e bom humor a todos!

Ontem houve uma confusão com meu Expert Advisor. Até ontem, ele estava sendo testado há quase um mês sem nenhum problema, mas, mais perto da noite, de repente, o cálculo do risco dependendo da margem livre parou de funcionar corretamente e o EA começou a abrir posições com o lote máximo possível. Decidi escrever uma função de verificação para permitir a negociação sob determinadas condições e excluir esses "presentes". Eu a escrevi e a adicionei ao código do EA. Não sei se essa função ajudou ou se algo mais aconteceu enquanto a escrevia, mas o trabalho do Expert Advisor se normalizou.

Solicitação à comunidade respeitada!

Por favor, dê uma olhada no código e informe o que mais deve ser adicionado à função para excluir esses "presentes" para negociação em uma conta real?

bool Check_Trading()
  {
   bool canTrade=false;
   if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
     {
      Print("Ошибка разрешения торговли для текущего счёта!", GetLastError());
      canTrade=false;
     }
   if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
     {
      Print("Ошибка разрешения торговли для эксперта!", GetLastError());
      canTrade=false;
     }
   if(!AccountInfoInteger(ACCOUNT_MARGIN_MODE)==ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)
     {
      Print("Ошибка при проверке режима расчёта маржи для счёта с режимом хэдж!", GetLastError());
      canTrade=false;
     }
   if(!AccountInfoDouble(ACCOUNT_MARGIN_FREE))
     {
      Print("Ошибка при получении размера свободных средств для открытия позиции!", GetLastError());
      canTrade=false;
     }
   if(!SymbolInfoInteger(_Symbol,SYMBOL_TRADE_CALC_MODE)==SYMBOL_CALC_MODE_FOREX)
     {
      Print("Ошибка способа расчета прибыли и маржи для рынка Форекс по текущему символу!", GetLastError());
      canTrade=false;
     }
   if(!SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_HEDGED))
     {
      Print("Ошибка расчета маржи для позиций по текущему символу для счёта с режимом хэдж!", GetLastError());
      canTrade=false;
     }
   if(!SymbolIsSynchronized(_Symbol))
     {
      Print("Ошибка синхронизации данных по текущему символу!", GetLastError());
      canTrade=false;
     }
   canTrade=true;
   return(canTrade);
  }

Atenciosamente, Vladimir.

 

Não consigo entender como e o que ele precisa, ele pega e lê um arquivo da pasta Tester\Agent... no TERMINAL_DATA_PATH, mas eu preciso lê-lo no TERMINAL_PATH e não posso usar o caminho absoluto.


 
mwwm #:

Não consigo entender como e o que ele precisa, ele pega e lê um arquivo da pasta Tester\Agent... no TERMINAL_DATA_PATH, mas eu preciso lê-lo no TERMINAL_PATH e não posso usar o caminho absoluto.

Se você precisar trabalhar com arquivos durante o teste, é mais conveniente usar uma pasta comum de todos os terminais e agentes para essa finalidade. Para fazer isso, basta adicionar o sinalizador FILE_COMMON às operações de abertura de arquivos.

Você pode acessar essa pasta para colocar os arquivos necessários nela a partir do menu principal do MetaEditor: FileOpen common data folder

 
Yuriy Bykov #:

Se for necessário trabalhar com arquivos durante o teste, é mais conveniente usar uma pasta comum de todos os terminais e agentes para essa finalidade. Para isso, basta adicionar o sinalizador FILE_COMMON nas operações de abertura de arquivos.

Você pode acessar essa pasta para colocar os arquivos necessários nela a partir do menu principal do MetaEditor: FileOpen common data folder

Obrigado!)

 
FYFRX #:

Você é um homem interessante.

Portanto, você tem entusiasmo suficiente para tal indicador) https://c.mql5.com/1/237/vgif-ru-19978.gif

E você não quer inserir duas linhas de código no RSI para praticar a escrita, por tédio ou por algum outro motivo...

Essa criação não é minha. Você se lembra da Monna Lisa no filme "Office Romance"?

Quanto às duas linhas, eu já expliquei a você.

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.

Perguntas dos iniciantes em MQL5 MT5 MetaTrader 5

Alexey Viktorov, 2023.01.30 07:17 AM

Essa é a razão pela qual muitas pessoas começam a aprender uma linguagem de programação. E acontece que, para que você possa testar sua ideia ilusória, alguém vai se sentar para escrever. É claro que você pode encontrar um entusiasta que escreva para praticar a escrita, por tédio ou por algum outro motivo... Mas se você concordar e passar pela estratégia LS, percebendo que não funcionará se recusar a escrever, então você suspeitará que foi enganado, terá uma estratégia lucrativa e entrará na moita. E quem precisa dessa atitude? Se você publicar uma estratégia e alguém se interessar, você terá sorte. Mas, para seu dinheiro, qualquer capricho...

Escreva esses desejos em qualquer tópico sobre criação de código livre e alguém certamente responderá. Provavelmente eu também. Embora seja improvável, não estarei aqui por 2 ou 3 dias...
 
MrBrooklin permitir a negociação sob certas condições e excluir esses "presentes". Eu a escrevi e a adicionei ao código do EA. Não sei se essa função ajudou ou se algo mais aconteceu enquanto eu a estava escrevendo, mas o trabalho do Expert Advisor foi normalizado.

Solicitação à respeitada comunidade!

Por favor, dê uma olhada no código e informe o que mais deve ser adicionado à função para excluir esses "presentes" para negociação em uma conta real?

Atenciosamente, Vladimir.

Vladimir, como você

   if(!AccountInfoDouble(ACCOUNT_MARGIN_FREE))

convertido em tipo bool

ACCOUNT_MARGIN_FREE

A quantia de fundos livres na conta na moeda de depósito disponível para abrir uma posição.

double


Foi nisso que meu olho se deparou. Não quero nem dar uma olhada no resto...

 
Alexey Viktorov #:

Vladimir, como você converteu isso em um tipo bool?

ACCOUNT_MARGIN_FREE

Quantidade de fundos livres na conta na moeda de depósito disponível para abrir uma posição

double


Foi com isso que me deparei. Não quero nem dar uma olhada no resto....

Oi Alexey, eu estava pensando assim - se os fundos livres na conta na moeda de depósito disponível para abrir uma posição são suficientes, então é verdade. Agora percebo que esse valor é apenas para cálculos. Obrigado pela dica.

Atenciosamente, Vladimir.