• Welcome back! Thank you for being a part of this Traders Community. Let's discuss and share :)
    Selamat datang kembali! Trimakasih telah menjadi bagian dari Komunitas Trader ini. Mari berdiskusi dan berbagi :)

Question auto close at profit EA

Code:
#property description "Learn more: https://www.youtube.com/@AutoBotFX88"

#include <Trade\Trade.mqh>
CTrade oTrade;

input    long     inMagicNumber = 0;   //Magic Number
input    double   inTargetMoney  = 10; //Target Money

int OnInit()
{
   oTrade.SetExpertMagicNumber(inMagicNumber);
   return(INIT_SUCCEEDED);
}

void OnTick()
{
   closeAllByTarget(inTargetMoney);
}

void closeAllByTarget(double target){
   double sumFloating = getFloating();
   if (sumFloating >= target && target > 0){
      fCloseAll();
   }
}

double getFloating(){
   double sumFloating = 0.0;
   int tPos = PositionsTotal();
   for (int i=tPos-1; i>=0; i--){
      ulong ticket = PositionGetTicket(i);
      if (ticket > 0 && PositionGetInteger(POSITION_MAGIC) == inMagicNumber && PositionGetString(POSITION_SYMBOL) == Symbol() ){
         sumFloating += PositionGetDouble(POSITION_PROFIT);
      }
   }
   return (sumFloating);
}

void fCloseAll(){
   int tPos = PositionsTotal();
   for (int i=tPos-1; i>=0; i--){
      ulong ticket = PositionGetTicket(i);
      if (ticket > 0 && PositionGetInteger(POSITION_MAGIC) == inMagicNumber && PositionGetString(POSITION_SYMBOL) == Symbol() ){
         if (!oTrade.PositionClose(ticket) ){
            Print("WARNING: Closing Position failed");
         }
      }
   }
}
 
Last edited:
Back
Top