Idéias ambiciosas!!!

 

Há alguns anos, tenho sido periodicamente atormentado pela idéia de implementar um testador de estratégia multi-moeda.

Vi várias implementações, li idéias e até olhei para o MT5.

Muitas pessoas podem dizer de uma só vez porque se existe um MT5, onde a multimoeda já está implementada no terminal, há muitas razões, tentarei explicar.

1. Eu não gosto do MT5, mas o MT4 é como um bom e velho amigo fiel. Não posso pedir nada, eu farei qualquer coisa. Mas o MT4 precisa aprender novos truques.

2. A abordagem diferente do comércio na MT5, e os especialistas comprovados ao longo dos anos trabalham apenas na MT4, não podem fazê-lo na MT5, que é sua ideologia.

Acho que estas duas razões estão afetando muitos pelos motivos mais íntimos, ou seja, para o saldo da conta de negociação ))))))).

Portanto, a essência do testador de estratégia de múltiplas moedas está diretamente no MT4 e no MQL4:

Há uma base de citações de 1999. Está no MySQL. Há muitos pares de moedas. Esta base também está em MT4, mas o terminal não pode abrir todos os pares de moedas e programmaticamente não é possível abrir ou solicitar a barra necessária, o resultado é o transbordo de memória. Para simplificar, você não pode abrir cotações de um minuto para 10 pares de moedas desde 1999 sem afetar o terminal.

Possível solução. Carregamento em lote das cotações necessárias do banco de dados, durante o período necessário e para o par de moedas necessário em matrizes diretamente no Expert Advisor.

Além disso, prosseguimos com o trabalho virtual, ou seja, testando a estratégia escrita em MQL4 sobre estes dados, quando ficamos sem dados carregamos mais alguns, enquanto os negócios virtuais, abertos e fechados também são mantidos na mensagem, a memória não ficará inchada por esta abordagem (embora não verificada), mas teoricamente estará OK.

Você pode usar qualquer par de moedas, períodos também, sistema de teste virtual de múltiplas moedas e multitempo pode muito bem funcionar. Podemos fazer um relatório, desenhar gráficos e calcular tudo o que precisamos, mas esta é uma questão técnica. Você também pode testar, ou melhor, analisar e combinar diferentes estratégias. Armazenar tudo no banco de dados. Na verdade, isto abre a perspectiva de buscar uma estratégia não por um computador de cada vez, mas criando uma rede de computação distribuída.


Na verdade, estou interessado em qualquer pensamento sobre esta idéia. Talvez nesta linha sejam coletados materiais que serão utilizados no desenvolvimento, ou seja, o que você aconselha.

 
Você é bom no comércio? Escreva em C# ou Java e chegará o dia em que você perceberá quanto tempo desperdiçou e ficará aliviado ao jogar seus desenvolvimentos mql no lixo. Ambos os mql implementam algo, mas não o que você realmente precisa.
 
gip:
Você é capaz de negociar? Você pode escrevê-los em C# ou Java, mas um dia você perceberá quanto tempo perdeu e desistirá de usar o mql. Ambos os mql implementam algo, mas não o que você realmente precisa.

O comércio é realmente uma questão secundária. Se houver uma estratégia de trabalho, que será testada na história e apoiada por resultados de testes, então não há problema em escrevê-la para negociação.

O principal problema é encontrar um sistema comercial funcional e, o mais importante, estável.


Estratégias multimoedas realmente funcionam, se você fizer um sistema apenas para um par de moedas, então tal estratégia geralmente não funciona por muito tempo.

 
HIDDEN:

O comércio é realmente uma questão secundária. Se houver uma estratégia de trabalho, que será testada na história e apoiada por resultados de testes, então não há problema em escrevê-la para negociação.

O principal problema é encontrar um sistema comercial funcional e estável.


MATLAB
 
HIDDEN:
Estratégias multimoedas realmente funcionam, se você fizer um sistema apenas para um par de moedas, tal estratégia geralmente não funciona por muito tempo.

Um exemplo?

Veja a idéia simples de um testador de múltiplas moedas com um exemplo de implementação

 

Eu tive essa idéia por muito tempo, então de alguma forma tudo se desmoronou. ninguém está disposto a fazer esse tipo de trabalho. não há apoio nem nada.

 


1. У меня случилась нелюбовь к MT5, а вот MT4 как старая добрая и верная подруга. Что не попроси, на все готова. Но MT4 нужно обучать новым трюкам.
2. Разный подход к торговле в MT5, а годами разрабатываемые эксперты, проверенные временем работают исключительно на MT4, в MT5 не смогут, идеалогия у них такая.

...

Continuarei em nome do iniciador do tema:

3. sou um cacifo do mal e todas as minhas estratégias se baseiam nesta característica inútil e prejudicial do MT4. Mas estou firmemente convencido de que o mercado mostrado na MT4 não é o mesmo que na MT5, são mercados fundamentalmente diferentes, em um dos quais você pode ganhar (MT4), e em outro você não pode (MT5).

4. Eu não gosto ou até odeio o OOP. Eu não sei e honestamente não entendo porque as pessoas escolhem OOP, enquanto existe um MQL4 incrivelmente feio, mas muito simples. É tão simples e miserável que é incrivelmente fácil escrever programas do tipo "Hello forex" nele, o que automaticamente significa que é muito mais fácil escrever EAs multi-currency/multi-time-frame/multisystem.

5. Apesar de anos de experiência, ainda não entendo...

// Este posto deve ser interrompido, simplesmente porque o tema é inútil. Melhor se ocupar da invenção da roda (no sentido literal, uma roda de madeira para começar), acredite-me que tal passatempo será muito mais útil tanto para a cabeça quanto para as mãos.

 
C-4:

...

Continuarei em nome do iniciador do tema:

3. sou um cacifo do mal e todas as minhas estratégias se baseiam nesta característica inútil e prejudicial do MT4. Mas estou firmemente convencido de que o mercado mostrado na MT4 não é o mesmo que na MT5, são mercados fundamentalmente diferentes, em um dos quais você pode ganhar (MT4), e em outro você não pode (MT5).

4. Eu não gosto ou até odeio o OOP. Eu não sei e honestamente não entendo porque as pessoas escolhem OOP, enquanto existe um MQL4 incrivelmente feio, mas muito simples. É tão simples e miserável que é incrivelmente fácil escrever programas do tipo "Hello forex" nele, o que automaticamente significa que é muito mais fácil escrever EAs multi-currency/multi-time-frame/multisystem.

5. Apesar de anos de experiência, ainda não entendo...

// Este posto deve ser interrompido, simplesmente porque o tema é inútil. É melhor você se ocupar em reinventar a roda (literalmente, de madeira para começar), acredite-me que tal passatempo será muito mais útil tanto para sua cabeça quanto para suas mãos.

Tenho que concordar.

3. Ao derrubar o MT4 médio é mais leal aos "bandidos".

4. Você pode escrever o que quiser nele. Mas não pode ser testado e depurado. É preciso colocar "dinheiro" nas mandíbulas de uma demo-máquina (abrir uma conta de centavos, por exemplo) - então o próximo nível será aberto :)

5. Leia meu pedido de ajuda - os exemplos são mais instrutivos do que as regras!

;)

 

C-4:

4. Eu não gosto ou até odeio o OOP. Eu não sei e sinceramente não entendo porque as pessoas escolhem o OOP

OOP é apenas um pequeno truque de RP para escrever mais código espalhado por todo o lugar e carregar a cpu mais ao mesmo tempo. :)

Isto aumenta o preço dos recursos de software e hardware, com quase o mesmo desempenho final. Mas é claro que eles não são tolos e não escrevem seus programas no OOP. :)

 

Sorento:

Mas não pode ser testado e depurado.

Você pode, mas é complicado. :)

 
Andrei01:

OOP é apenas um pequeno truque publicitário de Moscou para escrever mais código espalhado por todo o lugar e carregar mais o processador ao mesmo tempo. :)

Isto aumenta o preço dos recursos de software e hardware, com quase o mesmo desempenho final. Mas é claro que eles não são tolos e não escrevem seus programas no OOP. :)

Na verdade, o OOP é uma forma de reduzir o código do programa e gastar a maior parte do tempo na depuração da lógica do programa em vez da representação de dados. Se, naturalmente, a lógica no programa superar o número de linhas de descrição de variáveis)). Caso contrário - sim, claro, você não precisa de OOP para rabiscar outra média móvel.