Tolong bantuin master, kenapa pas ada signal BUY/SELL EAnya melakukan OP terus menerus tanpa henti, padahal sudah dibuat TotalOPBuy<1 && TotalOPSell<1? trim kash atas bantuanya
code:
int Slipage = 0;
int Magic = 1234;
double Over_Sold = 29.50;
double Over_Bought = 30.00;
void OnTick()
{
int TotalOPBuy = 0, TotalOPSell = 0; //ini ditaruh di Deklarasi Global
for(int i=0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderType()==OP_BUY){TotalOPBuy++;}
if(OrderType()==OP_SELL){TotalOPSell++;}}}
double RSI =NormalizeDouble(iRSI(Symbol(),0,14,PRICE_CLOSE,0),2);
if(TotalOPBuy<1 && TotalOPSell<1){
if(RSI <= Over_Sold )
{
QnOrder(Symbol(),OP_BUY,0.01,500,500,0,"",0);
}}
if(RSI >= Over_Bought )
{
QnOrder(Symbol(),OP_SELL,0.01,500,500,0,"",0); }
//====================================================
void QnOrder(string mySym, int myCMD, double myLots, int myTP=0, int mySL=0, int myMagic=0,string myNotes="", int myPendingPips=0){
double myPrice = 0,pTP=0,pSL=0;
double myPoint = MarketInfo(mySym,MODE_POINT);
switch(myCMD){
case OP_BUY:
myPrice = Ask;
pSL = myPrice-mySL*myPoint;
pTP = myPrice+myTP*myPoint;
break;
case OP_SELL:
myPrice = Bid;
pSL = myPrice+mySL*myPoint;
pTP = myPrice-myTP*myPoint;
break;
case OP_BUYLIMIT:
myPrice = Ask-myPendingPips*myPoint;
pSL = myPrice-mySL*myPoint;
pTP = myPrice+myTP*myPoint;
break;
case OP_SELLLIMIT:
myPrice = Bid+myPendingPips*myPoint;
pSL = myPrice+mySL*myPoint;
pTP = myPrice-myTP*myPoint;
break;
case OP_BUYSTOP:
myPrice = Ask+myPendingPips*myPoint;
pSL = myPrice-mySL*myPoint;
pTP = myPrice+myTP*myPoint;
break;
case OP_SELLSTOP:
myPrice = Bid-myPendingPips*myPoint;
pSL = myPrice+mySL*myPoint;
pTP = myPrice-myTP*myPoint;
break;
}
if(myTP==0) pTP=0;
if(mySL==0) pSL=0;
int myTicket = OrderSend(mySym,myCMD,myLots,myPrice,Slipage,0,0,myNotes,myMagic);
if(myTicket>0 && OrderSelect(myTicket,SELECT_BY_TICKET)){
bool rModify = OrderModify(OrderTicket(),OrderOpenPrice(),pSL,pTP,0);
}
}