Ho bisogno di aiuto per creare un EA MOLTO semplice - pagina 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);
}


Aveva implementato una prima esecuzione per superare il problema e alcuni altri

Non aveva testato il codice

Pls prova e elenca altri ammennicoli

 

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 c'è via dove possiamo modificare lo stop loss a così 15 o 20 invece dell'altra estremità della candela?


SÌ. È possibile.

 

si tratta della media a 2 ore o di un'altra versione a 30 minuti?


Se è la media a 2 ore, ieri non ha eseguito alcun trade.

 
crazfoto:

è questo per la media 2hr? o un'altra versione del 30min?


se è il 2hr avg non ha eseguito alcun trade ieri.

Intendi i miei codici?

È stato implementato per 30 minuti come richiesto.

 

Oh, colpa mia. lo testerò ora.


GRAZIE TANTISSIMO per avermi aiutato con questo. ho giocato con esso sul grafico 4hr. penso che se cambio l'arresto per dire 15 o 20 pips su un grafico 4hr, i risultati saranno buoni. e ciò a cui sono abituato.

 
Funzionerà su un grafico offline a 2 ore? Vedo che molte persone hanno problemi ad usare gli EA su grafici offline.
 
funziona solo sul grafico a 1 ora
 
Ok, funziona su un grafico a 30 minuti, ma continua a inserire un ordine ogni volta che uno paga. Quindi non aspetta che la candela a 30 minuti abbia finito di formarsi prima di inserire un nuovo ordine.
 

oops.

Ho dimenticato di disabilitare una volta entrato.

lasciatemi modificare il codice