Ich habe noch was vergessen, in die Antwort einzufügen. Int LastBuy und LastSel musst natürlich nach Order Eröffnung füllen, z.B. so:
Code:
//=============================================================================================================
// O P E N O R D E R S
//=============================================================================================================
if( RT==true )
{
if( BuyInv==false && IsTradeAllowed()==true )
{
while(IsTradeContextBusy())
Sleep(10);
TiBuy=OrderSend(Symbol(),OP_BUY,LotsBuy,Ask,Slippage,Buy_SL,Buy_TP,NULL,Buy_MN,0,Blue);
// Print ("Open buy ",TiBuy," LotsBuy: ",LotsBuy);
if(TiBuy == -1)
{
Fehlercode = GetLastError();
Fehlerbeschreibung = ErrorDescription(Fehlercode);
Fehlerausgabe = StringConcatenate("Eröffnung Kauf-Order:",Fehlercode,": ",Fehlerbeschreibung);
Print(Fehlerausgabe);
}
LastBuy = TiBuy;
return(TiBuy);
}
if( SelInv==false && IsTradeAllowed()==true )
{
while(IsTradeContextBusy()) Sleep(10);
TiSel=OrderSend(Symbol(),OP_SELL,LotsSel,Bid,Slippage,Sel_SL,Sel_TP,NULL,Sell_MN,0,Red);
// Print ("Open Sell ",TiSel," LotsSel: ",LotsSel);
if(TiSel == -1)
{
Fehlercode = GetLastError();
Fehlerbeschreibung = ErrorDescription(Fehlercode);
Fehlerausgabe = StringConcatenate("Eröffnung Kauf-Order:",Fehlercode,": ",Fehlerbeschreibung);
Print(Fehlerausgabe);
}
LastSel = TiSel;
return(TiSel);
}