Como codificar? - página 131

 

Valores variáveis EA perdidos ao fechar o MT4

Olá a todos,

Procurei e tentei uma série de soluções para minha pergunta, mas não consigo encontrar nenhuma que funcione.

Estou programando um EA e os negócios são tratados por seus números de bilhetes. Os números dos bilhetes são armazenados em uma variável int. Isso funciona bem no Strategy Tester ou em um MT4 contínuo e ininterrupto, mas se você fechar o MT4, é claro que os bilhetes são perdidos e quando o MT4 é recarregado, os números dos bilhetes foram perdidos, portanto a EA não sabe quais negociações estão abertas no momento e começa a abrir novas. Mesmo que as ordens pendentes ou abertas já estejam sendo negociadas.

Espero que isto faça sentido.

Tentei variáveis estáticas e sei de variáveis globais, mas preferiria não usá-las, pois cada número e variável de bilhete quer ser individual ao gráfico TF e Symbol no qual a EA está rodando.

Alguém tem uma solução simples? Eu sei que você provavelmente poderia exportar os números dos bilhetes para um arquivo que a EA pode então abrir e ler, mas isto parece um longo caminho ao redor. Uma maneira não tão simples que estou testando atualmente é começar a usar a função SELECT_BY_POS no programa, procurando por cada comércio com um número mágico igual, mas isto não permite a funcionalidade completa do EA I, pois às vezes eu corro 2 compras ao mesmo tempo e identificando o que é difícil.

Obrigado por qualquer resposta.

 
mach_one_man:
Olá a todos,

Procurei e tentei uma série de soluções para minha pergunta, mas não consigo encontrar nenhuma que funcione.

Estou programando um EA e os negócios são tratados por seus números de bilhetes. Os números dos bilhetes são armazenados em uma variável int. Isso funciona bem no Strategy Tester ou em um MT4 contínuo e ininterrupto, mas se você fechar o MT4, é claro que os bilhetes são perdidos e quando o MT4 é recarregado, os números dos bilhetes foram perdidos, portanto a EA não sabe quais negociações estão abertas no momento e começa a abrir novas. Mesmo que as ordens pendentes ou abertas já estejam sendo negociadas.

Espero que isto faça sentido.

Tentei variáveis estáticas e sei de variáveis globais, mas preferiria não usá-las, pois cada número e variável de bilhete quer ser individual ao gráfico TF e Symbol no qual a EA está rodando.

Alguém tem uma solução simples? Eu sei que você provavelmente poderia exportar os números dos bilhetes para um arquivo que a EA pode então abrir e ler, mas isto parece um longo caminho ao redor. Uma maneira não tão simples que estou testando atualmente é começar a usar a função SELECT_BY_POS no programa, procurando por cada comércio com um número mágico igual, mas isso não permite a funcionalidade completa do EA I, pois às vezes eu corro 2 compras ao mesmo tempo e identificando o que é difícil.

Obrigado por qualquer resposta.

Ao invés de números de bilhetes, tente acompanhar seus pedidos usando números mágicos. Esta é a melhor maneira que eu encontrei.

 
FerruFx:
Modificar desta forma:

if(Show_Settings) subPrintDetails(); else Comment("");

FerruFx

Obrigado a todos!! Vou testá-lo no domingo à noite. Agradeço muito sua ajuda! Tenha um bom fim de semana!

Dave

 

Modificação da EA

Olá

Agradeceria muito se alguém pudesse me ajudar. Há este EA que recebi de outro fórum FX. Parece ótimo, mas agradeceria muito se alguém pudesse ajudar a fazer algumas modificações no mesmo.

Eu tentei o pouco que acho que sei, mas ele continua me dando erros de parênteses desequilibrados e.t.c

A EA abre 5 lotes e tira lucro de 1 lote cada um com um valor incremental especificado (digamos 50 pontos/pips). Assim, ele fecha 1 lote cada vez que o lucro aumenta em um número especificado e finalmente permite que o quinto/último lote funcione até que haja um sinal oposto.

Modificações:

Quero que ele abra apenas 3 lotes,

Fechar 1 lote cada, à medida que o lucro aumenta a um determinado número de pips

Após os dois primeiros Take profit points terem sido alcançados, um trailing Stop deve ser usado para o terceiro.

Ilustração:

3 lotes

Ponto TP Incremental= 40 pips

1º lote TP = 40, stoploss movido para BE

2º lote TP= 80

3º lote = Trailing stop ativado

Todas as outras coisas já estão na EA, mas eu só preciso mudar o tamanho do lote e acrescentar uma parada de rastreamento.

Obrigado

Arquivos anexados:
stoch_ac.txt  7 kb
 
Dave137:
Obrigado a todos!! Vou testá-lo no domingo à noite. Agradeço muito sua ajuda! Tenha um bom fim de semana! Dave

Seja bem-vindo, Dave. Aproveite o seu domingo!

FerruFx

 

desenhar uma linha e desenhar uma seta para cima/baixo em uma vela

Estou tentando programar um indicador muito simples para traçar uma linha e desenhar uma seta para cima/baixo em uma vela.

Não consigo descobrir como usar esse estilo, índice, desenho, etc.

Tenho uma declaração muito simples dentro de Start(), então o que mais preciso adicionar antes de Start(), e dentro de Start()'s se, para desenhar uma linha, e seta para cima, e seta para baixo?

Obrigado.

 
MoreYummy:
Estou tentando programar um indicador muito simples para traçar uma linha e desenhar uma seta para cima/baixo em uma vela.

Não consigo descobrir como usar esse estilo, índice, desenho, etc.

Tenho uma declaração muito simples dentro de Start(), então o que mais preciso acrescentar antes de Start(), e dentro de Start()'s se, para desenhar uma linha, e seta para cima, e seta para baixo?

Obrigado.

Antes de tentar desenhar com algumas condições na função Start(), você tem que definir/inicializar os amortecedores[].

Codificar um indicador não é uma tarefa simples. Talvez você tenha que aprender algumas noções básicas de codificação mql.

Desejamos a você o melhor em seu processo de aprendizagem.

FerruFx

 

ajuda

Olá Companheiros Programadores,

Eu tenho um EA que negocia no EURUSD quando o anexei ao gráfico do EURUSD. A pergunta é como posso negociar múltiplos pares sem ter que anexar meu EA a múltiplos gráficos?

Algo parecido com isto?

pares de cordas = "GBPUSD;EURUSD;USDCHF;USDJPY;USDCAD;GBPJPY;EURJPY;GBPCHF;EURAUD;EURCHF;EURGBP;AUDUSD;CHFJPY";

Obrigado de antemão,

LF

 

Tenha seu código para negociar um par específico quando enviar seu pedido, é muito simples, direto na documentação.

 

Use uma matriz em vez de um cordel e, em seguida, faça um loop através da matriz colocando um pedido para cada par em cada iteração. Se você não tiver usado arrays antes, basta procurar no arquivo de ajuda. Eles são bastante diretos.

Boa sorte.

Lux

Razão: