Discussão do artigo "Lógica Difusa nas estratégias de negociação" - página 4

 

Com essa nova biblioteca, seu EA funcionou perfeitamente, no entanto, o EA que estou fazendo alterando sua estrutura não funciona, a questão é que não fiz nenhuma alteração substancial, então não sei onde está o erro.


Estou mudando para 4 indicadores e coloquei as 81 variações possíveis"Parserule", mas não funciona.

 

É possível que você verifique o motivo de não estar funcionando, não consegui encontrar o erro, principalmente porque não entendo muito da biblioteca. Maantive toda a estrutura que você montou, mas ela não funciona. Com ela funcionando, pretendo colocar algum indicador de tendência para que o EA possa alterar o sigma sozinho sem ficar lembrando de uma tendência do passado, acho que isso resolve o vício do EA em dados históricos.

 
Joao Luiz Sa Marchioro:

É possível que você verifique o motivo de não estar funcionando, não consegui encontrar o erro, principalmente porque não entendo muito da biblioteca. Maantive toda a estrutura que você montou, mas ela não funciona. Com ela funcionando, pretendo colocar algum indicador de tendência para que o EA possa mudar o sigma sozinho sem ficar lembrando de uma tendência do passado, acho que isso resolve o vício do EA em dados históricos.


Olá, o problema é que, depois de adicionar regras, você cometeu alguns erros :)

OurFuzzy.Rules().Add(rule1);
   OurFuzzy.Rules().Add(rule2);
   OurFuzzy.Rules().Add(rule3);
   OurFuzzy.Rules().Add(rule4);
   OurFuzzy.Rules().Add(rule5);
   OurFuzzy.Rules().Add(rule6);
   OurFuzzy.Rules().Add(rule7);
   OurFuzzy.Rules().Add(rule8);
   OurFuzzy.Rules().Add(rule9);
   OurFuzzy.Rules().Add(rule10);
   OurFuzzy.Rules().Add(rule11);
   OurFuzzy.Rules().Add(rule12);
   OurFuzzy.Rules().Add(rule13);
   OurFuzzy.Rules().Add(rule14);
   OurFuzzy.Rules().Add(rule15);
   OurFuzzy.Rules().Add(rule16);
   OurFuzzy.Rules().Add(rule17);
   OurFuzzy.Rules().Add(rule18);
   OurFuzzy.Rules().Add(rule19);
   OurFuzzy.Rules().Add(rule20);
   OurFuzzy.Rules().Add(rule21);
   OurFuzzy.Rules().Add(rule22);
   OurFuzzy.Rules().Add(rule23);
   OurFuzzy.Rules().Add(rule24);
   OurFuzzy.Rules().Add(rule25);
   OurFuzzy.Rules().Add(rule26);
   OurFuzzy.Rules().Add(rule27);
   OurFuzzy.Rules().Add(rule28);
   OurFuzzy.Rules().Add(rule29);
   OurFuzzy.Rules().Add(rule30);
   OurFuzzy.Rules().Add(rule31);
   OurFuzzy.Rules().Add(rule32);
   OurFuzzy.Rules().Add(rule33);
   OurFuzzy.Rules().Add(rule34);
   OurFuzzy.Rules().Add(rule35);
   OurFuzzy.Rules().Add(rule36);
   OurFuzzy.Rules().Add(rule37);
   OurFuzzy.Rules().Add(rule38);
   OurFuzzy.Rules().Add(rule39);
   OurFuzzy.Rules().Add(rule40);
   OurFuzzy.Rules().Add(rule41);
   OurFuzzy.Rules().Add(rule42);
   OurFuzzy.Rules().Add(rule43);
   OurFuzzy.Rules().Add(rule44);
   OurFuzzy.Rules().Add(rule45);
   OurFuzzy.Rules().Add(rule46);
   OurFuzzy.Rules().Add(rule47);
   OurFuzzy.Rules().Add(rule48);
   OurFuzzy.Rules().Add(rule49);
   OurFuzzy.Rules().Add(rule50);
   OurFuzzy.Rules().Add(rule51);
   OurFuzzy.Rules().Add(rule42);
   OurFuzzy.Rules().Add(rule43);
   OurFuzzy.Rules().Add(rule54);
   OurFuzzy.Rules().Add(rule55);
   OurFuzzy.Rules().Add(rule56);
   OurFuzzy.Rules().Add(rule57);
   OurFuzzy.Rules().Add(rule58);
   OurFuzzy.Rules().Add(rule59);
   OurFuzzy.Rules().Add(rule60);
   OurFuzzy.Rules().Add(rule61);
   OurFuzzy.Rules().Add(rule62);
   OurFuzzy.Rules().Add(rule63);
   OurFuzzy.Rules().Add(rule64);
   OurFuzzy.Rules().Add(rule65);
   OurFuzzy.Rules().Add(rule66);
   OurFuzzy.Rules().Add(rule67);
   OurFuzzy.Rules().Add(rule68);
   OurFuzzy.Rules().Add(rule69);
   OurFuzzy.Rules().Add(rule70);
   OurFuzzy.Rules().Add(rule71);
   OurFuzzy.Rules().Add(rule72);
   OurFuzzy.Rules().Add(rule73);
   OurFuzzy.Rules().Add(rule74);
   OurFuzzy.Rules().Add(rule75);
   OurFuzzy.Rules().Add(rule76);
   OurFuzzy.Rules().Add(rule77);
   OurFuzzy.Rules().Add(rule78);
   OurFuzzy.Rules().Add(rule79);
   OurFuzzy.Rules().Add(rule80);
   OurFuzzy.Rules().Add(rule81);
 

Olá, Maxim Dmitrievsky

os resultadosdo backtester variam de forma diferente?


1MIN OLHC e TICK têm muitas diferenças, principalmente MDD

TEMPO 2008.1.1~2017.10.31
Arquivos anexados:
 
yukoj2004:

Olá, Maxim Dmitrievsky

os resultados do backtester variam de forma diferente?


1MIN OLHC e TICK têm muitas diferenças, principalmente MDD

TEMPO 2008.1.1~2017.10.31

Olá. Verifiquei o algoritmo básico (sem otimização) e os resultados são iguais:


Talvez você tenha alterado algo no algoritmo, por exemplo, colocar stop losses próximos ao preço, e os resultados serão diferentes. Porque se você usar apenas preços abertos, o testador não leva em conta as alterações de preço entre eles.

 

KKKKKKK, EU OLHEI ESSE CÓDIGO 100 VEZES E NÃO VI ESSES ERROS. Obrigado. À medida que eu progredir, postarei aqui.

 

Oi Maxim Dmitrievsky

Desculpe, meu inglês é ruim.

Obrigado por sua resposta

Vou tentar novamente

E tenho um tópico interessante

lógica difusa e uma rede neural.

Aguarde para compartilhar este tópico

Você já tentou o Reinforcement Learning?


 

Fiz várias tentativas, mas infelizmente não obtive bons resultados.


A ideia de colocar algum indicador para determinar a tendência e alterar o Gposition e o sigma conforme esse indicador não funcionou, pois o sistema fuzzy é todo lido no "OnInit" e esse tipo de alteração deve ocorrer no "OnTick".


Infelizmente sou muito fraco em programação, então não tenho capacidade de alterar um EA complexo como esse, mas valeu a tentativa.


Vou postar o EA com todos os indicadores funcionando e outro moving averages onde tentei estabelecer a mudança de posição no "OnTick" e não funcionou.


Obrigado ao autor pela ajuda.

 

Excelente artigo. Ele é explicado de forma muito clara, com ótimos exemplos e referências.

Muito obrigado!

 

Um ótimo artigo, obrigado. Em combinação com as redes neurais, ele determina um grande potencial.