Pergunte! - página 52

 
pawang:

2.) De acordo com o ponto 1.) o verdadeiro caso é... como criar uma divergência de alta/baixa?

Quando as condições: Há um preço mais alto e o RSI mais alto de prazo definido. E depois do tempo decorrido... encontramos um novo preço mais alto, mas não seguido por um novo RSI (RSI não consegue fazer um novo alto).

//this gives you highest/lowest prices on last 10 bars starting with current(last on the graph - zero bar)

double highestPrice = High;

double lowestPrice = Low;

/*

this gives you lowest/highest rsi on last 10 bars starting with current - 0 bar

*/

double lowestRSI=9999, highestRSI=-9999;

int currentBar = 0;

int endBar = 10;

for(currentBar=0; currentBar<endBar; currentBar++) lowestRSI = MathMin(lowestRSI, iRSI(Symbol(),0,14,PRICE_CLOSE,currentBar));

for(currentBar=0; currentBar<endBar; currentBar++) highestRSI = MathMax(lowestRSI, iRSI(Symbol(),0,14,PRICE_CLOSE,currentBar));

//starting at bar #10 you go back 10 bars on the chart looking for lowest price

//thus you'll get lowest price from bar #10 to bar #20

double lowestPrice10_20 = Low;

to get divergence, you'll need to compare rsi & price over periods

if(lowestPrice10_20 lowestRSI){

//on bars 10-20 lowest rsi is higher than on bars 0-10

//on bars 10-20 lowest price is lower than on bars 0-10

//i hope thats correct

}

você precisa começar a procurar no mql4.com para documentação & este fórum, a maioria das informações é coberta

 

Como posso escrever esta EA ?

Como posso escrever esta EA :

1 - Abrir 1 StopBuy 0,01 a Preço + 20 e 1 StopSell 0,01 a Preço - 20, TP 20.

2 - Se um pedido for executado, cancele outro.

3 - Se uma ordem executada for uma ordem de compra, venda reversa 1 StopSell duplo (0,02) ao preço de entrada -20 ou oposto se ordem de venda.

4 - e cada vez que uma ordem de parada for executada, inverta o dobro de 20 pontos, até que TP seja executado, e então feche todas as ordens abertas para este par.

Obrigado pela ajuda.

 

Tente isto, eu coloco um alerta, é ótimo.

Arquivos anexados:
ifish.mq4  3 kb
 

qualquer pessoa pode me ajudar com o código

qualquer pessoa pode me ajudar como codificar o indicador com expirado para que o indicador possa rodar... e como codificar o indicador para que ele só possa rodar com 1 conta id apenas.

thx

 
increase:
Tente isto, eu coloco um alerta, é ótimo.

graças a muito aumento funciona como magia, é possível fazer uma EA que coloca ordem na direção oposta quando há uma pausa e almeja apenas 5 pips ?

 

alerta sonoro para cada indicador

podemos mudar o alerta sonoro para cada indicador, se sim, como?

 

EA não está trabalhando em testes futuros

Prezado Codersguru,

Por favor, ajude-me a analisar a minha EA abaixo. Seu trabalho funciona perfeitamente bem no backtesting, mas não na conta comercial de demonstração ao vivo. Eles não são ação de compra ou venda após as cruzes. Muito obrigado.

//+------------------------------------------------------------------+

//| 5/13-v2-SOS.mq4 |

//+------------------------------------------------------------------+

externo int Unique_Ref_Number=513;

Exterior int TakeProfit = 5;

Exterior int StopLoss=5;

extern double Lots = 1;

extern int Max_Contratos = 1;

extern int emaShortPeriod=5;

emaLongPeriod=13; extern int emaLongPeriod=13;

extern bool MoneyManagement=true;

extern int Risk=2;

int init() { return(0); }

int deinit() { return(0); }

int Crossed()

{

duplo emaLong_1=iMA(NULL,0,emaLongPeriod,0,1,PRICE_CLOSE,2);

duplo emaLong=iMA(NULL,0,emaLongPeriod,0,1,PRICE_CLOSE,1);

double emaShort_1=iMA(NULL,0,emaShortPeriod,0,1,PRICE_CLOSE,2);

double emaShort=iMA(NULL,0,emaShortPeriod,0,1,PRICE_CLOSE,1);

se (emaShort_1emaLong ) retornar (1); // tendência de alta

se (emaShort_1>emaLong_1 && emaShort<emaLong ) retornar (2); // tendência decrescente

retorno (0); // nenhuma ação

}

int start()

{

BuyStopLoss duplo, SellStopLoss, Lotsize ;

int cnt, ticket;

data estática hora do pedido;

int total=OrdensTotal();

if(MoneyManagement===verdadeiro)

{Lotsize=NormalizeDouble((AccountFreeMargin()*Risk/10000),1);}

mais

{ Lotsize=Lots; }

BuyStopLoss=MathMin(MathMin(MathMin(Low[1],Low[2]),Low[3]),Ask-StopLoss*Point);

SellStopLoss=MathMax(MathMax(MathMax(Alta[1],Alta[2]),Alta[3]),Bid+StopLoss*Point);

if(Tempo[0]>tempo de pedido && total<Máx_Contratos)

{

// verificar a possibilidade de posição longa (BUY)

if(Crossed()==1 )

{

OrderSend(Symbol(),OP_BUY,Lotsize,Ask,1,BuyStopLoss,Ask+TakeProfit*Point, "5-13-Long",Unique_Ref_Number,0,Green);

Ordertime=Time[0];

retornar(0);

}

// verificar a possibilidade de posição curta (SELL)

if(Crossed()==2 )

{

OrderSend(Symbol(),OP_SELL,Lotsize,Bid,1,SellStopLoss,Bid-TakeProfit*Point, "5-13-Short",Unique_Ref_Number,0,Red);

Ordertime=Time[0];

retorno(0);

}

}

retorno(0);

}

 

Codersguru,

Preciso de sua ajuda para uma EA MT4.

O dia começa às 0000 GMT.

1) Desenhe 5 linhas horizontais (cores diferentes). Ontem OHLC e ontem (H+L)/2 linha mediana.

2) Soar e aparecer alertas quando o preço tocar qualquer uma das 5 linhas.

Seria ótimo se você pudesse ajudar. Obrigado...

 
MiniMe:
o indicador é para traçar a linha de tendência

tudo que eu quero é poder mudar a espessura da linha de tendência

Ajuda pls

Alan

Aqui está. Espero que isto seja o que você queria.

Arquivos anexados:
 
Maji:
Aqui está. Espero que isto seja o que você queria.

Muito obrigado Maji, exatamente o que eu estava procurando