Zitat:
Zitat von traderdoc
??????? Was Du aber auch so immer schreibst!
Da gibt es mehrere Buffer, 4 (0 bis 3) sind davon relevant und am wichtigsten die Buffer 0 und 1, die ausreichen, um eine blaue von einer roten Kerze zu unterscheiden.
traderdoc
|
Hallo traderdoc, ich stehe auf dem Schlauch... Wie soll ich das dann umsetzen?
Mein Versuch es so zu machen, funktioniert nicht. Es wird keine Order ausgelöst...
Code:
double haOpen0,haOpen1,haClose0,haClose1;
double total,ticket,Lots,sl,tp,TrailingStop;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
haClose0=iCustom(NULL,0,"Heiken_Ashi_Smoothed",2,4,2,1,3,1);
haOpen0=iCustom(NULL,0,"Heiken_Ashi_Smoothed",2,4,2,1,2,1);
haClose1=iCustom(NULL,0,"Heiken_Ashi_Smoothed",2,4,2,1,3,2);
haOpen1=iCustom(NULL,0,"Heiken_Ashi_Smoothed",2,4,2,1,2,2);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
//| Prüfen der Anzahl der Orders
//+------------------------------------------------------------------+
total=OrdersTotal();
if(total<1)
{
//| Buy
//+------------------------------------------------------------------+
if(haOpen0>haClose0 && haOpen1<haClose1)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-sl*Point,Ask+tp*Point,NULL,0,0,clrGreen);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES));
Print("BUY order opend : ",OrderOpenPrice());
}
else Print("Error opening BUY Order : ",GetLastError());
return;
}
//| Sell
//+------------------------------------------------------------------+
if(haOpen0<haClose0 && haOpen1>haClose1)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+sl*Point,Bid-tp*Point,NULL,0,0,clrRed);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES));
Print("Sell order opend : ",OrderOpenPrice());
}
else Print("Error opening Sell Order : ",GetLastError());
return;
}
//+------------------------------------------------------------------+
}
Wo liegt mein Fehler?
|