Precisa de ajuda para criar um MUITO simples EA - página 3

 

//+------------------------------------------------------------------+
//| Stepper.mq4 |
//| doshur |
//| www.doshur.com |
//+------------------------------------------------------------------+
#property copyright "doshur"
#property link "www.doshur.com"

extern int TakeProfit = 5;
extern int Range = 20;
extern int Risk = 2;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
return(0);
}

int deinit()
{
return(0);
}

int start()
{
//----
static bool ToTrade = false;
static bool FirstTrade = true;

double PrevLow = iLow(Symbol(), 0, 1);
double PrevHigh = iHigh(Symbol(), 0, 1);
double PrevRange = (PrevHigh - PrevLow) / Point;

if(NewBar())
{
if(FirstTrade == false)
{
if(PrevRange >= Range)
ToTrade = true;
else
ToTrade = false;
}
else
{
FirstTrade = false;
}
}

if(ToTrade)
{
if(COT(1) < 1)
{
if(Ask > PrevHigh)
OrderSend(Symbol(), OP_BUY, MM(PrevRange, Risk), Ask, 3, PrevLow, Ask + TakeProfit * Point, "Stepper - BUY", 57390, 0, Blue);
}

if(COT(2) < 1)
{
if(Bid < PrevLow)
OrderSend(Symbol(), OP_SELL, MM(PrevRange, Risk), Bid, 3, PrevHigh, Bid - TakeProfit * Point, "Stepper - SELL", 57391, 0, Red);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+

//---- Check Is New Bar
bool NewBar()
{
static datetime PrevBar;

if(PrevBar < Time[0])
{
PrevBar = Time[0];
return(true);
}
else
{
return(false);
}

return(false);
}

//---- Check Open Trades
int COT(int BS)
{
int Buys = 0, Sells = 0;

for(int cnt_COT = 0; cnt_COT < OrdersTotal(); cnt_COT++)
{
OrderSelect(cnt_COT, SELECT_BY_POS, MODE_TRADES);

if(OrderType() == OP_BUY && OrderSymbol() == Symbol()) Buys++;
if(OrderType() == OP_SELL && OrderSymbol() == Symbol()) Sells++;
}

if(BS == 1) return(Buys);
if(BS == 2) return(Sells);
}

//---- Money Management
double MM(int SL, int RK)
{
double rLots = NormalizeDouble(AccountBalance() / 1000 * RK / SL, 1); // Risk ?% of balance

if(rLots < 0.1) rLots = 0.1;

return(rLots);
}


Tinha implementado uma primeira corrida para superar a questão e algumas outras

Não tinha testado o código

Teste e liste outras emendas

 

is there away where we can modify the stop loss to so 15 or 20 instead of the other end of the candle?

 

crazfoto 2008.12.02 08:27 está lá fora onde podemos modificar a parada de perda para 15 ou 20, em vez da outra ponta da vela?


SIM. É possível.

 

esta é para a média de 2hr? ou outra versão dos 30min?


se é a média de 2 horas que não executou nenhuma negociação ontem.

 
crazfoto:

esta é para a média de 2hr? ou outra versão dos 30min?


se é a média das 2 horas não executou nenhuma negociação ontem.

u meus códigos?

É implementado por 30 minutos, como você solicitou.

 

oh. erro meu. vou testar agora.


OBRIGADO por me ajudar com isto. joguei com ele no gráfico de 4 horas. acho que se eu mudar a parada para dizer 15 ou 20 pips em um gráfico de 4 horas, os resultados serão bons. e o que eu costumava fazer.

 
funcionará em um gráfico offline 2hr? vejo que muitas pessoas têm problemas para usar os EA's em gráficos offline.
 
seu único trabalho na tabela de 1hr
 
ok. funciona na tabela de 30min, mas continua entrando em uma ordem sempre que se paga. portanto, não espera que a vela de 30min seja feita antes de entrar em uma nova ordem.
 

oops.

esqueço de desativar uma vez que entra.

deixe-me emendar o código