Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 10.03.13
gehtdoch gehtdoch ist offline
Neues Mitglied
 
Registriert seit: Feb 2013
Beiträge: 15
gehtdoch befindet sich auf einem aufstrebenden Ast
Standard Einfachster EA läuft nicht...

Hallo,
bin neu im Forum, und neu bei MT4 und MQL4 .
Habe in den Foren nichts ähnlich einfach wie gewünscht, gefunden.
Bastel nun den ganzen morgen an einer automatischen Möglichkeit Positionen zu eröffnen und wieder zu schließen. Dazu dachte ich verschiedene Teile aus anderen EA´s "einfach nur mal eben" so zusammen zu setzen. Aber MQL4 scheint mir wesentlich schwieriger als CTL zu sein.

Könnte mir bitte ein Kenner den Anfangsfrust nehmen und folgenden Code zum rennen bringen? Dann könnte ich mich mit weiteren Aufgaben langsam vortasten.
Für Hilfe wäre ich sehr dankbar. Grüße, gehtdoch (nochnicht)

// MACD Seeger.mq4

//extern double TakeProfit = 10;
extern double Lots = 0.1;
//extern double Stop = 0;
//extern double TrailingStop = 20;
extern double A = 13;
extern double B = 26;
extern double C = 9;
extern double drehen = 0;
// ----------------------------------------------------
int start()
{
double MacdCurrent, MacdPrevious, SignalCurrent;
double SignalPrevious, MaCurrent, MaPrevious;
int cnt, ticket, total;

if(Bars<100)
{
Print("weniger als 100 Kerzen");
return(0);
}

MacdCurrent=iMACD(NULL,0,A,B,C,PRICE_CLOSE,MODE_MA IN,0);
MacdPrevious=iMACD(NULL,0,A,B,C,PRICE_CLOSE,MODE_M AIN,1);
SignalCurrent=iMACD(NULL,0,A,B,C,PRICE_CLOSE,MODE_ SIGNAL,0);
SignalPrevious=iMACD(NULL,0,A,B,C,PRICE_CLOSE,MODE _SIGNAL,1);
MaCurrent=iMA(NULL,0,0,0,MODE_EMA,PRICE_CLOSE,0);
MaPrevious=iMA(NULL,0,0,0,MODE_EMA,PRICE_CLOSE,1);
//-------------------------------------------------------------------------------------
total=OrdersTotal();
if(total<1)
{
if(AccountFreeMargin()<(1000*Lots))
{
Print("Oh Gott, wir haben keine freie Margin mehr = ", AccountFreeMargin());
return(0);
}
if (SignalPrevious<SignalCurrent) //(MacdCurrent>SignalCurrent)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"m acd sample",16384,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES )) Print("Kauforder eröffnet : ",OrderOpenPrice());
}
else Print("Fehler bei Kauforder-Eröffnung : ",GetLastError());
return(0);
}
if (SignalPrevious>SignalCurrent) //(MacdCurrent<SignalCurrent)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0," macd sample",16384,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES )) Print("Verkaufsorder eröffnet : ",OrderOpenPrice());
}
else Print("Fehler bei Verkaufsorder-Eröffnung : ",GetLastError());
return(0);
}
return(0);
}
return(0);
//---------------------------Position löschen--(vielleicht mal drehen)------------------------
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && SignalPrevious<SignalCurrent)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet) ; // close position
return(0); // exit
}
return(0);

if(OrderType()<=OP_BUY && OrderSymbol()==Symbol() && SignalPrevious>SignalCurrent)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ; // close position
return(0); // exit
}
return(0);

}
return(0);
// the end.

Sehe gerade in der Vorschau, die Struktur ist weg. Schade...