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

 
SEM:

Tentar normalizar TakeProfit para Venda

SYMBOL_DIGITS é também uma constante. NÃO devolve"o número de casas decimais numa citação simbólica". Diz SymbolInfoInteger() qual o valor da propriedade de carácter inteiro a devolver.
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как...
 
Artyom Trishkin:
SYMBOL_DIGITS é também uma constante. NÃO devolve o valor "número de casas decimais numa citação simbólica". Diz SymbolInfoInteger() qual o valor da propriedade de carácter inteiro a devolver.

OK, então como se normaliza o TP para Venda?

  Print(NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_POINT),(int)SymbolInfoInteger(Symbol(),SYMBOL_DIGITS)));

também devolve pouco claro = (EURUSD,M15) 1e-05

 
SEM:

Ok, então como normalizar o TP para Venda?

também devolve pouco claro = (EURUSD,M15) 1e-05

1e-05 é um para a quinta potência negativa, ou seja, 0,00001. O que lhe ensinaram na escola secundária?

 
SEM:

Ok, então como normalizar o TP para Venda?

também devolve um incompreensível = (EURUSD,M15) 1e-05

Normalizaram-no para o robô.

É necessário utilizar oDoubleToString para produzir as impressões

 Print(DoubleToString(SymbolInfoDouble(Symbol(),SYMBOL_POINT),(int)SymbolInfoInteger(Symbol(),SYMBOL_DIGITS)));
 
Vitaly Muzichenko:

Para o robô, normalizou-se.

É necessário utilizar oDoubleToString para produzir as impressões

Obrigado pela sua ajuda! Resumindo:

double _SYMBOL_POINT_ = SymbolInfoDouble(Symbol(),SYMBOL_POINT);
int _SYMBOL_DIGITS_   = (int)SymbolInfoInteger(Symbol(),SYMBOL_DIGITS);


{
  double _PriceCurrent_TakeProfit =NormalizeDouble(m_position.PriceOpen()-(TakeProfit*_SYMBOL_POINT_),_SYMBOL_DIGITS_) ;
  double _PriceCurrent=NormalizeDouble(m_position.PriceCurrent()-(TakeProfit*_SYMBOL_POINT_),_SYMBOL_DIGITS_);
}
 
Franklins100:

Esta é uma ideia, mas os testes cruzados não irão produzir resultados precisos, na minha opinião. Os testes, mais uma vez na minha opinião inexperiente, devem ser feitos numa versão final e completa. E aqui a questão é - como e por que parâmetros informáticos é possível acelerar o mais possível os testes, sem recorrer à utilização de energia de terceiros. GPU ou CPU?

Os testes cruzados são tão precisos como os testes directos. Se compreender todas as variáveis, especificar um passo aceitável para as variáveis ao dividi-las em grupos. Depois, dependendo da imagem 3D, pode seleccionar um ou mais grupos de valores para cada grupo de variáveis como resultado de execuções de teste. E, finalmente, faz-se um teste completo com alcance estreito e alta discrição de parâmetros.

Dirijo um Expert Advisor como este todos os sábados. Mais de 300 variáveis. Durante o dia, faço testes cruzados. Depois, dirijo o principal à noite. No domingo analiso os resultados. Analiso o que mudou em comparação com o conjunto da semana passada. E depois, dependendo da situação, por vezes faço testes adicionais. Estou a executar tudo em dois computadores.

No final, são necessárias cerca de 30 horas de máquina. Se eu o executasse directamente, penso que o computador congelaria :) durante cerca de duas semanas. Vai ter de fazer o que puder para que funcione.

A velocidade dos testes afecta o processador central (exactamente para MT5).

Demorei muito tempo a realizar os primeiros testes. Agora estou a geri-lo desde a última semana. Penso que cada EA tem as suas próprias subtilezas. Introduzi simplesmente coeficientes e os parâmetros básicos são muito raramente alterados. Acontece que me ajustei principalmente à volatilidade. Além disso, tenho um módulo de notícias sério com repartição individual por tipos de notícias, em vez das simples três estrelas :) Em geral, penso que "notícias" é o ponto mais fraco de todas as avaliações de impacto ambiental. Além disso, existem os períodos de "alteração de contratos", "expiração da opção". Vale também a pena trabalhar com eles.

 
Franklins100:

Esta é uma ideia, mas os testes cruzados não irão produzir resultados precisos, na minha opinião. Os testes, mais uma vez na minha opinião inexperiente, devem ser feitos numa versão final e completa. E aqui a questão é - como e por que parâmetros informáticos é possível acelerar o mais possível os testes, sem recorrer à utilização de energia de terceiros. GPU ou CPU?

Há um tópico sobre testes:Avaliação de núcleos de CPU para optimização

Оцениваем ядра CPU для оптимизации
Оцениваем ядра CPU для оптимизации
  • 2019.08.09
  • www.mql5.com
Предлагаю собрать статистику по производительности разных процессоров с целью оценки их эффективности для работы тестера стратегий в режиме оптимиз...
 
Vladimir Karputov:

Há um tópico sobre testes:Avaliação de núcleos de CPU para optimização

BenditO:

A validação cruzada é tão precisa como os testes directos. Se compreender todas as variáveis, especifica um passo aceitável para as variáveis quando as agrupa. Dependendo da vista 3D, pode seleccionar um ou mais grupos de valores para cada grupo de variáveis em função dos resultados. E, finalmente, faz-se um teste completo com alcance estreito e alta discrição de parâmetros.

Dirijo um Expert Advisor como este todos os sábados. Mais de 300 variáveis. Durante o dia, faço testes cruzados. Depois, dirijo o principal à noite. No domingo analiso os resultados. Analiso o que mudou em comparação com o conjunto da semana passada. E depois, dependendo da situação, por vezes faço testes adicionais. Estou a executar tudo em dois computadores.

No final, são necessárias cerca de 30 horas de máquina. Se eu o executasse directamente, penso que o computador congelaria :) durante cerca de duas semanas. Vai ter de fazer o que puder para que funcione.

A velocidade dos testes afecta o processador central (exactamente para MT5).

Demorei muito tempo a realizar os primeiros testes. Agora estou a geri-lo desde a última semana. Penso que cada EA tem as suas próprias subtilezas. Introduzi simplesmente coeficientes e os parâmetros básicos são muito raramente alterados. Acontece que me adapto principalmente à volatilidade. Além disso, tenho um módulo de notícias sério com repartição individual por tipos de notícias, em vez das simples três estrelas :) Em geral, penso que "notícias" é o ponto mais fraco de todas as avaliações de impacto ambiental. Além disso, existem também os períodos de "alteração de contratos", "expiração da opção". Também tenho de trabalhar com eles.

Muito obrigado.

 

Bom dia a todos!

Estou a tentar aprender coisas elementares na MQL5, mas de repente encontrei uma mensagem de aviso exibida na imagem anexada ao compilar código copiado da Referência MQL5.

Pergunto-me se haverá também alguns erros na Referência MQL5. Por favor, pode dizer-me o que devo corrigir no código (a própriareferência MQL5 também seria útil) para evitar tal aviso?

Atenciosamente, Vladimir.




Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
  • www.mql5.com
MetaQuotes Language 5 (MQL5) - язык программирования технических индикаторов, торговых роботов и вспомогательных приложений для автоматизации торговли на финансовых рынках. MQL5 является современным языком высокого уровня и разработан MetaQuotes Software Corp. для собственной торгово-информационной платформы. Синтаксис языка максимально близок...
 
MrBrooklin:

Bom dia a todos!

Estou a tentar aprender coisas elementares na MQL5, mas de repente encontrei uma mensagem de aviso exibida na imagem anexada ao compilar código copiado da Referência MQL5.

Pergunto-me se haverá também alguns erros na Referência MQL5. Por favor, pode dizer-me o que devo corrigir no código (a própria referência MQL5 também seria útil) para evitar tal aviso?

Atenciosamente, Vladimir.

Sim, há algumas imprecisões na Ajuda.