TSD_TR_0[1].2_midweekplustrailtoprice

Download script
Profit factor:
74.27

This script is an automated trading system designed to manage market positions based on a multi-layered analysis of price trends and momentum. It follows a logic inspired by the "Triple Screen" system, which typically involves looking at different timeframes or indicators to confirm a trade direction.

Core Logic Overview

The script operates by analyzing three primary components: trend direction (MACD), momentum (OSMA), and overbought/oversold conditions (Williams %R). It uses these to decide when to place "Pending Orders"—orders that only activate if the market hits a specific price point—rather than entering trades instantly.

Key Functional Components

1. Trend and Momentum Analysis The script constantly monitors three technical indicators:

  • MACD (Moving Average Convergence Divergence): Used to determine the general trend direction.
  • OSMA (Oscillator Seeking Moving Average): Helps confirm the strength of the current momentum.
  • Williams %R: Identifies whether the market is currently in an "overbought" or "oversold" state.

2. Trade Entry Strategy The script only places a new trade if there is a confluence (agreement) between multiple indicators:

  • Buy Orders: Placed when the OSMA shows a positive trend and the Williams %R indicates the market is sufficiently oversold.
  • Sell Orders: Placed when the OSMA shows a negative trend and the Williams %R indicates the market is sufficiently overbought.
  • Placement Logic: Instead of buying at the current price, it sets "Buy Stop" or "Sell Stop" orders. These are positioned relative to the highs and lows of the previous day's trading candle, ensuring the trade only opens if the price breaks through a specific resistance or support level.

3. Dynamic Order Management Once an order is placed, the script actively manages it:

  • Automatic Deletion: If the market trend shifts (based on the OSMA direction) against your pending order, the script will automatically delete that order to prevent entering a losing trade.
  • Order Modification: It constantly checks if the price has moved significantly enough from the previous day's high or low and adjusts the entry price of your pending orders accordingly to maintain proper spacing from the current market price.

4. Trade Protection (Trailing Stops & Breakeven) For active trades already in profit, the script employs several safety mechanisms:

  • Trailing Stop: As the price moves in your favor, the "Stop Loss" automatically follows the price at a set distance. This allows the trade to stay open as long as it is profitable while locking in gains if the market turns around.
  • Periodic Adjustments: Every 12 hours, the script performs specific adjustments to the Stop Loss levels to move them closer to the "Breakeven" point (where you neither win nor lose money).
  • Safety Buffers: It includes logic to ensure that entry prices are kept at a minimum distance from the current price to avoid being filled during high-volatility spikes.

Money Management

The script includes an optional Money Management mode. If enabled, it calculates the trade size (Lot size) based on a percentage of your account balance, ensuring that your risk is scaled automatically as your account grows or shrinks.

Price Data Components
Series array that contains tick volumes of each bar Series array that contains the highest prices of each barSeries array that contains the highest prices of each barSeries array that contains the lowest prices of each barSeries array that contains the lowest prices of each barSeries array that contains open time of each bar
Orders Execution
Checks for the total of open ordersIt can change open orders parameters, due to possible stepping strategyIt automatically opens orders when conditions are reached
Indicators Used
MACD HistogramMoving Average of OscillatorForce indexLarry William percent range indicator
17 Views
2 Downloads
0 Favorites
TSD_TR_0[1].2_midweekplustrailtoprice
/*-----------------------------+
|			       |
| Shared by www.Aptrafx.com    |
|			       |
+------------------------------*/

/*[[
	Name := TSD
	Author := Copyright © 2005 Bob O'Brien / Barcode, MT4 code by Jesse Breaker, modified by TR
	Link := 
	Notes := Based on Alexander Elder's Triple Screen system. To be run on ANY chart timeframe, but assumes that each daily bar starts at 00:00.
	Lots := 1
	Stop Loss := 0
	Take Profit := 100
	Trailing Stop := 60
]]*/
//+------------------------------------------------------------------+
//|  External Variables                                              |
//+------------------------------------------------------------------+

extern double LotsIfNoMM = 1.0;
extern int TakeProfit = 100;
extern int Stoploss = 0;
extern int TrailingStop = 60;	
extern int EveryTwelveHoursUntilBEtrail = 10;	
extern int EveryTwelveHoursAfterBEtrail = 10;	
extern int EntryDistanceFromBar = 1;	
extern int StopDistanceFromBar = 1;	
extern int WPRperiod=24;		
extern int Slippage=5;			// Slippage
extern int MM_Mode=0,MM_Risk=20;

int cnt=0,total=0;

double MacdCurrent=0, MacdPrevious=0, MacdPrevious2=0, Direction=0, OsMAPrevious=0, OsMAPrevious2=0, OsMADirection=0;

double newbar=999,LastLogTime=0,PrevDay=0,PrevMonth=0,PrevYear=0,PrevCurtime=0,NextScheduledTrailTime=0;

double PriceOpen=0,Lots;								// Price Open


bool First=True,OperationSuccess;

double TradesThisSymbol=0;
double WilliamsBuy=0, WilliamsSell=0, ForcePos=0, ForceNeg=0, Force=0,NewPrice=0;
double StartMinute1=0,EndMinute1=0,StartMinute2=0,EndMinute2=0,StartMinute3=0,EndMinute3=0;
double StartMinute4=0,EndMinute4=0,StartMinute5=0,EndMinute5=0,StartMinute6=0,EndMinute6=0;
double StartMinute7=0,EndMinute7=0,DummyField=0;

int start()
{

if (! IsTesting()) 
Comment("TSD for MT4 ver beta 0.3 - DO NOT USE WITH REAL MONEY YET",
        "\n",
        "\n","Weekly MacdPrevious = ",MacdPrevious,"    Weekly OsMAPrevious = ",OsMAPrevious,
        "\n","Weekly MacdPrevious2 = ",MacdPrevious2,"    Weekly OsMAPrevious2 = ",OsMAPrevious2,
        "\n","Weekly Direction = ",Direction,"    Weekly OsMADirection = ",OsMADirection,
        "\n",
        "\n","Is Daily Williams Bullish = ",WilliamsBuy,
        "\n","Is Daily Williams Bearish = ",WilliamsSell,
        "\n",
        "\n","Total Orders = ",total,
        "\n","Trades this Symbol(",Symbol(),") = ",TradesThisSymbol,
        "\n",
        "\n","New Bar day of week (0-Sunday,1,2,3,4,5,6): ",newbar,
        "\n","Current tick: ",iVolume(Symbol(),0,0),
        "\n",
        "\n","Daily High[1] = ",iHigh(Symbol(),PERIOD_D1, 1),
        "\n","Daily High[2] = ",iHigh(Symbol(),PERIOD_D1, 2),
        "\n","Daily Low[1] = ",iLow(Symbol(),PERIOD_D1, 1),
        "\n","Daily Low[2] = ",iLow(Symbol(),PERIOD_D1, 2),
        "\n",
        "\n","Current Ask Price + 16 pips = ",Ask+(16*Point),
        "\n","Current Bid Price - 16 pips = ",Bid-(16*Point));
        
        
        
   if (MM_Mode < 0)  {
   Lots = MathCeil(AccountBalance()*MM_Risk/10000)/10;
     if (Lots > 100) {  
     Lots = 100;  
     }
   } else {
   Lots = LotsIfNoMM;
   }
   if (MM_Mode > 0)  
    {
   Lots = MathCeil(AccountBalance()*MM_Risk/10000)/10;
    if (Lots > 1)  
    {
    Lots = MathCeil(Lots);
    }
    if (Lots < 1)  
    {
    Lots = 1;
    }
    if (Lots > 100)  
    {  
     Lots = 100;  
     }
   }
        

     
	            
/////////////////////////////////////////////////
//  Process the next bar details
/////////////////////////////////////////////////

if (newbar != TimeDayOfWeek(CurTime())) 
{
	 newbar        = TimeDayOfWeek(CurTime());
	 //Newbar will be reset to 999 if the once-a-day order operations below fail, to ensure that they are retried on the next tick.

    NextScheduledTrailTime=CurTime()+43200;
   
	  MacdPrevious  = iMACD(NULL,10080,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
	  MacdPrevious2 = iMACD(NULL,10080,12,26,9,PRICE_CLOSE,MODE_MAIN,2);
	  
	  if (newbar<4) //Modify this to switch to using current week's OSMA on a specific day of the week (0-Sunday,1,2,3,4,5,6) 
         {
         OsMAPrevious  = iOsMA(NULL,10080,12,26,9,PRICE_CLOSE,1);
	      OsMAPrevious2 = iOsMA(NULL,10080,12,26,9,PRICE_CLOSE,2);
         }
         else
         {
         OsMAPrevious  = iOsMA(NULL,10080,12,26,9,PRICE_CLOSE,0);
	      OsMAPrevious2 = iOsMA(NULL,10080,12,26,9,PRICE_CLOSE,1);
         }
         
	  //OsMAPrevious  = iCustom(NULL,10080,"OsMAtestclone_0.5",12,26,9,0,1);
	  //OsMAPrevious2 = iCustom(NULL,10080,"OsMAtestclone_0.5",12,26,9,0,2);
	  //OsMAPrevious  = iCustom(NULL,PERIOD_D1,"OsMA_5_bar_rolling_0.4",12,26,9,0,1);
	  //OsMAPrevious2 = iCustom(NULL,PERIOD_D1,"OsMA_5_bar_rolling_0.4",12,26,9,0,2);

     /*
     Force = iForce(NULL,1440,2,MODE_EMA,PRICE_CLOSE,1); 
     ForcePos = iForce(NULL,1440,2,MODE_EMA,PRICE_CLOSE,1) > 0;
	  ForceNeg = iForce(NULL,1440,2,MODE_EMA,PRICE_CLOSE,1) < 0;
      */
      
	  WilliamsBuy = iWPR(NULL,1440,WPRperiod,1) < -25;
	  WilliamsSell = iWPR(NULL,1440,WPRperiod,1) > -75;


	  if (MacdPrevious > MacdPrevious2) Direction = 1;
	  if (MacdPrevious < MacdPrevious2) Direction = -1;
	  if (MacdPrevious == MacdPrevious2) Direction = 0;
	  
	  if (OsMAPrevious > OsMAPrevious2) OsMADirection = 1;
	  if (OsMAPrevious < OsMAPrevious2) OsMADirection = -1;
	  if (OsMAPrevious == OsMAPrevious2) OsMADirection = 0;
	          
        
        

/////////////////////////////////////////////////
//  Pending Order Management
/////////////////////////////////////////////////

   total=OrdersTotal();
      TradesThisSymbol=0;
      for(cnt=0;cnt<total;cnt++)
      { 
          OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      
          if(OrderSymbol()==Symbol())
          {
            TradesThisSymbol ++;
          } // close for if(OrderSymbol()==Symbol())
      } // close for for(cnt=0;cnt<total;cnt++)        

   if(TradesThisSymbol > 0)
	{
      total=OrdersTotal();
      for(cnt=0;cnt<total;cnt++)
  	   { 
  	      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

         if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP)
         {

				if(OsMADirection == -1)
  				{ 
  				   Print("BEGIN OP ", Symbol());
  				   OperationSuccess=OrderDelete(OrderTicket());
  				   if (OperationSuccess==FALSE)
  				      {
  				      newbar=999;
  				      return(0);
  				      }
  				   Print("SUCCESS OP ", Symbol());
				} // close for if(Direction == -1)
			} // close for if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP)

         if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP)
         {

				if(OsMADirection == 1)
  				{ 
  				   Print("BEGIN OP ", Symbol());
  				   OperationSuccess=OrderDelete(OrderTicket());
  				   if (OperationSuccess==FALSE)
  				      {
  				      newbar=999;
  				      return(0);
  				      }
  				   Print("SUCCESS OP ", Symbol());
				} //close for if(Direction == 1)
			} //close for if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP)


         if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP)
   	   {
				if(iHigh(Symbol(),PERIOD_D1, 1) < iHigh(Symbol(),PERIOD_D1, 2))
	  			{ 
					if(iHigh(Symbol(),PERIOD_D1, 1) > (Ask + 16 * Point))
	  				{ 
	  	   		  Print("BEGIN OP ", Symbol());
	  	   		  OperationSuccess=OrderModify(OrderTicket(),iHigh(Symbol(),PERIOD_D1, 1) + EntryDistanceFromBar * Point,iLow(Symbol(),PERIOD_D1, 1) - StopDistanceFromBar * Point,iHigh(Symbol(),PERIOD_D1, 1) + EntryDistanceFromBar * Point + TakeProfit * Point,0,Cyan);
  				      if (OperationSuccess==FALSE)
  				         {
  				         newbar=999;
  				         return(0);
  				         }
  				      Print("SUCCESS OP ", Symbol());
	  				} //close for if(iHigh(Symbol(),PERIOD_D1, 1) > (Ask + 16 * Point))
	  				else
	  				{
	  				  Print("BEGIN OP ", Symbol());
	  				  OperationSuccess=OrderModify(OrderTicket(),Ask + (16 + EntryDistanceFromBar) * Point,iLow(Symbol(),PERIOD_D1, 1) - StopDistanceFromBar * Point,Ask + (16 + EntryDistanceFromBar) * Point + TakeProfit * Point,0,Cyan);
  				      if (OperationSuccess==FALSE)
  				         {
  				         newbar=999;
  				         return(0);
  				         }
  				      Print("SUCCESS OP ", Symbol());
	  				
	  				} //close for else statement
	  			} //close for if(iHigh(Symbol(),PERIOD_D1, 1) < iHigh(Symbol(),PERIOD_D1, 2))
	  		} //close for if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP)
	  
	      if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP)
   		{
				if(iLow(Symbol(),PERIOD_D1, 1) > iLow(Symbol(),PERIOD_D1, 2))
				{ 
					if(iLow(Symbol(),PERIOD_D1, 1) < (Bid - 16 * Point))
					{
		   		  Print("BEGIN OP ", Symbol());
		   		  OperationSuccess=OrderModify(OrderTicket(),iLow(Symbol(),PERIOD_D1, 1) - EntryDistanceFromBar * Point,iHigh(Symbol(),PERIOD_D1, 1) + StopDistanceFromBar * Point,iLow(Symbol(),PERIOD_D1, 1) - EntryDistanceFromBar * Point - TakeProfit * Point,0,Cyan);
  				      if (OperationSuccess==FALSE)
  				         {
  				         newbar=999;
  				         return(0);
  				         }
  				      Print("SUCCESS OP ", Symbol());
					} // close for if(iLow(Symbol(),PERIOD_D1, 1) < (Bid - 16 * Point))
					else
					{
					  Print("BEGIN OP ", Symbol());
					  OperationSuccess=OrderModify(OrderTicket(),Bid - (16 + EntryDistanceFromBar) * Point,iHigh(Symbol(),PERIOD_D1, 1) + StopDistanceFromBar * Point,Bid - (16 + EntryDistanceFromBar) * Point - TakeProfit * Point,0,Cyan);
  				      if (OperationSuccess==FALSE)
  				         {
  				         newbar=999;
  				         return(0);
  				         }
  				      Print("SUCCESS OP ", Symbol());
      
					} //close for else statement
				} //close for if(iLow(Symbol(),PERIOD_D1, 1) > iLow(Symbol(),PERIOD_D1, 2))
			} //close for if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP)
		} // close for for(cnt=0;cnt<total;cnt++)
	} // close for if(TradesThisSymbol > 0)


/////////////////////////////////////////////////
//  NEW Orders to Place
/////////////////////////////////////////////////


   total=OrdersTotal();
     TradesThisSymbol=0;
     for(cnt=0;cnt<total;cnt++)
     { 
         OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      
         if(OrderSymbol()==Symbol())
         {
           TradesThisSymbol ++;
         } // close for if(OrderSymbol()==Symbol())
     } // close for for(cnt=0;cnt<total;cnt++)        

	 if(TradesThisSymbol < 1) 
	 {
	   
	   if(OsMADirection == 1 && WilliamsBuy)
		{
			PriceOpen = iHigh(Symbol(),PERIOD_D1, 1) + EntryDistanceFromBar * Point;		// Buy 1 point above high of previous candle
			if(PriceOpen > (Ask + 16 * Point))  // Check if buy price is a least 16 points > Ask
			{
				Print("BEGIN OP ", Symbol());
				OperationSuccess=OrderSend(Symbol(),OP_BUYSTOP,Lots,PriceOpen,Slippage,iLow(Symbol(),PERIOD_D1, 1) - StopDistanceFromBar * Point,PriceOpen + TakeProfit * Point,"Buy Entry Order placed at "+CurTime(),0,0,Green);
		      if (OperationSuccess==FALSE)
		         {
		         newbar=999;
		         return(0);
		         }
		      Print("SUCCESS OP ", Symbol());
      
			} // close for if(PriceOpen > (Ask + 16 * Point))
			else
			{
			   NewPrice = Ask + (16 + EntryDistanceFromBar) * Point;
				Print("BEGIN OP ", Symbol());
				OperationSuccess=OrderSend(Symbol(),OP_BUYSTOP,Lots,NewPrice,Slippage,iLow(Symbol(),PERIOD_D1, 1) - StopDistanceFromBar * Point,NewPrice + TakeProfit * Point,"Buy Entry Order placed at "+CurTime(),0,0,Green);
		      if (OperationSuccess==FALSE)
		         {
		         newbar=999;
		         return(0);
		         }
		      Print("SUCCESS OP ", Symbol());
 			} // close for else statement
	   } // close for if(Direction == 1 && WilliamsSell)
     
     
     if(OsMADirection == -1 && WilliamsSell)
     {
         PriceOpen = iLow(Symbol(),PERIOD_D1, 1) - EntryDistanceFromBar * Point;
			if(PriceOpen < (Bid - 16 * Point)) // Check if buy price is a least 16 points < Bid
			{
				Print("BEGIN OP ", Symbol());
				OperationSuccess=OrderSend(Symbol(),OP_SELLSTOP,Lots,PriceOpen,Slippage,iHigh(Symbol(),PERIOD_D1, 1) + StopDistanceFromBar * Point,PriceOpen - TakeProfit * Point,"Sell Entry Order placed at "+CurTime(),0,0,Green);
		      if (OperationSuccess==FALSE)
		         {
		         newbar=999;
		         return(0);
		         }
		      Print("SUCCESS OP ", Symbol());
			} // close for if(PriceOpen < (Bid - 16 * Point))
			else
			{
				NewPrice = Bid - (16 + EntryDistanceFromBar) * Point;
				Print("BEGIN OP ", Symbol());
				OperationSuccess=OrderSend(Symbol(),OP_SELLSTOP,Lots,NewPrice,Slippage,iHigh(Symbol(),PERIOD_D1, 1) + StopDistanceFromBar * Point,NewPrice - TakeProfit * Point,"Sell Entry Order placed at "+CurTime(),0,0,Green);
		      if (OperationSuccess==FALSE)
		         {
		         newbar=999;
		         return(0);
		         }
		      Print("SUCCESS OP ", Symbol());
			} // close for else statement

      } // close for if(Direction == -1 && WilliamsBuy)
    } //Close of if(TradesThisSymbol < 1)





} // close for if (newbar != Time[0]) 




/////////////////////////////////////////////////
//  Stop Loss Management
/////////////////////////////////////////////////

total=OrdersTotal();
  TradesThisSymbol=0;
  for(cnt=0;cnt<total;cnt++)
  { 
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      
      if(OrderSymbol()==Symbol())
      {
        TradesThisSymbol ++;
      } // close for if(OrderSymbol()==Symbol())
  } // close for for(cnt=0;cnt<total;cnt++)        

if(TradesThisSymbol > 0)
{
  total=OrdersTotal();
  for(cnt=0;cnt<total;cnt++)
  { 
     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

     if(OrderSymbol()==Symbol() && OrderType()==OP_BUY)
    	{
         
         if (IsTesting() && LastLogTime != iTime(NULL,PERIOD_H1,1)) 
         {
            LastLogTime=iTime(NULL,PERIOD_H1,1);
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit()+Point*1,0,Cyan);
         }

			if(CurTime()> NextScheduledTrailTime && OrderStopLoss() < OrderOpenPrice())
  			   { 
	   		   OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss() + EveryTwelveHoursUntilBEtrail * Point,Ask + TakeProfit * Point,0,Cyan);
               NextScheduledTrailTime=CurTime()+43200;
               return(0);					

				} 

			if(CurTime()> NextScheduledTrailTime && OrderStopLoss() >= OrderOpenPrice())
  			   { 
	   		   OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss() + EveryTwelveHoursAfterBEtrail * Point,Ask + TakeProfit * Point,0,Cyan);
               NextScheduledTrailTime=CurTime()+43200;
               return(0);					

				} 


			if(Ask-OrderOpenPrice() > (TrailingStop * Point))
  			{ 
				if(OrderStopLoss() < (Ask - TrailingStop * Point))
				{ 
	   		   OrderModify(OrderTicket(),OrderOpenPrice(),Ask - TrailingStop * Point,Ask + TakeProfit * Point,0,Cyan);
               //return(0);					

				} // close for if(OrderStopLoss() < (Ask - TrailingStop * Point))
			} // close for if(Ask-OrderOpenPrice() > (TrailingStop * Point))
		} // close for if(OrderSymbol()==Symbol() && OrderType()==OP_BUY)
	
     if(OrderSymbol()==Symbol() && OrderType()==OP_SELL)
		{
		
         if (IsTesting() && LastLogTime != iTime(NULL,PERIOD_H1,1)) 
         {
            LastLogTime=iTime(NULL,PERIOD_H1,1);
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit()-Point*1,0,Cyan);
         }


			if(CurTime()> NextScheduledTrailTime && OrderStopLoss() > OrderOpenPrice())
  			   { 
	   		   OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss() - EveryTwelveHoursUntilBEtrail * Point,Bid - TakeProfit * Point,0,Cyan);
               NextScheduledTrailTime=CurTime()+43200;
               return(0);					

				} 

			if(CurTime()> NextScheduledTrailTime && OrderStopLoss() <= OrderOpenPrice())
  			   { 
	   		   OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss() - EveryTwelveHoursAfterBEtrail * Point,Bid - TakeProfit * Point,0,Cyan);
               NextScheduledTrailTime=CurTime()+43200;
               return(0);					

				} 


			if(OrderOpenPrice() - Bid > (TrailingStop * Point))
			{ 
				if(OrderStopLoss() > (Bid + TrailingStop * Point))
				{ 
	   		   OrderModify(OrderTicket(),OrderOpenPrice(),Bid + TrailingStop * Point,Bid - TakeProfit * Point,0,Cyan);
               //return(0);					

				} // close for if(OrderStopLoss() > (Bid + TrailingStop * Point))
			} // close for if(OrderOpenPrice() - Bid > (TrailingStop * Point))
         //else if (IsTesting()) OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit()-Point*1,0,Cyan);
		 } // close for if(OrderSymbol()==Symbol() && OrderType()==OP_SELL)
  	  } // close for for(cnt=0;cnt<total;cnt++)
   } // close for if(TradesThisSymbol > 0)
  
	

//return(0);

} // close for start

Profitability Reports

PERFORMANCE BY SYMBOL

Expected payoff

Average expected payoff across the available backtests for each symbol.

Positive Negative
29 reports
EUR/USD Jul 2025 - Sep 2025
1062.33
Total Trades 20
Won Trades 17
Lost trades 3
Win Rate 85.00 %
Expected payoff 52748.30
Gross Profit 1055960.00
Gross Loss -994.00
Total Net Profit 1054966.00
-100%
-50%
0%
50%
100%
EUR/USD Jul 2025 - Sep 2025
1062.30
Total Trades 20
Won Trades 17
Lost trades 3
Win Rate 85.00 %
Expected payoff 52746.65
Gross Profit 1055927.00
Gross Loss -994.00
Total Net Profit 1054933.00
-100%
-50%
0%
50%
100%
GBP/CAD Oct 2025 - Feb 2026
5.94
Total Trades 26
Won Trades 24
Lost trades 2
Win Rate 92.31 %
Expected payoff 14.24
Gross Profit 445.23
Gross Loss -74.91
Total Net Profit 370.32
-100%
-50%
0%
50%
100%
AUD/USD Jul 2025 - Sep 2025
3.64
Total Trades 13
Won Trades 12
Lost trades 1
Win Rate 92.31 %
Expected payoff 66.00
Gross Profit 1183.00
Gross Loss -325.00
Total Net Profit 858.00
-100%
-50%
0%
50%
100%
USD/JPY Jan 2025 - Jul 2025
2.97
Total Trades 36
Won Trades 35
Lost trades 1
Win Rate 97.22 %
Expected payoff 32.99
Gross Profit 1791.16
Gross Loss -603.59
Total Net Profit 1187.57
-100%
-50%
0%
50%
100%
AUD/USD Jul 2025 - Sep 2025
2.89
Total Trades 13
Won Trades 12
Lost trades 1
Win Rate 92.31 %
Expected payoff 47.15
Gross Profit 938.00
Gross Loss -325.00
Total Net Profit 613.00
-100%
-50%
0%
50%
100%
NZD/USD Jul 2025 - Sep 2025
2.55
Total Trades 23
Won Trades 19
Lost trades 4
Win Rate 82.61 %
Expected payoff 34.78
Gross Profit 1315.00
Gross Loss -515.00
Total Net Profit 800.00
-100%
-50%
0%
50%
100%
NZD/USD Jul 2025 - Sep 2025
1.41
Total Trades 22
Won Trades 17
Lost trades 5
Win Rate 77.27 %
Expected payoff 16.05
Gross Profit 1220.00
Gross Loss -867.00
Total Net Profit 353.00
-100%
-50%
0%
50%
100%
USD/CAD Jul 2025 - Sep 2025
1.32
Total Trades 24
Won Trades 21
Lost trades 3
Win Rate 87.50 %
Expected payoff 10.72
Gross Profit 1069.05
Gross Loss -811.69
Total Net Profit 257.36
-100%
-50%
0%
50%
100%
AUD/USD Oct 2024 - Jan 2025
1.26
Total Trades 15
Won Trades 0
Lost trades 0
Win Rate 0.00 %
Expected payoff 8.00
Gross Profit 578.00
Gross Loss -458.00
Total Net Profit 120.00
-100%
-50%
0%
50%
100%
EUR/USD Oct 2025 - Feb 2026
1.11
Total Trades 24
Won Trades 20
Lost trades 4
Win Rate 83.33 %
Expected payoff 3.71
Gross Profit 920.00
Gross Loss -831.00
Total Net Profit 89.00
-100%
-50%
0%
50%
100%
USD/CAD Jan 2025 - Jul 2025
0.94
Total Trades 35
Won Trades 31
Lost trades 4
Win Rate 88.57 %
Expected payoff -3.30
Gross Profit 1772.60
Gross Loss -1888.11
Total Net Profit -115.51
-100%
-50%
0%
50%
100%
AUD/USD Jan 2025 - Jul 2025
0.73
Total Trades 27
Won Trades 20
Lost trades 7
Win Rate 74.07 %
Expected payoff -16.74
Gross Profit 1217.00
Gross Loss -1669.00
Total Net Profit -452.00
-100%
-50%
0%
50%
100%
NZD/USD Oct 2024 - Jan 2025
0.67
Total Trades 10
Won Trades 9
Lost trades 1
Win Rate 90.00 %
Expected payoff -22.00
Gross Profit 448.00
Gross Loss -668.00
Total Net Profit -220.00
-100%
-50%
0%
50%
100%
EUR/USD Jan 2025 - Jul 2025
0.56
Total Trades 39
Won Trades 27
Lost trades 12
Win Rate 69.23 %
Expected payoff -57.90
Gross Profit 2871.00
Gross Loss -5129.00
Total Net Profit -2258.00
-100%
-50%
0%
50%
100%
USD/CHF Jul 2025 - Sep 2025
0.50
Total Trades 19
Won Trades 14
Lost trades 5
Win Rate 73.68 %
Expected payoff -51.61
Gross Profit 990.37
Gross Loss -1970.97
Total Net Profit -980.60
-100%
-50%
0%
50%
100%
GBP/AUD Jan 2025 - Jul 2025
0.42
Total Trades 31
Won Trades 28
Lost trades 3
Win Rate 90.32 %
Expected payoff -41.80
Gross Profit 934.04
Gross Loss -2229.98
Total Net Profit -1295.94
-100%
-50%
0%
50%
100%
GBP/AUD Oct 2025 - Feb 2026
0.42
Total Trades 25
Won Trades 21
Lost trades 4
Win Rate 84.00 %
Expected payoff -31.77
Gross Profit 572.73
Gross Loss -1367.00
Total Net Profit -794.27
-100%
-50%
0%
50%
100%
GBP/USD Oct 2024 - Jan 2025
0.39
Total Trades 15
Won Trades 11
Lost trades 4
Win Rate 73.33 %
Expected payoff -50.07
Gross Profit 487.00
Gross Loss -1238.00
Total Net Profit -751.00
-100%
-50%
0%
50%
100%
GBP/USD Jan 2025 - Jul 2025
0.33
Total Trades 25
Won Trades 17
Lost trades 8
Win Rate 68.00 %
Expected payoff -49.20
Gross Profit 618.00
Gross Loss -1848.00
Total Net Profit -1230.00
-100%
-50%
0%
50%
100%
NZD/USD Jan 2025 - Jul 2025
0.33
Total Trades 32
Won Trades 23
Lost trades 9
Win Rate 71.88 %
Expected payoff -62.66
Gross Profit 1001.00
Gross Loss -3006.00
Total Net Profit -2005.00
-100%
-50%
0%
50%
100%
GBP/CAD Jul 2025 - Sep 2025
0.33
Total Trades 12
Won Trades 8
Lost trades 4
Win Rate 66.67 %
Expected payoff -93.61
Gross Profit 550.62
Gross Loss -1673.98
Total Net Profit -1123.36
-100%
-50%
0%
50%
100%
GBP/AUD Jul 2025 - Sep 2025
0.27
Total Trades 10
Won Trades 6
Lost trades 4
Win Rate 60.00 %
Expected payoff -144.47
Gross Profit 539.17
Gross Loss -1983.90
Total Net Profit -1444.73
-100%
-50%
0%
50%
100%
AUD/USD Oct 2025 - Feb 2026
0.21
Total Trades 19
Won Trades 13
Lost trades 6
Win Rate 68.42 %
Expected payoff -61.89
Gross Profit 304.00
Gross Loss -1480.00
Total Net Profit -1176.00
-100%
-50%
0%
50%
100%
GBP/CAD Jul 2025 - Sep 2025
0.00
Total Trades 12
Won Trades 12
Lost trades 0
Win Rate 100.00 %
Expected payoff 19.83
Gross Profit 237.93
Gross Loss 0.00
Total Net Profit 237.93
-100%
-50%
0%
50%
100%
GBP/USD Jul 2025 - Sep 2025
0.00
Total Trades 13
Won Trades 13
Lost trades 0
Win Rate 100.00 %
Expected payoff 75.38
Gross Profit 980.00
Gross Loss 0.00
Total Net Profit 980.00
-100%
-50%
0%
50%
100%
USD/JPY Jul 2025 - Sep 2025
0.00
Total Trades 20
Won Trades 20
Lost trades 0
Win Rate 100.00 %
Expected payoff 69.27
Gross Profit 1385.42
Gross Loss 0.00
Total Net Profit 1385.42
-100%
-50%
0%
50%
100%
GBP/USD Jul 2025 - Sep 2025
0.00
Total Trades 13
Won Trades 13
Lost trades 0
Win Rate 100.00 %
Expected payoff 60.77
Gross Profit 790.00
Gross Loss 0.00
Total Net Profit 790.00
-100%
-50%
0%
50%
100%
USD/JPY Jul 2025 - Sep 2025
0.00
Total Trades 20
Won Trades 20
Lost trades 0
Win Rate 100.00 %
Expected payoff 45.48
Gross Profit 909.50
Gross Loss 0.00
Total Net Profit 909.50
-100%
-50%
0%
50%
100%

Comments