Ajuda na codificação - página 338

 
Maine:
Olá,

Gostaria de verificar se meus três últimos negócios fechados de venda ou compra foram lucrativos, e mudar um valor de cordel dependendo disso.

Eu tenho este código (MT4):

for(int i=(OrdersHistoryTotal()-1);i>=0;i--);

{

OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);

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

{

//for buy order

if(OrderType()==OP_BUY && OrderProfit()>0) last=1;

if(OrderType()==OP_BUY && OrderProfit()<0) last=0;

}

}

for(int j=(OrdersHistoryTotal()-1);j>=0;j--);

{

OrderSelect(j, SELECT_BY_POS,MODE_HISTORY);

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

{

//for sell order

if(OrderType()==OP_SELL && OrderProfit()>0) last2=1;

if(OrderType()==OP_SELL && OrderProfit()<0) last2=0;

}

}

Mas não funciona para mim.

Como eu deveria modificá-lo?

Obrigado pela ajuda.

O que estas duas linhas tentam fazer (o que é COMPRAR e VENDER em seu código - ou você tentou compilar isso de forma alguma - já que COMPRAR e VENDER não são constantes pré-definidas). Além disso, OrderMagicNumber() é um número mágico e não o tipo do pedido:

OrderMagicNumber()==BUY

OrderMagicNumber()==SELLL

 

Olá a todos,

Eu fiz um especialista em stepma e uso isto :

int trendCurr = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest );

int trendPrev = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest+1);

if (trendCurr > 0 && trendPrev < 0) SendLong = true;

if (trendCurr 0) SendShort = true;

Agora eu preciso de ajuda, que tipo de código posso usar, se eu quiser trocar as puxadas de preço no stepma ?

Se o preço tocar o stepma, ele entra no caminho da cor stepma.

Obrigado!

 
albert666:
Olá a todos,

Eu fiz um especialista em stepma e uso isto :

int trendCurr = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest );

int trendPrev = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest+1);

if (trendCurr > 0 && trendPrev < 0) SendLong = true;

if (trendCurr 0) SendShort = true;

Agora eu preciso de ajuda, que tipo de código posso usar, se eu quiser trocar as puxadas de preço no stepma ?

Se o preço tocar o stepma, ele entra no caminho da cor stepma.

Obrigado!

albert666

Para isso é preciso comparar os preços com o valor stepma (não apenas a tendência stepma). Mas como o preço quase nunca é o mesmo que o valor do indicador, você terá problemas com esse + você pode acabar com o sinal de atraso (já que você tem que comparar 3 barras e a barra mais nova deve ser confirmada ou então você pode obter um monte de sinais falsos

 

Olá albert,

Eu também estou pensando na mesma idéia.

Obrigado Mladen pela resposta, talvez possamos usar o fechamento de um bar, talvez seja mais fácil ?

 
Big Joe:
Olá albert,

Eu também estou pensando na mesma idéia.

Obrigado Mladen pela resposta, talvez possamos usar o fechamento de um bar, talvez seja mais fácil ?

Joe

Os pullbacks estão com bom aspecto em retrospectiva, mas, só para lembrá-lo: cada mudança de tendência foi um pullback potencial. Tente prever se vai ser uma recuo ou uma mudança de tendência no tempo de execução e você verá o que eu quero dizer.

 
mladen:
albert666Para isso você tem que comparar preços com o valor stepma (não apenas a tendência stepma. Mas como o preço quase nunca é o mesmo que o valor dos indicadores, você terá problemas com esse + você pode acabar com o sinal de atraso (já que você tem que comparar 3 barras e a barra mais nova deve ser confirmada ou então você pode obter um monte de sinais falsos

Obrigado senhor Mladen, entendo o que você quer dizer, é verdade que pode parecer uma loucura, mas de qualquer forma você pode me dar algumas dicas sobre como codificar isto.

Estou completamente perdido, devo usar Bid() e Ask() ?

Obrigado.

 
mladen:
alfa24

Você não precisa de um novo indicador para isso

Use qualquer ma que já esteja em janela separada, e então basta arrastar as faixas de bollinger para aquela subjanela e escolher dados indicadores anteriores como um campo de preço

Senhor Mladen

Parece que você está muito ocupado ou não está interessado em fazer. Minha exigência era muito pequena e simples. Há muito mais potencial em coisas pequenas e simples que é o que aprendi em Análise Técnica. de qualquer forma, obrigado.

 
alpha24:
Mladen Senhor Parece que você está muito ocupado ou não está interessado em fazer. Minha exigência era muito pequena e simples. Há muito mais potencial em coisas pequenas e simples que é o que aprendi em Análise Técnica. de qualquer forma, obrigado.

alfa24

Não consigo entender seu posto

Eu lhe expliquei como você pode simplesmente conseguir o que precisa. Qual é o problema então? Você não gosta da solução (isto é, btw, exatamente o que você descreveu e por mais simples que ela seja)? Eu simplesmente não consigo ver qual poderia ser o problema quando seu posto foi respondido com uma solução correta.

cumprimentos

 
albert666:
Obrigado senhor Mladen, entendo o que você quer dizer, é verdade que pode parecer uma loucura, mas de qualquer forma você pode me dar algumas dicas sobre como codificar isto.

Eu estou completamente perdido, devo usar Bid() e Ask() ?

Obrigado, senhor.

albert666

O que eu gostaria de recomendar é que você tente estimar os ressaltos em tempo de execução (não em dados históricos, mas no máximo na primeira barra fechada) por algum tempo e isso deve tornar muito mais claro quais são os problemas exatos quando se trata de adivinhar os ressaltos. Esse exato jogo de adivinhação também precisaria ser feito pela EA.

 
alpha24:
Mladen Senhor Parece que você está muito ocupado ou não está interessado em fazer. Minha exigência era muito pequena e simples. Há muito mais potencial em coisas pequenas e simples que é o que aprendi em Análise Técnica. de qualquer forma, obrigado.

Aqui está uma velha média móvel em uma janela separada : moving_averages_sw.mq4

Trabalha também no novo metatrader, embora seja um muito antigo

Arquivos anexados: