Profit factor:
0.38
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself It automatically opens orders when conditions are reachedIt can change open orders parameters, due to possible stepping strategyChecks for the total of closed orders
Miscellaneous
It issuies visual alerts to the screen
1 Views
0 Downloads
0 Favorites
NLMAExp
//+------------------------------------------------------------------+
//|                                                      NLMAExp.mq4 |
//|                                             http://liteforex.net |
//|                                                              Alf |
//+------------------------------------------------------------------+
#property copyright "http://liteforex.net"
#property link      "Alf"

//---- input parameters
extern int       ST=50;
extern int       TP=100;
extern int       STEP=30; // øàã äëÿ òðåëèíãñòîïà
double    Lot=0.1;
extern int     Price          = 0;
extern int     Length         = 9;
extern int     Displace       = 0;
extern int     Filter         = 0;
extern double  Deviation      = 0; 
extern double    MinLot=0.1;
extern double    MaxLot=5;
extern double    K=1.68;// êîýôèöìåíò èçìåíåíèÿ ëîòà, 1 ëîò íåèçìåíÿåòñÿ 2 óäâîåíèå 3 óòðîåíèå è ò.ä.

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   lot();
   Comment("Lot=",Lot);
   
   if(OrdersTotal()==1)
   {
      OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
      if(OrderType()==OP_BUY && sell()) {OrderClose(OrderTicket(),OrderLots(),Bid,3);OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Ask+ST*Point,Bid-TP*Point);Alert("Sell");return(0);}
      if(OrderType()==OP_SELL && buy()) {OrderClose(OrderTicket(),OrderLots(),Ask,3);OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-ST*Point,Ask+TP*Point);Alert("Buy");return(0);}
      if(OrderType()==OP_BUY)
         if(OrderStopLoss()+ST*Point+STEP*Point<Bid) OrderModify(OrderTicket(),OrderOpenPrice(),Bid-ST*Point,OrderTakeProfit(),0);
      if(OrderType()==OP_SELL)
         if(OrderStopLoss()-ST*Point-STEP*Point>Ask)OrderModify(OrderTicket(),OrderOpenPrice(),Ask+ST*Point,OrderTakeProfit(),0);
   }
   
   if(OrdersTotal()==0)
   {
      
      if(buy()){OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-ST*Point,Ask+TP*Point);Alert("Buy");return(0);}
      if(sell()){OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Ask+ST*Point,Bid-TP*Point);Alert("Sell");}
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+

bool buy()
{
   if(iCustom(Symbol(),0,"NonLagMA",Price,Length,Displace,Filter,1,1,Deviation,false,0,0)>iCustom(Symbol(),0,"NonLagMA",Price,Length,Displace,Filter,1,1,Deviation,false,0,1) && iCustom(Symbol(),0,"NonLagMA",Price,Length,Displace,Filter,1,1,Deviation,false,0,1)<iCustom(Symbol(),0,"NonLagMA",Price,Length,Displace,Filter,1,1,Deviation,false,0,2))return(true);
   return(false); 
}

bool sell()
{
      if(iCustom(Symbol(),0,"NonLagMA",Price,Length,Displace,Filter,1,1,Deviation,false,0,0)<iCustom(Symbol(),0,"NonLagMA",Price,Length,Displace,Filter,1,1,Deviation,false,0,1) && iCustom(Symbol(),0,"NonLagMA",Price,Length,Displace,Filter,1,1,Deviation,false,0,1)>iCustom(Symbol(),0,"NonLagMA",Price,Length,Displace,Filter,1,1,Deviation,false,0,2))return(true);
   return(false); 
}

void lot()
{
   if(OrdersHistoryTotal()==0) {Lot=MinLot;return;}
   OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);
   if(OrderProfit()>0) {Lot=MinLot;return;}
   Lot=OrderLots()*K;
   if(MinLot<1) Lot=MathRound(Lot*10)/10;
   else Lot=MathRound(Lot);
   if(Lot<MinLot)Lot=MinLot;
   if(Lot>MaxLot)Lot=MaxLot;
}

Profitability Reports

USD/CAD Oct 2024 - Jan 2025
0.21
Total Trades 226
Won Trades 41
Lost trades 185
Win Rate 18.14 %
Expected payoff -38.73
Gross Profit 2258.03
Gross Loss -11010.84
Total Net Profit -8752.81
-100%
-50%
0%
50%
100%
NZD/USD Oct 2024 - Jan 2025
0.21
Total Trades 201
Won Trades 40
Lost trades 161
Win Rate 19.90 %
Expected payoff -45.41
Gross Profit 2438.10
Gross Loss -11566.00
Total Net Profit -9127.90
-100%
-50%
0%
50%
100%
GBP/USD Oct 2024 - Jan 2025
0.43
Total Trades 312
Won Trades 74
Lost trades 238
Win Rate 23.72 %
Expected payoff -26.05
Gross Profit 6148.40
Gross Loss -14275.90
Total Net Profit -8127.50
-100%
-50%
0%
50%
100%
AUD/USD Oct 2024 - Jan 2025
0.65
Total Trades 879
Won Trades 0
Lost trades 0
Win Rate 0.00 %
Expected payoff -10.39
Gross Profit 16685.50
Gross Loss -25815.00
Total Net Profit -9129.50
-100%
-50%
0%
50%
100%

Comments