Como codificar? - página 41

 

Mais EA's

Só é possível carregar 5 ea.s de cada vez.

Arquivos anexados:
kehedge.mq4  12 kb
 

Como escrever "Se a última negociação foi vitoriosa"

Em um EA como escrever "Se a última negociação foi vencedora" (para este par) então ...

Thx por ajuda.

Jo ...

 

sobre MarketInfo()

Olá a todos!

//

duplo A = MarketInfo("EURUSD",MODE_BID);

duplo B = MarketInfo("USDJPY",MODE_BID);

duplo C = MarketInfo("EURJPY",MODE_BID);

init()

{

A = MarketInfo("EURUSD",MODE_BID);

B = MarketInfo("USDJPY",MODE_BID);

C = MarketInfo("EURJPY",MODE_BID);

}

int start()

{

...

}

//

Por que esses códigos não funcionam? quando estão em conformidade, isso chega a tantos erros:

MarketInfo' - inicialização esperada

'A' - variável não definida...

..... e assim por diante

 

Isto funcionou para mim

Jovager:
Em um EA como escrever "Se a última negociação foi vencedora" (para este par) então ...

Thx por ajuda.

Jo ...

duplo LotsOptimised()

{

lotes duplos = InitialLots;// lotes por defeito 0,1 - não haverá erro se os lotes não forem definidos pela outra parte do código

// int total = OrderHistoryTotal();

for(int i=0;i<OrdensHistóriaTotal();i++) // escanear todas as transações fechadas / canceladas

{

OrderSelect(i, SELECT_BY_POS, MODE_HISTORY );

if(OrderSymbol() == Symbol()&& OrderMagicNumber()==MagicNumber)

{

if(OrderProfit()<0)

{

lotes = NormalizeDuplo(OrderLots() * LotsFactor,2);

}

senão

{

lots=InitialLots;

}

}

}

devolução(lotes);

}

Usei isto para verificar se o último negócio fechado era ou não vencedor. Caso contrário, marquei os lotes. Espero que ajude.

 
Sendra:
Oi, a todos

Tentei criar uma EA e recebi a seguinte mensagem de erro:

Fim_do_programa' - parêntese final '} esperado C:\...Minha_Primeira_EA.mq4(96,1)

Eu cliquei duas vezes, cheguei à linha, depois verifiquei com parênteses de abertura antes dela, e ainda não sei onde cometi um erro.

Esta foi a segunda EA que tentei, com a mesma mensagem de erro, com base no mesmo indicador.

Obrigado.

Sendra, envie o programa para meu endereço de e-mail como um anexo e eu o analisarei e tentarei corrigi-lo. Normalmente o problema é um parêntese que falta após uma declaração. Infelizmente, esta é uma linguagem de baixo nível e por ser uma linguagem básica, não pode dizer exatamente onde o erro está muitas vezes, por isso, o erro que ele está mostrando é o padrão. Somente a experiência em codificação ajudará na solução deste tipo de erro.

Dave

<<<

ddiebold7@aol.com

 
 

Ralph, AJUDA com alguma lógica de fechamento diário

Olá Ralph.

Talvez, se você não se importar de um pouco de orientação. Isto tem sido um desafio para mim!! Quero definir algumas condições para que a EA analise para determinar se deve ou não fechar um comércio aberto. Vamos apenas usar uma ordem de compra como exemplo (eu sei que a ordem de venda seria a lógica oposta). Portanto, tenho uma ordem de compra aberta em uma segunda-feira. Quero que a EA olhe o fechamento diário durante os próximos X # de dias. Se o fechamento diário em cada um dos próximos X dias (digamos 5 dias, por exemplo) for inferior ao preço de abertura do pedido, então quero que o EA execute um OrderClose para fechar o negócio. Eu também estava pensando que outra parte possível desta condição que eu poderia querer que a EA analisasse é se o fechamento diário em cada um dos X dias seguintes fosse inferior ao fechamento dos X dias anteriores. Além disso, o meu EA funciona no prazo de uma hora.

Espero ter explicado o que quero realizar com clareza suficiente para que vocês possam entender.

Obrigado antecipadamente por sua ajuda.

 

Ajuda na codificação Por favor

Não estou pedindo a codificação de uma EA, apenas uma pequena ajuda com um problema.

O que eu gostaria de codificar é isto: se eu tiver um pedido longo aberto, quero poder chamar o preço mais alto cotado que o pedido tem visto desde que esse pedido longo específico foi aberto. Obviamente, quando o pedido for aberto pela primeira vez, o preço aberto será devolvido. Se o pedido aumentar em 20 pips, o preço do OrderOpenPrice() + 20 pips seria devolvido. Se o preço diminuir em 10 pips, o preço do OrderOpenPrice() + 20 pips ainda será o valor retornado. Eu sei que isto pode ser feito dentro de uma barra específica usando OrderOpenPrice() + High[0], mas quando uma nova barra é formada, High[0] torna-se High[1]. Eu também usarei a mesma lógica ao contrário para retornar o valor mais baixo que uma ordem curta específica tenha visto. Quando a ordem é fechada, os valores retornados serão reajustados para zero.

Estou tendo problemas para descobrir esta, alguém pode ajudar?

Obrigado!

 

Salvar o valor mais alto cotado da barra atual para uma variável. Toda vez que receber outra cotação, compare-a com o valor da variável. Se o novo valor for maior, salve-o para a variável. Se o novo valor for menor, mantenha a variável igual.

if(variável < novo valor cotado)

variável = nova citação;

Esperança que ajuda!

 
jimven:
Salvar o valor mais alto cotado da barra atual para uma variável. Toda vez que receber outra cotação, compare-a com o valor da variável. Se o novo valor for maior, salve-o para a variável. Se o novo valor for menor, mantenha a variável igual.

if(variável < nova citação)

variável = nova citação;

Esperança que ajuda!

Obrigado pela ajuda, mas tenho uma pergunta. O que acontece quando a barra atual não é mais a barra em que a ordem foi aberta? E se a ordem abriu na barra 5 barras atrás? Agora eu quero o maior valor cotado de 5 barras, o maior preço cotado desde que o pedido foi aberto. Isto ainda vai funcionar?

Obrigado