Não tenho bem a certeza do que você quer dizer com esta predefinição. Na minha opinião, você quer obter um conjunto de funções que irão calcular o lucro e marcar pontos de entrada/parada no gráfico ao mesmo tempo? E o motor de decisão será diferente para cada um deles?
E um par de dicas:
extern int BeginYear=2002
melhor ser substituído por
extern string BeginDate="2002.01.01 18:00"
- é possível trabalhar imediatamente com uma construção do tipo
Time[i] > StrToTime(BeginDate)
Sim e provavelmente coisas como
double myOrderOpenPrice=0.0; double myOrderLots=0.0;
também seria mais conveniente para armazenar como
#define LOTS 0; #define OPEN_PRICE 1; double MyOrder[2] = {0.0, 0.0}; ..................... MyOrder[OPEN_PRICE] = Open[i]; .....................
mas isso são apenas as pequenas coisas...
?
#define LOTS 0;
Esta é a variável de entrada para o testador.
De onde isto veio?
#define OPEN_PRICE 1;
Você notou que todas essas variáveis (que podem ser melhor definidas por funções)
double myOrderOpenPrice=0.0; double myOrderLots=0.0;
São gêmeos da construção em mql-4. Escrevi que o objetivo é que nosso testador e o testador incorporado entendam a
EA com o mínimo de retrabalho.
O motor de decisão é o código EA. E será facilmente integrado a esta EA. E o motor do testador é funções que sugiro
para "anular" - ou seja, pegamos a função padrão incorporada, por exemplo OrderSend(), e usando-a, escrevemos uma função totalmente semelhante - myOrderSend(). E assim por diante.
Escreverei esta função hoje à noite para torná-la mais clara.
Você tem que ser mais minucioso, mais minucioso... :)
Isto apareceu não há muito tempo. Ao transferir o texto da MQL, as cartas russas aparecem desta forma. O mesmo que FronPage faz com as cartas russas.
e eu postarei o link.
você não pode apagar o lixo?
É impossível assistir.
Deve ser uma falha de fórum, hospedagem ou MT ao copiar scripts com texto russo.
Eu passei algumas semanas em tais testes. À primeira vista, parece simples. Você obtém um conjunto de funções padrão e vai.
Mas este conjunto não é mais que uma semente: abertura/fechamento, cálculo de lucro/perda, desenho de setas/dashes.
O principal e mais importante é o algoritmo de abertura/fechamento, que, digamos, já foi descrito em algum Expert Advisor. Você não pode arrastar e soltar este algoritmo
em sua totalidade. Você só pode fazer isso em partes. E depois rastrear "sem erros" do código resultante. Além disso, todos os tipos de reviravoltas associadas a este processo.
todo tipo de conserto... Em resumo, acabamos escrevendo um programa separado sobre o mesmo assunto a partir do zero, pela segunda vez. Depois de tudo isso, em 1 segundo você recebe
ou um resultado insatisfatório, ou as setas estão no lugar errado, ou fechando nos lugares errados. Depois volta-se ao texto do programa e tenta-se novamente...
Seu cérebro funciona ao invés de um depurador, você se transforma em um monitor por um tempo... Eventualmente, no terceiro dia, o teste é realizado
parece bem, mas você se convence de que a estratégia "não é boa". E neste ponto, é mais ou menos isso! Porque testar a próxima estratégia desta forma
não há nenhum desejo de testar a próxima estratégia. Por que eu escrevi tudo isso? A idéia é atrativa. E, em princípio, funciona. Mas, acredite em mim, não é algo
não vai funcionar. Se estamos falando de um modelo, ele tem que ser um modelo muito fundamental, ou seja, um design muito decente e bem pensado. Em geral,
o programa não é o mais fácil. E se alguém depois de ler esta obra não quebrar uma lança no âmbito do descrito, ou seja, usar esta minha
Se alguém usar minha pequena, mas ainda assim prática experiência e seguir em frente sem perder tempo, algo pode dar certo. Então todos aqueles que estão sofrendo
(inclusive eu mesmo) irá contribuir para a construção de um monumento ao autor. :)
É impossível assistir.
Deve ser uma falha de fórum, hospedagem ou MT ao copiar scripts com texto russo.
O "Lixo" foi removido. Os programadores provavelmente sabem como é enfadonho escrever (comentários) :).
Alguém sabe - eu defini corretamente estas constantes com base no padrão?
int myOP_BUY=0; int myOP_SELL=1; int myOP_BUYLIMIT=2; int myOP_BUYSTOP=3; int myOP_SELLLIMIT=4; int myOP_SELLSTOP=5;
Significa valores específicos.
int myOP_BUY=OP_BUY; int myOP_SELL=OP_SELL; int myOP_BUYLIMIT=OP_BUYLIMIT; int myOP_BUYSTOP=OP_BUYSTOP; int myOP_SELLLIMIT=OP_SELLLIMIT; int myOP_SELLSTOP=OP_SELLSTOP;
Entretanto, eu não conheço a reação do compilador de antemão, ele vai deixar passar ou não as constantes comerciais no corpo indicador?
O mais provável é que sim.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
O modelo é escrito, é necessário implementar funções comerciais através da escrita de suas próprias funções.
Quem é bom nisso - junte-se a nós. Funções comerciais através de manipulação de matriz. Também precisamos de um especialista em desenho de objetos no gráfico - use setas/desenhos para representar níveis de abertura, parada e lucro.
Também precisamos organizar a saída do histórico de pedidos e séries numéricas em um arquivo para abrir gráficos em Excel. Em geral, tudo é muito sério :)
Pensei em tudo em princípio, mas não sou um universalista.
Eu posso sugerir idéias, se alguém quiser. Além disso, é possível que, em alguns casos de otimização por desempenho, a variante auto-fabricada seja capaz de superar a variante construída.