Discussão do artigo "Desenvolvendo um algoritmo auto-adaptável (Parte II): melhorando a eficiência" - página 5

 
Maxim Kuznetsov:

e não me refiro a números em velas 2-3-4-5 :-) eles têm uma janela muito pequena, não importa como você a gire.

O artigo observa corretamente que a proporção é importante, mas não está bem fundamentado que 50/50 seja a norma. Essa conclusão é tirada de considerações "gerais postuladas", o que não é o caso

---

desviando do tópico, para o tópico igualmente popular de "tendências/ondas". Em um movimento de impulso, as cotações são para cima e para baixo, em um recuo elas se contradizem. Um movimento de recuo é formado por um número menor de contagens.


O "pullback" é destacado - a cotação cai significativamente, mas há mais contagens/candles para cima. Todo o movimento de queda é formado por um número de contagens de velas, e somente na sessão do euro.

É difícil perceber isso em tempo real, mas vale a pena levar em conta ao marcar o histórico.

Sim, analisei mais de 100 instrumentos e escrevi sobre isso no primeiro artigo. Em todos os lugares, mais ou menos 50%. Não afirmo que será absolutamente em todos os lugares, mas a amostra é grande. Verifiquei tanto ações quanto moedas.
Sobre tendências e retrocessos.... Há, de fato, uma peculiaridade nas tendências e recuos do mercado, mas não é simples e não é possível perceber isso tão rapidamente. Talvez eu escreva sobre isso algum dia. A questão é que o tamanho das velas muda com a tendência e o movimento de recuo, mas o mais interessante é a lei e as razões pelas quais a mudança acontece.
 
ótima série de artigos, obrigado autor
 
Smith-John:
ótima série de artigos, autor, por favor, aceite os agradecimentos
Obrigado)
 

Não encontrei um stop loss em seu código.

Se entendi corretamente, todos os resultados da pesquisa são obtidos sem limite de risco real por posição?

 
Evgeniy Ilin:
Por alguma razão, parece-me que é melhor ficar longe do Mql em geral, porque os testadores são tão lentos e miseráveis, até mesmo o MT5 é tão lento e miserável, até mesmo o MT5 estupra o disco rígido e a RAM, por uma questão de interesse, não tenha preguiça de dar uma olhada. E a velocidade dos testes é extremamente baixa...

Você diz coisas contra-revolucionárias, Filipp Filippovich.

 
Sergey Voytsekhovsky:

Boa noite.

Suspeito que na linha 256 sinal 87 há um erro de digitação, em vez de "-" parece muito bem "=".

Por favor, confirme, eu mesmo corrigirei, ou talvez haja algum significado oculto que não entendo, erro não queima, queima como Warning.


Verifiquei esse ponto, substituí o menos por = e nada mudou. Portanto, isso não afeta muito. O programador que escreveu isso é um gênio) não importa o sinal, a pausa funciona da mesma maneira).

 
Aleksandr Masterskikh:

Não encontrei um stop loss em seu código.

Se entendi corretamente, todos os resultados da pesquisa são obtidos sem limite de risco real por posição?

Há stop losses e take profits também. Há vários modos de operação do stop loss, que pode ser calculado a partir da volatilidade atual para cada posição separadamente ou para toda a série em conjunto. O stop loss e o lucro podem ser configurados de forma muito flexível. Há um stoploss virtual adicional no drawdown máximo por série, que controla que a perda em posições abertas não exceda o valor definido. Há um stoploss virtual no patrimônio líquido mínimo.

Aqui está um teste com stoplosses de 2010 no GBPUSD

Aqui está um bloco completo de configurações responsáveis por stoplosses e Take Profits

O algoritmo é muito flexível, você pode personalizar muitas coisas

 
Evgeniy Ilin:
Por alguma razão, parece-me que é melhor ficar longe do Mql em geral, porque os testadores são tão lentos e miseráveis, até mesmo o MT5 é tão lento e miserável, até mesmo o MT5 estupra o disco rígido e a RAM, por uma questão de interesse, não tenha preguiça de dar uma olhada. E a velocidade dos testes é extremamente baixa. Eu tenho um software que testa dezenas ou até centenas de vezes mais rápido. Não sei o que eles colocam lá), provavelmente estão nos explorando). Tenho um amigo que executa um teste no quinto ano 10, então ele consome 25 gigas de RAM ))) bem, eu apenas ri. O Service Desk disse para irmos aos fóruns e perguntarmos o que está errado, DDD. Mais recentemente, estou inclinado ao fato de que o código Mql deve ser criado como uma camada entre o software e o terminal, se necessário. E a lógica deve ser um software separado e independente. Com essa abordagem, não é difícil integrar-se a outros terminais, como o Ninja Trader, por exemplo, ou o CTrader, a lógica 1 vez implementada em seu software, os robôs receptores de comandos em cada terminal e apenas aceitar comandos do software. Só que esse software é legal quando você compra um robô e uma vez testa e se alegra com o backtest, mas nesse caso, quando há cento e quinhentas configurações, eu só sei por ouvir dizer o quanto isso toma tempo, tempo esse que não leva a lugar nenhum, por isso tento fazer configurações mais simples e menos sempre.

Estive conversando com alguns caras, eles estão criando uma plataforma de negociação de código aberto. Fiquei interessado, porque você pode se conectar a muitas coisas, até mesmo ao Tinkov. Você pode até mesmo solicitar a eles um conector para o MT5. Perguntei sobre o testador e eles disseram que o testador deles é mais lento e não é tão legal quanto o mt5. A ideia da plataforma deles é legal, mas aparentemente não é tão fácil criar um bom testador.

Também tenho um testador que consome muita memória, até 12-20gb em 28 instrumentos. Mas eu uso minutos. E é claro que leva muito tempo para carregar a partir do parafuso. Não sei como é possível reduzir tecnologicamente o consumo de memória, provavelmente tudo pode ser feito, mas são necessários outros orçamentos.

Em geral, resolvi o problema com a memória colocando 32 gigas e nvme ssd com uma velocidade de 3500 mb/s. Até o momento, a unidade nunca se tornou um gargalo. Mas eu não faço nenhuma otimização, apenas testes.

A tendência no software é que os requisitos de hardware estejam crescendo constantemente. É compreensível, ninguém se preocupará com a otimização como nos anos 80, quando cada kilobyte era economizado. Acho que devemos simplesmente aceitar isso.

Quanto à lógica em software de terceiros, eu pensei nisso, e para os terminais basta fazer um conector. É claro que essa é uma solução universal. Mas então surge a pergunta: não é melhor conectar-se via API FIX de uma só vez?
 
Maxim Romanov:

Também há stoploss e take profit. Há vários modos de operação de stoploss, que pode ser calculado a partir da volatilidade atual para cada posição separadamente ou para toda a série em conjunto. O stoploss e o lucro podem ser configurados de forma bastante flexível. Há um stoploss virtual adicional no drawdown máximo por série, que controla que a perda em posições abertas não exceda o valor definido. Há um stoploss virtual por patrimônio líquido mínimo.

No teste com stoplosses de 2010 no GBPUSD

Aqui está um bloco inteiro de configurações responsáveis por stoplosses e takeprofits

O algoritmo é muito flexível, você pode ajustar muitas coisas

Agora está claro, obrigado!

 
Denis Kirichenko:

Você diz coisas contrarrevolucionárias, Filipp Filippovich.

Bem, é um clichê, não fui eu quem inventou essas coisas ) muitas pessoas as dizem. Filipp Filip Filipovich ainda escolhe as palavras ) . Fora do site, eu falaria de forma bem diferente ). É claro que sei que em meu artigo nunca direi tais coisas, mas aqui você pode dar um pouco de verdade). Não muito, é claro, mas quem sabe entenderá. Tenho medo de falar demais