Discussão do artigo "Conselheiro Especialista baseado em "New Trading Dimensions" por Bill Williams" - página 3

 
Vladimir Karputov:

Limpei e consertei o problema:


Versão "1.002" - agora os erros "sem dinheiro para abrir uma posição" são muito menores:

Arquivos anexados:
h_ts_bw.mqh  128 kb
 

Ótimo, obrigado, vamos ver!

 

É assim (no arquivo anexo) que o teste do Expert Advisor no terminal de uma corretora conhecida parece triste. A rede de arrasto não funciona e, como o controle de margem não é fornecido, as negociações são abertas, mas não são fechadas até o final do teste, e aí é o fim.

Mas isso não acontece em todos os terminais, graças a Deus! Nos terminais adequados, isso acontece corretamente.

Obrigado por manter o código do Expert Advisor atualizado!

Arquivos anexados:
2017-08-13.png  116 kb
 
natyog:

É assim (no arquivo anexo) que o teste do Expert Advisor no terminal de uma corretora conhecida parece triste. A rede de arrasto não funciona e, como o controle de margem não é fornecido, as negociações são abertas, mas não são fechadas até o final do teste, e aí é o fim.

Mas isso não acontece em todos os terminais, graças a Deus! Nos terminais adequados, isso acontece corretamente.

Obrigado por manter o código do Expert Advisor atualizado!


Modificação de posição corrigida: versão "1.003"

Alterações feitas:

Os preços de stop loss e take profit devem ser normalizados usando o método CSymbolInfo::NormalizePrice, e não NormalizeDouble. Importante.


Arquivos anexados:
h_ts_bw.mqh  129 kb
 

Se você substituir a linha 422 if(exp_trade.PositionModify(m_Symbol,NormalizeDouble(StopLoss,s_info.Digits()),pos_info.TakeProfit())) na versão "1.002" por

if(exp_trade.PositionModify(m_Symbol,s_info.NormalisePrice(StopLoss),pos_info.TakeProfit()))

mesma imagem

Arquivos anexados:
 
natyog:

Se você substituir a linha 422 if(exp_trade.PositionModify(m_Symbol,NormalizeDouble(StopLoss,s_info.Digits()),pos_info.TakeProfit())) na versão "1.002" por

if(exp_trade.PositionModify(m_Symbol,s_info.NormalisePrice(StopLoss),pos_info.TakeProfit()))

mesma imagem


Precisamos de suas capturas de tela:

  1. Terminal - janela"Strategy Tester" (Testador de estratégias) - guia "Settings" (Configurações)
  2. Terminal - janela "Strategy Tester" (Testador de estratégias) - guia "Settings" (Configurações).
  3. Tipo de conta de negociação: compensação ou hedge
  4. Nome do servidor de negociação ao qual você está se conectando.
  5. Anexe o arquivo de registro do testador.

 
natyog:

Se você substituir a linha 422 if(exp_trade.PositionModify(m_Symbol,NormalizeDouble(StopLoss,s_info.Digits()),pos_info.TakeProfit())) na versão "1.002" por

if(exp_trade.PositionModify(m_Symbol,s_info.NormalisePrice(StopLoss),pos_info.TakeProfit()))

mesma imagem


Apenas "substituir" algo no arquivo "h_ts_bw.mqh" não é suficiente. Você também precisa COMPILAR o arquivo do EA "tc_bw_new_version_2-02.mq5".

 

Bem, isso não é sério. Você realmente acha que isso não foi feito? Insulto.

Terminal RoboForex, conta de hedge.

Arquivos anexados:
 
natyog:
Bem, você não está falando sério. Acha mesmo que isso não foi feito? Insultante.

Sim, ótimo. Então, vamos continuar procurando.

 
e revista
Arquivos anexados: