LiuGuanYi
- Experts
-
Bo Wen Che
I am an independent trader and algorithmic trading developer focused primarily on gold, Bitcoin, U.S. futures, and the foreign exchange market. - Version: 35.2
- Activations: 5
This is not an EA that requires complicated parameter tuning. The core parameters have already been extensively tested and fixed inside the program. I do not want users to randomly change the underlying parameters and end up running something completely different from the original system.
In actual use, you only need to understand account type, capital tier, and trading direction. All other core logic is handled automatically inside the system.
1|Live Account Available for Public Monitoring https://www.mql5.com/zh/signals/2386318?source=Site+Signals+My
Broker: EC Markets
Server: ECMarkets-MT5-Live01
Account: 81206286
Investor Password: Liuguanyi123@ — please make sure this is the MT5 read-only investor password before publishing
This is a live trading account and can be used to observe the EA’s actual order behavior in the real market.
2|Please Use a Low-Spread ECN Account
This is very important.
My main backtests and live operating environment use a low-spread ECN account, with a tested spread of approximately 5–8 points and a commission parameter of 3.
The system was not developed in an idealized zero-spread, zero-commission environment. Spread and commission are already treated as part of the strategy’s real trading costs.
However, if you use an account with spreads materially higher than the test environment, abnormal slippage, or a broker whose trading conditions differ significantly from a standard ECN environment, both returns and drawdown behavior will change.
The higher the trading cost, the lower the net return, the lower the capital efficiency, and the more drawdown performance may deteriorate.
Therefore, if you are using a high-spread account, do not expect results identical to my tests.
3|This Strategy Does Not Depend on Low Latency
This strategy is not latency arbitrage, does not rely on quote delay, and does not require ultra-low network latency to obtain an edge.
In different latency tests, from approximately 1 ms to around 500 ms, the overall results did not show a decisive structural difference.
Therefore, there is no need to purchase an expensive ultra-low-latency server specifically for this system. A stable ordinary VPS or a local computer is sufficient.
For this strategy:
A stable connection matters far more than chasing 1 ms latency.
4|Core Parameters Are Hidden
The internal parameters that actually determine system behavior have already been preset. I have not exposed a large number of research parameters to users.
The reason is simple: once a tested model allows everyone to freely alter internal thresholds, the resulting system is no longer the same strategy.
The user only needs to choose:
Account type, capital tier, and trading direction.
All other core parameters are controlled internally by the system.
You are choosing the risk level, not redesigning the strategy.
5|Capital Tier Determines Risk Intensity
If the account balance is USD 2,500, the standard configuration is the USD 2,500 capital tier; a USD 5,000 account uses the USD 5,000 tier; a USD 10,000 account uses the USD 10,000 tier. A cent account may also be used, with as little as USD 25 required to start.
This is the normal and most reasonable way to use the system.
When I first developed the strategy, I allowed the EA to determine risk completely dynamically based on total account equity. After extensive testing, I found that although this could keep drawdown extremely low, it also left a large portion of capital idle for long periods, reducing capital efficiency.
So in the end I decided to:
Give the user control over the risk level.
The capital tier is not merely an account-balance label. In essence, it determines the risk intensity at which the system operates.
If actual capital equals the selected capital tier, that is standard risk. If actual capital is higher than the selected tier, relative risk decreases. If actual capital is lower than the selected tier, relative risk increases.
6|If You Are Willing to Take More Risk, You Can Select a Higher Capital Tier
For example, an account with only USD 2,500 can still be run using the USD 5,000 capital tier.
This means the system will execute according to the risk structure designed for a USD 5,000 tier.
The result is very clear:
Potential return increases, and potential drawdown increases at the same time.
This is not a bug or an abnormality. It is the user deliberately selecting a higher risk level.
If you cannot tolerate larger fluctuations in account equity, do not run a higher capital tier with a smaller account.
Higher returns are never free.
Backtest InformationPublic backtest period:
March 1, 2024 to August 5, 2026
The reason the test begins in 2024 is that, in my current EC Markets historical testing environment, reliable real tick data is available from that period onward.
I will not artificially extend the backtest by mixing historical data from different sources or data whose quality cannot be verified.
I only show what can actually be verified.
USD 2,500 Account|USD 2,500 Capital Tier
Initial capital: USD 2,500
Final net profit: USD 6,603
Net return: approximately 264%
Final account equity: approximately 3.64× the initial capital
Maximum equity peak drawdown: approximately 16%
Maximum drawdown amount in the test: approximately USD 1,120
If USD 1,120 is compared directly with the initial USD 2,500 capital, it is equivalent to approximately 44.8% of the initial capital.
Please note:
Maximum peak-to-equity drawdown and maximum drawdown amount as a percentage of initial capital are not the same statistical concept.
The strategy dynamically calculates actual trading volume according to the selected capital tier. Therefore, if more actual capital is used while keeping the same capital tier, and the profit structure remains similar, the relative drawdown percentage will usually decrease further.
USD 10,000 Account|USD 10,000 Capital Tier
Initial capital: USD 10,000
Final net profit: USD 26,395
Net return: approximately 263.95%
Maximum equity peak drawdown: approximately 16%
Maximum drawdown amount in the test: approximately USD 4,000
This result shows that when the capital tier is scaled proportionally, the overall risk-return structure of the system can remain relatively consistent.
USD 2,500 Account|Running the USD 5,000 Capital Tier
This is the test I consider the most important to understand.
The actual initial capital was only:
USD 2,500
But the system was run with:
USD 5,000 capital tier
Final net profit:
USD 13,201
Relative to the initial USD 2,500:
Net return: approximately 528%
Maximum equity peak drawdown:
Approximately 18%
Maximum drawdown amount during the test:
Approximately USD 2,240
This shows that users who are willing to deliberately accept greater risk can change the account’s overall risk-return profile by selecting a higher capital tier.
But this must be emphasized again:
When return potential increases, the absolute amount of capital at risk also increases significantly.
If you cannot tolerate that level of fluctuation, do not use this configuration.
Backtests Must Use Real Tick DataThis is one of the easiest things to overlook after purchase, and also one of the most important.
Do not assume that simply clicking Strategy Tester in MT5 automatically means you are using the broker’s real tick data.
MT5 can synthesize ticks from historical candles. For many ordinary low-frequency strategies, this difference may not matter much.
However, this strategy contains path dependency, event-state logic, and execution-sequence logic. Even if the final candle structure is identical, a different intrabar price sequence can trigger a different internal state.
Therefore, for formal backtesting:
You must select “Every tick based on real ticks” and use real tick history provided by the broker.
If synthetic ticks are used:
Backtest returns may be materially distorted. Most brokers do not provide very long real-tick histories. For example, my EC Markets environment only has reliable real-tick data from 2024 onward. Another broker may display data going back to 2017, but older data may only be reconstructed or simulated candle data rather than genuine tick history. In that case, the resulting historical profit cannot be treated as an authentic real-tick result. This distinction is extremely important.
Why I Ultimately Decided to Build This EA MyselfI have been trading for six years.
During those six years, the biggest enemy I encountered was never really the market.
It was myself.
When I am in a good state, I can execute trades very seriously and with discipline. I might make USD 200 in a day, or sometimes USD 1,000.
The real problem is not that I do not know how to trade. The problem is:
After making money, a person’s state of mind changes.
For example, if I trade seriously this month and make USD 5,000, the next month I may become overconfident, relaxed, or even arrogant because of the previous month’s profit.
Then the quality of my trading declines and losses appear.
After losing money, I become serious again. When I become serious, I start making money again. After making money, I gradually relax again.
Over the years, I realized that I kept repeating the same cycle:
Discipline → Profit → Confidence → Complacency → Loss → Discipline again
What frustrated me most was that I knew very clearly:
When I execute strictly, my trading performance improves significantly.
But I cannot guarantee that my emotions, discipline, and mental state will remain exactly the same 365 days a year.
Human beings are not good at doing that.
So I started asking myself:
If the trading logic itself can be defined, why not let a program with no emotions execute it?
A program does not become excited because it made money yesterday. It does not believe it is invincible after a winning streak. It does not skip conditions because it is in a bad mood. And it does not suddenly try to win everything back after a loss.
It simply follows the rules.
Later, I started buying EAs and trading strategies sold by other developers, hoping to find a truly reliable automated trading system.
In total, I spent approximately:
USD 3,000
But after repeatedly buying, testing, and researching these products, I discovered too many problems in this market:
Future-function bias, repainting, substituted historical data, ignored commissions, ignored spreads, ignored slippage, hidden floating losses, different conditions between backtest and live trading, repeatedly optimizing parameters to fit past markets, selecting only the best-looking time periods, and equity curves that look unrealistically perfect.
Eventually I reached one conclusion:
If I kept searching for a so-called magical EA, I might spend forever looking for something that does not exist.
So I stopped buying them.
I decided to build my own.
That is how this EA was born.
Its original purpose was not to create the prettiest possible backtest curve. It was to:
Turn something that a trader normally has to execute through discipline and emotional control into an automated system that can continue to follow rules consistently.
Quantitative ArchitectureFrom an engineering perspective, this system is not the traditional:
Indicator generates signal → place order directly
The actual decision process is closer to:
Market-state recognition → structural assessment → event confirmation → risk evaluation → execution verification
The orders that eventually appear on the MT5 chart are only the final outputs produced after the internal state system has passed through multiple layers of constraints.
I|Multi-Timeframe State-Space Decomposition
The system uses a multi-timeframe state-analysis structure, with different timeframes assigned different information roles.
Directional structure, local volatility, market events, position state, and execution environment are not simply added together. They are mapped into different layers and jointly determine whether a trade is authorized.
Therefore, the system does not simply produce a buy or sell signal. It produces:
An executable trading state that only receives execution authority after multiple layers of state confirmation.
II|Hysteretic Market-State Routing
Market state does not instantly switch from one condition to another based on a single fixed threshold.
The system includes state persistence, confirmation, asymmetric transition rules, and state memory, primarily to reduce frequent state flipping when the market is near a boundary between regimes.
Once a new trading cycle is established, certain key variables are frozen.
The market may continue changing, but the system will not repeatedly reinterpret an already-established risk structure because of a few short-term fluctuations.
III|Volatility-Normalized Price Structure
The system does not treat absolute price distance as a universal standard.
The same USD 10 move can have completely different meaning in a low-volatility market and a high-volatility market.
Therefore, the system evaluates price displacement, structural distance, local expansion, and risk boundaries inside a volatility-normalized framework.
In other words:
The system is not concerned only with how far price moved, but with how large that move is relative to the current volatility structure.
IV|Path-Dependent State Evolution
Current price is not the only variable that determines system behavior.
The system also considers the path by which the market reached the current price, along with the trading state, risk state, and position structure that have already developed.
Therefore:
Even if price returns to exactly the same level, the system may not make exactly the same decision.
The reason is simple:
The path used to reach that price may be completely different.
This is also why the strategy is highly sensitive to the quality of real tick data.
V|Hierarchical Risk Budgeting
The system does not simply generate a signal and immediately decide the lot size.
Each new trading cycle first establishes an independent risk budget. The internal risk-planning module then calculates the actual exposure structure based on the remaining admissible risk capacity.
The hierarchy can be understood as:
Account risk control > Trading-cycle risk > Position planning > Entry conditions > Raw trading signal
Therefore:
Trade size is not the first thing the system decides. It is the output of the completed risk calculation.
Even when entry conditions are valid, the system can still reject execution if the higher-level risk capacity is insufficient.
VI|Non-Linear Position-Risk Structure
When multiple positions exist simultaneously, total risk cannot be understood simply as the direct sum of the risk of each individual order.
Every new change in exposure alters the amount of risk the entire trading cycle can still absorb in the future.
Risk already consumed directly affects whether additional exposure can be added later.
Therefore, the system does not manage isolated orders. It manages:
The continuously changing total risk structure of the entire trading cycle.
VII|Independent Long/Short State Management
Long and short are not simply the same program with the direction reversed.
The two directions maintain independent:
Trading state, risk state, execution memory, and cycle structure.
At the same time, both share the account-level capital-risk framework.
Architecturally, it is closer to:
Two independent state engines sharing one account-level capital-control layer.
VIII|Closed-Loop Execution Verification
In many ordinary EAs, the core process is effectively complete once an order has been successfully sent.
This system works differently.
After the trading instruction is sent, the system continues to evaluate:
Planned state → Actual execution state → Final verified state
Only when the actual execution remains consistent with the internal risk state is the order lifecycle considered valid.
Therefore, the system manages not only:
Whether an order was successfully sent
but also:
Whether the actual execution result still conforms to the internal risk model.
IX|Trading-Environment Integrity Checks
The real market is not a backtest environment.
Minimum lot size, volume step, tick value, contract size, stop restrictions, freeze restrictions, margin requirements, spread, slippage, and order failures can all affect the final result.
These factors are not part of the strategy’s directional logic, but they directly determine whether the strategy can be executed in the real market as originally designed.
Therefore:
The execution environment itself is part of the overall risk system.
X|Contract-State Change Detection
The system does not assume that the same trading symbol will always have exactly the same trading conditions.
If a broker changes minimum volume, volume step, tick value, contract size, or trading restrictions, the foundation of the original risk calculation may change.
Therefore, the system records key execution attributes of the current symbol and monitors whether critical trading conditions have changed.
For an automated risk system:
The same symbol name does not guarantee exactly the same economic properties at all times.
XI|Fail-Closed Risk Control
The system uses a highly conservative principle when dealing with unknown states.
If safety cannot be verified, that does not mean the state is safe.
If a critical protection state cannot be confirmed, an execution result cannot be verified, the trading environment becomes abnormal, or risk conditions move outside expectations, the system prioritizes restricting new positions rather than adding unknown risk.
This is one of the most important principles in the entire architecture.
XII|Persistent State Reconstruction
A VPS can restart. MT5 can update. Networks can disconnect. The program can be reloaded.
Therefore, the system was never designed around the assumption that the program will run without interruption forever.
The trading-cycle lifetime and the program-process lifetime are not the same thing.
The system attempts to preserve and reconstruct existing trading states so that, after a restart, it can understand what stage the account is already in instead of treating every existing position as a completely new beginning.
XIII|Account-Level Capital Risk Has the Highest Authority
The system has a clear hierarchy of risk authority:
Account capital protection > Trading-cycle risk > Position planning > Entry authorization > Trading signal
This means that even a fully valid trading opportunity can still be rejected if account-level risk conditions do not permit it.
Because in this system:
A signal appearing does not mean a trade must be executed.
Trading logic identifies possibilities.
The capital-risk system decides whether the account has the authority to take that risk.
Final System DefinitionIf the system must be described in engineering terms, it can be understood as:
Multi-timeframe state decomposition, hysteretic market-state recognition, volatility-normalized price structure, path-dependent state evolution, hierarchical risk budgeting, non-linear exposure allocation, independent long/short state management, closed-loop execution verification, trading-environment change detection, persistent state recovery, and fail-closed capital protection.
What you eventually see on the MT5 chart is only the order.
What truly determines why that order is allowed to exist is an entire invisible framework of state evaluation and risk constraints behind it.
You can see where the system trades.
But you cannot see which internal state authorized that trade.
Risk DisclosureNo EA, automated trading program, or quantitative system can remain permanently effective or guarantee profits.
Historical backtests do not guarantee future returns, and historical live-account performance does not guarantee future performance either.
Final results may be affected by spread, commissions, slippage, broker execution quality, market conditions, and the capital tier selected by the user.
I publish historical testing data so users can verify the strategy for themselves, not to claim that the future will repeat the past.
Choose a capital tier based on the loss you can genuinely afford to tolerate.
If a particular drawdown amount would affect your normal life, then that risk tier is not suitable for you.
