TSD-TR_0.2-midweekswitch

Profit factor:
15.57

Trading Strategy Logic Overview (TSD Script)

This document provides a non-technical explanation of the trading logic contained within the MetaTrader MQL script. The script is designed to automate trading decisions based on the "Triple Screen" system, utilizing specific technical indicators and price action rules.

Core Trading Philosophy

The script operates by analyzing three different layers of market data to determine trend direction and entry points:

  1. Trend Identification: Determining the broad direction of the market.
  2. Momentum Confirmation: Confirming the strength or "force" behind that trend.
  3. Execution: Placing and managing orders based on specific price levels (Highs/Lows).

Key Components & Indicators

To make its decisions, the script monitors three primary indicators:

  • MACD (Moving Average Convergence Divergence): Used to determine the general trend direction.
  • OSMA (Oscillator of MACD): Used as a secondary filter to confirm the strength and direction of the momentum.
  • Williams %R: A momentum indicator used to identify specific "Buy" or "Sell" zones.

Trading Logic Workflow

1. Entry Conditions (When to Trade)

The script will only initiate a new trade if there are no existing positions for the current symbol and both the trend and momentum indicators align:

  • For Buy Orders: The OSMA must be moving in an upward direction, and the Williams %R indicator must show a "Bullish" signal (reaching a specific low threshold).
  • For Sell Orders: The OSMA must be moving in a downward direction, and the Williams %R indicator must show a "Bearish" signal (reaching a specific high threshold).

2. Order Placement Rules

The script uses Pending Orders (Buy Stops and Sell Stops), meaning it does not enter the market instantly but waits for the price to hit a specific "trigger" level:

  • Buy Entry: The script places an order slightly above the High of the previous daily candle. If the current market price is too close, it adjusts the entry point to be at least 16 pips away from the current price to ensure enough "room" for the trade to develop.
  • Sell Entry: The script places an order slightly below the Low of the previous daily candle. Similar to the Buy rule, if the price is too close, it adjusts the entry to be at least 16 pips away.

3. Active Trade Management

Once a trade is active or a pending order exists, the script performs three continuous tasks:

  • Automatic Deletion: If the market momentum shifts against an open pending order (e.g., you have a Buy Stop but the OSMA turns downward), the script will automatically delete the pending order to prevent a bad entry.
  • Dynamic Price Adjustment: The script constantly monitors the previous day's High and Low. It may modify the price levels of pending orders to ensure they remain relevant to recent price action.
  • Trailing Stop Loss: For active trades, the script uses a "Trailing Stop." As the price moves in your favor (profit increases), the Stop Loss is automatically moved forward to lock in gains while maintaining a set distance from the current price.

Money Management & Safety

  • Lot Sizing: The script includes a Money Management (MM) mode. Depending on your settings, it can automatically calculate the trade size based on your account balance and a specific percentage of risk.
  • Safety Limits: It ensures that trade sizes do not exceed predefined maximum limits to prevent over-leveraging.
  • Fixed Targets: Every trade is assigned a predefined Take Profit and Stop Loss level at the moment of entry to ensure disciplined exits.
Price Data Components
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
19 Views
2 Downloads
0 Favorites
TSD-TR_0.2-midweekswitch
/*-----------------------------+
|			       |
| 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 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;

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 Time is ",TimeToStr(newbar),
        "\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.


	  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,24,1) < -25;
	  WilliamsSell = iWPR(NULL,1440,24,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)
  				{ 
  				   OperationSuccess=OrderDelete(OrderTicket());
  				   if (OperationSuccess==FALSE)
  				      {
  				      newbar=999;
  				      return(0);
  				      }
				} // close for if(Direction == -1)
			} // close for if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP)

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

				if(OsMADirection == 1)
  				{ 
  				   OperationSuccess=OrderDelete(OrderTicket());
  				   if (OperationSuccess==FALSE)
  				      {
  				      newbar=999;
  				      return(0);
  				      }
				} //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))
	  				{ 
	  	   		  OperationSuccess=OrderModify(OrderTicket(),iHigh(Symbol(),PERIOD_D1, 1) + 1 * Point,iLow(Symbol(),PERIOD_D1, 1) - 1 * Point,iHigh(Symbol(),PERIOD_D1, 1) + 1 * Point + TakeProfit * Point,0,Cyan);
  				      if (OperationSuccess==FALSE)
  				         {
  				         newbar=999;
  				         return(0);
  				         }
	  				} //close for if(iHigh(Symbol(),PERIOD_D1, 1) > (Ask + 16 * Point))
	  				else
	  				{
	  				  OperationSuccess=OrderModify(OrderTicket(),Ask + 16 * Point,iLow(Symbol(),PERIOD_D1, 1) - 1 * Point,Ask + 16 * Point + TakeProfit * Point,0,Cyan);
  				      if (OperationSuccess==FALSE)
  				         {
  				         newbar=999;
  				         return(0);
  				         }
	  				
	  				} //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))
					{
		   		  OperationSuccess=OrderModify(OrderTicket(),iLow(Symbol(),PERIOD_D1, 1) - 1 * Point,iHigh(Symbol(),PERIOD_D1, 1) + 1 * Point,iLow(Symbol(),PERIOD_D1, 1) - 1 * Point - TakeProfit * Point,0,Cyan);
  				      if (OperationSuccess==FALSE)
  				         {
  				         newbar=999;
  				         return(0);
  				         }
					} // close for if(iLow(Symbol(),PERIOD_D1, 1) < (Bid - 16 * Point))
					else
					{
					  OperationSuccess=OrderModify(OrderTicket(),Bid - 16 * Point,iHigh(Symbol(),PERIOD_D1, 1) + 1 * Point,Bid - 16 * Point - TakeProfit * Point,0,Cyan);
  				      if (OperationSuccess==FALSE)
  				         {
  				         newbar=999;
  				         return(0);
  				         }
      
					} //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) + 1 * Point;		// Buy 1 point above high of previous candle
			if(PriceOpen > (Ask + 16 * Point))  // Check if buy price is a least 16 points > Ask
			{
				OperationSuccess=OrderSend(Symbol(),OP_BUYSTOP,Lots,PriceOpen,Slippage,iLow(Symbol(),PERIOD_D1, 1) - 1 * Point,PriceOpen + TakeProfit * Point,"Buy Entry Order placed at "+CurTime(),0,0,Green);
		      if (OperationSuccess==FALSE)
		         {
		         newbar=999;
		         return(0);
		         }
      
			} // close for if(PriceOpen > (Ask + 16 * Point))
			else
			{
			   NewPrice = Ask + 16 * Point;
				OperationSuccess=OrderSend(Symbol(),OP_BUYSTOP,Lots,NewPrice,Slippage,iLow(Symbol(),PERIOD_D1, 1) - 1 * Point,NewPrice + TakeProfit * Point,"Buy Entry Order placed at "+CurTime(),0,0,Green);
		      if (OperationSuccess==FALSE)
		         {
		         newbar=999;
		         return(0);
		         }
 			} // close for else statement
	   } // close for if(Direction == 1 && WilliamsSell)
     
     
     if(OsMADirection == -1 && WilliamsSell)
     {
         PriceOpen = iLow(Symbol(),PERIOD_D1, 1) - 1 * Point;
			if(PriceOpen < (Bid - 16 * Point)) // Check if buy price is a least 16 points < Bid
			{
				OperationSuccess=OrderSend(Symbol(),OP_SELLSTOP,Lots,PriceOpen,Slippage,iHigh(Symbol(),PERIOD_D1, 1) + 1 * Point,PriceOpen - TakeProfit * Point,"Sell Entry Order placed at "+CurTime(),0,0,Green);
		      if (OperationSuccess==FALSE)
		         {
		         newbar=999;
		         return(0);
		         }
			} // close for if(PriceOpen < (Bid - 16 * Point))
			else
			{
				NewPrice = Bid - 16 * Point;
				OperationSuccess=OrderSend(Symbol(),OP_SELLSTOP,Lots,NewPrice,Slippage,iHigh(Symbol(),PERIOD_D1, 1) + 1 * Point,NewPrice - TakeProfit * Point,"Sell Entry Order placed at "+CurTime(),0,0,Green);
		      if (OperationSuccess==FALSE)
		         {
		         newbar=999;
		         return(0);
		         }
			} // 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(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(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

EUR/USD Jul 2025 - Sep 2025
399.08
Total Trades 20
Won Trades 18
Lost trades 2
Win Rate 90.00 %
Expected payoff 52665.90
Gross Profit 1055964.00
Gross Loss -2646.00
Total Net Profit 1053318.00
-100%
-50%
0%
50%
100%
AUD/USD Jul 2025 - Sep 2025
3.50
Total Trades 13
Won Trades 12
Lost trades 1
Win Rate 92.31 %
Expected payoff 64.46
Gross Profit 1173.00
Gross Loss -335.00
Total Net Profit 838.00
-100%
-50%
0%
50%
100%
AUD/USD Oct 2024 - Jan 2025
2.95
Total Trades 10
Won Trades 0
Lost trades 0
Win Rate 0.00 %
Expected payoff 75.10
Gross Profit 1137.00
Gross Loss -386.00
Total Net Profit 751.00
-100%
-50%
0%
50%
100%
AUD/USD Jul 2025 - Sep 2025
2.80
Total Trades 13
Won Trades 12
Lost trades 1
Win Rate 92.31 %
Expected payoff 46.38
Gross Profit 938.00
Gross Loss -335.00
Total Net Profit 603.00
-100%
-50%
0%
50%
100%
NZD/USD Jul 2025 - Sep 2025
1.79
Total Trades 16
Won Trades 14
Lost trades 2
Win Rate 87.50 %
Expected payoff 49.19
Gross Profit 1785.00
Gross Loss -998.00
Total Net Profit 787.00
-100%
-50%
0%
50%
100%
USD/CAD Jul 2025 - Sep 2025
1.60
Total Trades 24
Won Trades 22
Lost trades 2
Win Rate 91.67 %
Expected payoff 18.85
Gross Profit 1209.97
Gross Loss -757.63
Total Net Profit 452.34
-100%
-50%
0%
50%
100%
USD/CAD Jul 2025 - Sep 2025
1.58
Total Trades 24
Won Trades 22
Lost trades 2
Win Rate 91.67 %
Expected payoff 18.26
Gross Profit 1195.95
Gross Loss -757.63
Total Net Profit 438.32
-100%
-50%
0%
50%
100%
NZD/USD Jul 2025 - Sep 2025
1.39
Total Trades 21
Won Trades 19
Lost trades 2
Win Rate 90.48 %
Expected payoff 17.05
Gross Profit 1285.00
Gross Loss -927.00
Total Net Profit 358.00
-100%
-50%
0%
50%
100%
USD/CHF Jan 2025 - Jul 2025
1.10
Total Trades 32
Won Trades 30
Lost trades 2
Win Rate 93.75 %
Expected payoff 4.66
Gross Profit 1644.32
Gross Loss -1495.07
Total Net Profit 149.25
-100%
-50%
0%
50%
100%
USD/CAD Jan 2025 - Jul 2025
0.70
Total Trades 35
Won Trades 32
Lost trades 3
Win Rate 91.43 %
Expected payoff -22.51
Gross Profit 1811.61
Gross Loss -2599.62
Total Net Profit -788.01
-100%
-50%
0%
50%
100%
NZD/USD Oct 2024 - Jan 2025
0.66
Total Trades 10
Won Trades 9
Lost trades 1
Win Rate 90.00 %
Expected payoff -22.80
Gross Profit 450.00
Gross Loss -678.00
Total Net Profit -228.00
-100%
-50%
0%
50%
100%
EUR/USD Oct 2025 - Feb 2026
0.62
Total Trades 24
Won Trades 22
Lost trades 2
Win Rate 91.67 %
Expected payoff -26.83
Gross Profit 1065.00
Gross Loss -1709.00
Total Net Profit -644.00
-100%
-50%
0%
50%
100%
GBP/CAD Jul 2025 - Sep 2025
0.51
Total Trades 9
Won Trades 7
Lost trades 2
Win Rate 77.78 %
Expected payoff -68.88
Gross Profit 639.19
Gross Loss -1259.09
Total Net Profit -619.90
-100%
-50%
0%
50%
100%
NZD/USD Jan 2025 - Jul 2025
0.43
Total Trades 32
Won Trades 27
Lost trades 5
Win Rate 84.38 %
Expected payoff -45.12
Gross Profit 1110.00
Gross Loss -2554.00
Total Net Profit -1444.00
-100%
-50%
0%
50%
100%
GBP/AUD Oct 2025 - Feb 2026
0.40
Total Trades 24
Won Trades 22
Lost trades 2
Win Rate 91.67 %
Expected payoff -35.54
Gross Profit 561.40
Gross Loss -1414.40
Total Net Profit -853.00
-100%
-50%
0%
50%
100%
USD/CHF Jul 2025 - Sep 2025
0.38
Total Trades 19
Won Trades 16
Lost trades 3
Win Rate 84.21 %
Expected payoff -75.71
Gross Profit 879.35
Gross Loss -2317.88
Total Net Profit -1438.53
-100%
-50%
0%
50%
100%
GBP/CAD Jan 2025 - Jul 2025
0.34
Total Trades 32
Won Trades 25
Lost trades 7
Win Rate 78.13 %
Expected payoff -122.05
Gross Profit 2029.56
Gross Loss -5935.24
Total Net Profit -3905.68
-100%
-50%
0%
50%
100%
AUD/USD Oct 2025 - Feb 2026
0.33
Total Trades 18
Won Trades 15
Lost trades 3
Win Rate 83.33 %
Expected payoff -40.89
Gross Profit 356.00
Gross Loss -1092.00
Total Net Profit -736.00
-100%
-50%
0%
50%
100%
GBP/AUD Jul 2025 - Sep 2025
0.22
Total Trades 9
Won Trades 6
Lost trades 3
Win Rate 66.67 %
Expected payoff -160.60
Gross Profit 415.42
Gross Loss -1860.86
Total Net Profit -1445.44
-100%
-50%
0%
50%
100%
GBP/AUD Jul 2025 - Sep 2025
0.07
Total Trades 10
Won Trades 8
Lost trades 2
Win Rate 80.00 %
Expected payoff -117.79
Gross Profit 94.36
Gross Loss -1272.22
Total Net Profit -1177.86
-100%
-50%
0%
50%
100%
USD/CAD Oct 2024 - Jan 2025
0.00
Total Trades 10
Won Trades 10
Lost trades 0
Win Rate 100.00 %
Expected payoff 30.99
Gross Profit 309.85
Gross Loss 0.00
Total Net Profit 309.85
-100%
-50%
0%
50%
100%
USD/JPY Jan 2025 - Jul 2025
0.00
Total Trades 35
Won Trades 35
Lost trades 0
Win Rate 100.00 %
Expected payoff 51.53
Gross Profit 1803.42
Gross Loss 0.00
Total Net Profit 1803.42
-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 22.42
Gross Profit 269.01
Gross Loss 0.00
Total Net Profit 269.01
-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.62
Gross Profit 983.00
Gross Loss 0.00
Total Net Profit 983.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 90.56
Gross Profit 1811.24
Gross Loss 0.00
Total Net Profit 1811.24
-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.54
Gross Profit 910.86
Gross Loss 0.00
Total Net Profit 910.86
-100%
-50%
0%
50%
100%

Comments