Brauche Hilfe bei der Erstellung eines SEHR einfachen EA - Seite 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);
}


Ich hatte einen ersten Lauf implementiert, um das Problem und einige andere zu beheben.

Ich habe den Code nicht getestet.

Bitte testen und weitere Änderungen auflisten

 

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 gibt es weg, wo wir den Stop-Loss zu so 15 oder 20 statt dem anderen Ende der Kerze ändern können?


YES. Es ist möglich.

 

Handelt es sich dabei um den 2-Stunden-Durchschnitt oder um eine andere Version des 30-Minuten-Durchschnitts?


Wenn es der 2h-Durchschnitt ist, hat er gestern keine Trades ausgeführt.

 
crazfoto:

Ist dies eine für den 2-Stunden-Durchschnitt? oder eine andere Version der 30 Minuten?


Wenn es der 2-Stunden-Durchschnitt ist, hat er gestern keinen Handel ausgeführt.

Sie meinen meine Codes?

Es wurde für 30 Minuten implementiert, wie von Ihnen gewünscht.

 

Oh. Mein Fehler. Ich werde es jetzt testen.


DANKE SO VIEL für die Hilfe mir mit diesem. ich spielte mit es auf dem 4hr-Chart. ich denke, wenn ich den Anschlag zu sagen, 15 oder 20 Pips auf einem 4hr-Chart ändern, die Ergebnisse werden gut sein. und was im verwendet werden.

 
Funktioniert es auf einem Offline-2-Stunden-Chart? Ich sehe, dass viele Leute Probleme mit EAs auf Offline-Charts haben.
 
Es funktioniert nur auf dem 1-Stunden-Chart
 
Ok. es funktioniert auf 30min Chart, aber es hält eine Bestellung eingeben, wenn eine auszahlt. so seine nicht warten, bis die 30min Kerze fertig zu sein, bevor Sie eine neue Bestellung eingeben.
 

oops.

Ich habe vergessen, den Code zu deaktivieren, sobald er eingegeben wurde.

Lassen Sie mich den Code ändern