moin zusammen,
ich nutze zum testen von indikatoren meist die selbe code struktur. jetzt ist der bollinger in kombi mit dem rsi dran.
ich habe verschiedene dinge probiert und komme dennoch nicht weiter. er eröffnet einen trade, schliesst ihn aber nicht mehr. bei long und short (einzeln getestet)
in der execute long funktion wird das ticket zurückgegeben, wonach dann in der else if anweisung gefragt wird. verstehe einfach nicht warum er nicht schliesst.hab den code verglichen mit den anderen indikatoren die ich getestet hab und konnte keine auffälligkeiten feststellen.
ich danke für erfolgreiche hinweise zur ergreifung des fehlers
lieben gruss,
berlin
hier ist der Teil der checkt ob ein long in frage kommt:
if(IsTradingAllowed())
if(iClose(Symbol(),TimeframeBB,0) > bbLower1){
if(iClose(Symbol(),TimeframeBB,2) < bbLower2 && rsi2 < RSIuntenLong
&& iClose(Symbol(),TimeframeBB,1) < bbUpper1 && rsi1 < RSIuntenLong)
if(orderTicket <= 0){
orderTicket = executeLong();
}
}
else if(iClose(Symbol(),TimeframeBB,0) >= bbUpper0){
if(OrderSelect(
orderTicket,SELECT_BY_TICKET) == true){
if(OrderType() == OP_BUY){
bool res = OrderClose(OrderTicket(),OrderLots(),Ask,10000,clr NONE);
orderTicket = 0;
}
}
}
und hier der execute long teil.
int executeLong(){
double entry = Ask;
//double tp = entry + TP * Point;
double sl =entry - SL * Point;
int ticket;
ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,10000,sl,0,Komm entar,Magic,0,clrNONE);
return ticket;
}