When you are inches away from a maximum trailing drawdown limit, you must immediately shift from an offensive trading posture to pure capital preservation. Your mathematical margin for error is gone, meaning standard position sizing will instantly fail the account on a single bad trade.
Divide to Survive
Cut your position size to 10% to 25% of your standard lot size. If your scalping system relies on a high win-rate, negative risk-to-reward structure—such as risking 3 units to gain 1—a single standard-sized loss is fatal here. You must shrink the absolute lot size so that the "3 units" of risk equate to a very small fraction of your remaining drawdown buffer, rather than the entire limit.
Hitting most of the profit target in the first few days: what now?
Re: Hitting most of the profit target in the first few days: what now?
High-Timeframe Filtering
Do not take mid-range setups or execute purely on momentum. Wait patiently for the price to reach major structural H4 or D1 support and resistance zones. Let the larger market structure provide a highly defended protective barrier for your stop loss. Only once the price reacts at these daily or 4-hour extremes should you drop down to your M15 chart for execution.
Rebuild the Buffer, Not the Target
Treat this phase as a distinct, isolated trading series where the sole objective is to survive and slowly manufacture a cushion. Secure your 1-unit rewards to incrementally build distance from the failure threshold, and completely ignore the final evaluation profit target until you have safely restored your starting balance.
Do not take mid-range setups or execute purely on momentum. Wait patiently for the price to reach major structural H4 or D1 support and resistance zones. Let the larger market structure provide a highly defended protective barrier for your stop loss. Only once the price reacts at these daily or 4-hour extremes should you drop down to your M15 chart for execution.
Rebuild the Buffer, Not the Target
Treat this phase as a distinct, isolated trading series where the sole objective is to survive and slowly manufacture a cushion. Secure your 1-unit rewards to incrementally build distance from the failure threshold, and completely ignore the final evaluation profit target until you have safely restored your starting balance.
Re: Hitting most of the profit target in the first few days: what now?
To dynamically track a trailing drawdown in real-time, you must continuously calculate the distance between your peak high-water mark (open or closed equity, depending on the firm's rules) and your live floating equity. Relying on a prop firm's web dashboard is dangerous for active execution; they typically have a 1-to-15 minute latency, meaning a rapid price spike can breach your account before the web portal even updates.
Re: Hitting most of the profit target in the first few days: what now?
VPS-Hosted Equity Guardian EA
Since mobile trading applications do not support on-screen custom indicators, the most robust solution is to run a lightweight custom Expert Advisor (EA) on a desktop or VPS instance connected to the same account. You can code a simple MQL4 or MQL5 script to constantly log the AccountEquity() high watermark. Program the EA to calculate the exact remaining buffer and send immediate push notifications to your phone if that floating buffer drops below a critical threshold (e.g., 50% or 25% of the limit). For ultimate safety, the script can include an OrderClose loop to automatically flatten all positions if equity hits 95% of the failure limit.
Since mobile trading applications do not support on-screen custom indicators, the most robust solution is to run a lightweight custom Expert Advisor (EA) on a desktop or VPS instance connected to the same account. You can code a simple MQL4 or MQL5 script to constantly log the AccountEquity() high watermark. Program the EA to calculate the exact remaining buffer and send immediate push notifications to your phone if that floating buffer drops below a critical threshold (e.g., 50% or 25% of the limit). For ultimate safety, the script can include an OrderClose loop to automatically flatten all positions if equity hits 95% of the failure limit.
Re: Hitting most of the profit target in the first few days: what now?
Visual Chart Anchoring (The Death Line)
When executing manually on lower timeframes like the M15, translate your abstract dollar-value drawdown limit into a physical price level on your chart. Before opening a position at your identified H4/D1 support or resistance zones, calculate exactly how many pips your remaining dollar buffer represents based on your active lot size. Draw a thick, brightly colored horizontal line on your execution chart at that exact price level. This converts your drawdown limit into a concrete technical boundary, allowing you to visually manage the trade's proximity to failure without switching tabs to check your balance.
When executing manually on lower timeframes like the M15, translate your abstract dollar-value drawdown limit into a physical price level on your chart. Before opening a position at your identified H4/D1 support or resistance zones, calculate exactly how many pips your remaining dollar buffer represents based on your active lot size. Draw a thick, brightly colored horizontal line on your execution chart at that exact price level. This converts your drawdown limit into a concrete technical boundary, allowing you to visually manage the trade's proximity to failure without switching tabs to check your balance.
Re: Hitting most of the profit target in the first few days: what now?
The Static "Bullet Count"
Lock in the highest watermark at the end of every trading session and recalculate your exact remaining buffer in your base currency. Divide that number by your newly reduced risk unit. If you have a $1,200 buffer left and are risking $150 per trade, you have exactly 8 losing trades until failure. Mentally tracking "I have 8 bullets left" is significantly faster and less emotionally taxing than doing dynamic equity math while managing a live position.
Lock in the highest watermark at the end of every trading session and recalculate your exact remaining buffer in your base currency. Divide that number by your newly reduced risk unit. If you have a $1,200 buffer left and are risking $150 per trade, you have exactly 8 losing trades until failure. Mentally tracking "I have 8 bullets left" is significantly faster and less emotionally taxing than doing dynamic equity math while managing a live position.
Re: Hitting most of the profit target in the first few days: what now?
To build a reliable equity guardian in MQL5, you need an Expert Advisor (EA) that hooks into the OnTick() or OnTimer() event to continuously poll AccountInfoDouble(ACCOUNT_EQUITY). Since you execute the vast majority of your trades directly via your mobile device, the script must also immediately trigger a push notification to your phone while simultaneously iterating through the open order pool to flatten exposure.
Re: Hitting most of the profit target in the first few days: what now?
Here is a production-ready, object-oriented MQL5 implementation utilizing the standard CTrade library.
Code: Select all
#property copyright "Equity Guardian EA"
#property version "1.00"
#property strict
#include <Trade\Trade.mqh>
//--- Input parameters
input double InpMinimumEquity = 10000.0; // Hard Equity Floor (Account Currency)
input bool InpSendPush = true; // Send mobile push notification
input int InpSlippage = 3; // Allowed slippage in points
CTrade trade;
int OnInit() {
// Configure CTrade execution parameters
trade.SetExpertMagicNumber(99999);
trade.SetDeviationInPoints(InpSlippage);
trade.SetTypeFilling(ORDER_FILLING_FOK); // Adjust to ORDER_FILLING_IOC if your broker rejects FOK
Print("Equity Guardian initialized. Monitoring floor at: ", InpMinimumEquity);
return(INIT_SUCCEEDED);
}
void OnTick() {
double currentEquity = AccountInfoDouble(ACCOUNT_EQUITY);
// Check if floating equity breaches the hard limit
if (currentEquity <= InpMinimumEquity && PositionsTotal() > 0) {
string alertMsg = StringFormat("ALERT: Equity breached floor! Current: %.2f, Floor: %.2f", currentEquity, InpMinimumEquity);
Print(alertMsg);
if (InpSendPush) {
SendNotification(alertMsg);
}
FlattenAllPositions();
// Remove the EA from the chart immediately after flattening
// to prevent the OnTick loop from continuously firing
ExpertRemove();
}
}
void FlattenAllPositions() {
// Always iterate backward (from total-1 down to 0) when deleting/closing
// to prevent index shifting from skipping positions.
for (int i = PositionsTotal() - 1; i >= 0; i--) {
ulong ticket = PositionGetTicket(i);
if (ticket > 0) {
if (!trade.PositionClose(ticket)) {
PrintFormat("Failed to close position #%I64u. Error: %d", ticket, GetLastError());
} else {
PrintFormat("Closed position #%I64u", ticket);
}
}
}
}Re: Hitting most of the profit target in the first few days: what now?
Key Architectural Details
Backward Iteration: The FlattenAllPositions() loop counts backward (i--). If you iterate forward while closing positions, the order index shifts dynamically, causing the loop to skip remaining positions.
Execution Filling Type: The trade.SetTypeFilling(ORDER_FILLING_FOK) enforces a Fill-or-Kill policy. Depending on market liquidity during a flash crash, you may need to switch this to ORDER_FILLING_IOC (Immediate-or-Cancel) to ensure partial fills are accepted rather than outright rejected.
Event Loop Termination: The ExpertRemove() function is critical. Once the threshold is hit and positions are closed, the EA unloads itself from the chart. Without this, if your balance remains below the equity threshold, the EA will trap itself in a continuous spam loop on every subsequent tick.
Backward Iteration: The FlattenAllPositions() loop counts backward (i--). If you iterate forward while closing positions, the order index shifts dynamically, causing the loop to skip remaining positions.
Execution Filling Type: The trade.SetTypeFilling(ORDER_FILLING_FOK) enforces a Fill-or-Kill policy. Depending on market liquidity during a flash crash, you may need to switch this to ORDER_FILLING_IOC (Immediate-or-Cancel) to ensure partial fills are accepted rather than outright rejected.
Event Loop Termination: The ExpertRemove() function is critical. Once the threshold is hit and positions are closed, the EA unloads itself from the chart. Without this, if your balance remains below the equity threshold, the EA will trap itself in a continuous spam loop on every subsequent tick.
Re: Hitting most of the profit target in the first few days: what now?
To transition from a static floor to a dynamic trailing drawdown, the script must persist the highest recorded equity state across terminal reboots or VPS updates. If you store the high-water mark strictly in standard RAM variables, a weekend server restart will reset your benchmark and miscalculate your failure threshold.