Perguntas de um "boneco" - página 20

 

Saudações a todos.

Pergunta - Quero utilizar métodos da classe CTrade na minha EA. Que comandos devo acrescentar ao código para isso?

Já tentei muito com #incluir, #importar... Ainda não saiu nada :(

Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 
axmed0207:

Saudações a todos.

Pergunta - Quero utilizar métodos da classe CTrade na minha EA. Que comandos devo acrescentar ao código para isso?

Eu tentei muito com #incluir, #importar... Até agora nada funciona :(


O exemplo MACD Expert Advisor ajuda-o.

Ligar o módulo da seguinte forma

#include <Trade\Trade.mqh>

Declarar uma variável de uma de duas maneiras (dependendo do algoritmo e da necessidade de certas características de implementação)

Isto pode ser feito como um objecto independente, ou como parte da classe principal.

1. CTrade m_trade;  // trading object (автоматически создается и удаляется)
2. CTrade *m_trade; // trading object (указатель на динамический объект, требуется инициализация и деинициализация. В противном случая будут проблемы)

Um exemplo de encerramento de uma posição (em detalhe no código).

m_trade.PositionClose(Symbol())

Exemplo de modificação de uma posição (ver detalhes no código).

m_trade.PositionModify(Symbol(),sl,tp)

PS

Também pode estudar a classe CExpert em pormenor.

 
Muito obrigado pela resposta completa :)
 
2011.07.15 13:30:35 2011.07.08 00:00:01 Laço de Sono Infinito detectado durante os testes.
O que é que isso significa?
 
dentraf:
2011.07.15 13:30:35 2011.07.08 00:00:01 Laço de Sono Infinito detectado durante os testes.
O que é que isso significa?

Teoricamente, esta é uma razão para desqualificar um participante do campeonato (pelo menos, problemas durante os testes automáticos da EA), mas de facto, é um trabalho incorrecto com o sono().

Aconselho a estudar este artigo (e possivelmente outros) com mais detalhe.

Em relação à sua pergunta, aqui está a citação do artigo:

Função Sleep() no testador

A função Sleep() permite suspender a execução de um programa mql5 durante algum tempo durante o trabalho num gráfico num Expert Advisor ou script. Isto pode ser necessário ao solicitar alguns dados, que no momento do pedido não estão prontos e é preciso esperar até que estejam prontos. Um exemplo detalhado do uso da função Sleep() pode ser encontrado na secção Organização do acesso aos dados.

No testador, as chamadas de Sleep() não atrasam o processo de teste. Quando Sleep() é chamado, os ticks gerados são "jogados" dentro do prazo especificado, em resultado do qual as ordens pendentes, paragens podem desencadear, etc. Após a chamada Sleep(), o tempo simulado no testador é aumentado pelo intervalo especificado no parâmetro Função de Sono.

Se, como resultado da execução de Sleep() o tempo actual no testador exceder o fim do período de teste, será recebido um erro "loop infinito em Sleep". Se tal erro ocorrer, os resultados dos testes não são descartados, todos os cálculos são completados (número de negócios, drawdown, etc.) e os resultados são passados para o terminal.

Função Sleep() não funcionará em OnDeinit() porque após a sua chamada o tempo de teste é garantido para além do intervalo de teste.

 

Camaradas!

Vou acrescentar uma análise histórica ao Expert Advisor. Pode dizer-me como organizar a saída dos dados?

Digamos, o bar mais longo de um ano de história. Como obter o valor é claro, mas onde produzir? Seria mais conveniente produzi-lo directamente para o gráfico. Ou utilizar a função Imprimir na revista, mas não sei como funcionaria? Irá reimprimir continuamente os valores? Precisaria eu de definir alguma condição complicada para a impressão? Qual seria a sua recomendação geral?

Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Общие функции / Print - Документация по MQL5
 
AUser:

Camaradas!

Vou acrescentar uma análise histórica ao Expert Advisor. Pode dizer-me como organizar a saída de dados?

Digamos, o bar mais longo de um ano de história. Como obter o valor é claro, mas onde produzir? Seria mais conveniente produzi-lo directamente para o gráfico. Ou utilizar a função Imprimir na revista, mas não sei como funcionaria? Irá reimprimir continuamente os valores? Precisaria eu de definir alguma condição complicada para a impressão? Qual seria a sua recomendação geral?


Tente usar a função Comentar(). Coloca o texto no canto superior esquerdo do gráfico.

Aí também pode usar o símbolo "\n" para passar para a linha seguinte. Infelizmente, o "t" não funciona.

 
voix_kas:

Tente usar a função Comentar(). Coloca o texto no canto superior esquerdo do gráfico.

Também pode usar "\n" para passar para a linha seguinte. Infelizmente, o "\t" não funciona.

É isso, obrigado)
 

Pode dizer-me quantos dados podem ser reunidos num único conjunto? Estrutura de MqlRates, vou colocar toda a história das barras horárias desde 2009, será que vai caber?

p.s. Algo mais com o testador de estratégias, não funciona aos fins-de-semana porque o servidor não está disponível ou alguma coisa me caiu em cima? Parecia funcionar correctamente na sexta-feira))

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных - Документация по MQL5
 

1. Tudo isto parece ser verdade. Se houver um limite, ele está ao nível do limiar int ou longo. Não há tanto RAM no computador. =)

2. descrever o problema de o testador não trabalhar de forma mais precisa. Códigos de erro, capturas de ecrã...

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений - Документация по MQL5
Razão: