Specimen 015: Multi-Timeframe RSI Momentum Follower (Design Fraud via Missing D1 Reference and…
🩺 Semura Lab Clinical Chart — Specimen 015
Specimen 015: Multi-Timeframe RSI Momentum Follower (Design Fraud via Missing D1 Reference and Fatal Suicide Device via Absent Stop-Loss)
🩺 Semura Lab Clinical Chart — Specimen 015
Assigned to: Semura Lab Specimen No.: 015 (Formerly “VR Rsi Robot” lineage) Classification: Multi-Timeframe RSI Momentum Follower (Self-proclaimed)
📊 Logic Simplified Version (Basic Specs & Code Anatomy)
//+------------------------------------------------------------------+
//| Specimen 015 (Simplified) — Extracted Code for Article Publication |
//| |
//| * This code is a "specimen" extracted and simplified from the |
//| original for technical explanation purposes. Copyright/author |
//| information has been removed. |
//| * Only the core logic used for the diagnosis is extracted. |
//| * It will not function as-is and cannot be used for live trading.|
//| * The purpose of publication is not to debate the logic's merits,|
//| but strictly to reference it as a diagnostic subject (specimen).|
//+------------------------------------------------------------------+
// --- Inputs (Excerpt) ---
// Designed with the assumption of a consensus between H1 and D1 RSIs
input int iRSI_Period_H1 = 12;
input ENUM_TIMEFRAMES iRSI_TimeFrame_H1 = PERIOD_H1;
input int iRSI_Period_D1 = 18; // * Unused in the logic below
input ENUM_TIMEFRAMES iRSI_TimeFrame_D1 = PERIOD_D1; // * Unused in the logic below
input double iRSI_Level_UP = 80.0; // Sell Zone
input double iRSI_Level_DW = 20.0; // Buy Zone
// --- Core Section Extracted for Diagnosis ---
double rsi_h0, rsi_h1; // H1: Latest confirmed bar / 1 bar prior
double rsi_d0, rsi_d1; // D1: Latest confirmed bar / 1 bar prior (supposedly)
// H1 RSI (Correctly referencing H1)
rsi_h0 = iRSI(_Symbol, iRSI_TimeFrame_H1, iRSI_Period_H1, PRICE_CLOSE, 1);
rsi_h1 = iRSI(_Symbol, iRSI_TimeFrame_H1, iRSI_Period_H1, PRICE_CLOSE, 2);
// ★ Diagnostic Point: The section that should reference D1 remains H1
// (The consensus system is practically reduced to a single vote)
rsi_d0 = iRSI(_Symbol, iRSI_TimeFrame_H1, iRSI_Period_H1, PRICE_CLOSE, 1); // Should be D1
rsi_d1 = iRSI(_Symbol, iRSI_TimeFrame_H1, iRSI_Period_H1, PRICE_CLOSE, 2); // Should be D1
// Buy Condition: Both H1 and D1 exceed the lower limit & are rising
if(rsi_h0 >= iRSI_Level_DW && rsi_h0 > rsi_h1)
if(rsi_d0 >= iRSI_Level_DW && rsi_d0 > rsi_d1)
signal_up = true;
// Sell Condition: Both H1 and D1 are below the upper limit & are falling
if(rsi_h0 <= iRSI_Level_UP && rsi_h0 < rsi_h1)
if(rsi_d0 <= iRSI_Level_UP && rsi_d0 < rsi_d1)
signal_dw = true;
// Order Execution (Excerpt): Stop and reverse (SAR) -> New Entry
// * SL/TP = 0 (No Stop Loss or Take Profit specified)
// OrderSend(_Symbol, OP_BUY/OP_SELL, lt, price, iSlippage, 0, 0, ...);
0. Anatomy of the Logic’s Purpose, Aim, and Philosophy
Reverse-engineering the submitter’s design intent.
- Philosophy: Establish a “council system” between a higher timeframe (D1) and a lower timeframe (H1) RSI. Enter with the trend the moment both rebound upwards from the oversold zone (20) or downwards from the overbought zone (80).
- Aim: Capture the macro trend with the higher timeframe and time the entry with the lower timeframe — a typical “environmental recognition filter” type of momentum following.
- Position Design: Maximum of 2 positions (1 Buy, 1 Sell). A simple logic that closes the opposite position (stop and reverse) upon receiving a counter-signal.
The philosophy itself is textbook and perfectly fine. The problem is that this philosophy is not implemented in the code at all. We will dissect this coldly below.
1. General Findings (Viability)
Viability: None (Clinically Dead).
While this specimen parades itself as a “Multi-Timeframe Council System,” a look at the code reveals that the D1 reference is completely missing, and it is merely evaluating the exact same H1 values twice. In short, it is a “stillborn specimen” where the design philosophy and implementation are entirely detached.
What is even more fatal is that this specimen has absolutely no Stop Loss (SL) or Take Profit (TP). The SL/TP in the OrderSend function are both 0. Positions are left floating underwater indefinitely until a reverse signal arrives. This means a complete absence of risk management before we can even discuss "verifying the edge."
Since it lacks a foundation for survival, it is rejected before even reaching the stage of discussing monthly profit or Profit Factor (PF).
2. Compliance Check with Clearance Conditions
(Note: Formatted for readability)
- Target Monthly Profit 10%: ❌ FAIL
- Finding: Due to the absence of SL/TP and the collapse of the logic, calculating expected value is impossible. A fixed 0.01 lot size makes compounding and recovering from spread friction impossible.
- PF 1.2〜1.5: ⚠️ Needs Verification (Practically FAIL)
- Finding: No backtest submitted. Logically, since the D1 filter is dead, we can only expect behavior worse than a “single RSI mean-reversion.”
- Spread Tolerance (0.6 pips / Avoid wide-spread hours): ❌ FAIL
- Finding: Time filters and spread checks are entirely nonexistent.
iSlippage=30is merely an allowance for slippage, not a defense against friction. - Single Position (No Grid/Martingale): ✅ PASS (Passive)
- Finding: It holds a max of 1 Buy and 1 Sell, avoiding multiple concurrent positions. No Martingale. It meets this standard, but only technically.
- 13-Year WFA Tolerance: ❌ FAIL
- Finding: Logic without a Stop Loss will evaporate the account in a single massive drawdown. There is zero logical basis for long-term robustness.
- Lies, Future Referencing, Over-optimization: ⚠️ Needs Verification -> Limited PASS
- Finding: It references confirmed bars (
shift=1, 2), so there is no future referencing (this point is honest). However, the underlying premise that the EA "functions" is a lie. - Laws of Nature / Live Market Adaptation: ❌ FAIL
- Finding: Unmanaged positions without an SL directly violate the “laws of nature” — namely, forced liquidation (margin call) in a live account.
3. Fatal Vulnerabilities Discovered
Lesion ①: Missing D1 Filter Implementation (Design Fraud)
rsi_mass_d0 = iRSI(_Symbol, iRSI_TimeFrame_H1, iRSI_Period_H1, ...); // Supposed to be D1, but is H1
Neither iRSI_TimeFrame_D1 nor iRSI_Period_D1 are used even once. From the compiler's perspective, the D1 condition is just a duplicate of the H1 condition. The council system is a single-vote dictatorship from the start. "Multi-timeframe" is false advertising; these are merely placebo parameters.
Lesion ②: Complete Absence of Stop Loss/Take Profit (Primary Cause of Death)
SL=0, TP=0. The only exit strategy is waiting for a reverse signal. If the trend continues in one direction, floating losses will expand infinitely until CheckMargin fails and the account blows up. This is not a strategy; it is a suicide device.
Lesion ③: Zero Defense Against Friction and Time Zones
There is absolutely no logic to avoid periods of spread widening (early morning, major economic indicators). Far from a 0.6 pip tolerance, this design is built to take direct hits from several pips of friction during spread widening.
Lesion ④: API Generation Mixing (Technical Inconsistency)
The file extension is .mq5, but the contents use MQL4 syntax (OrderSend old signature, OrderSelect(SELECT_BY_POS), MarketInfo, Ask/Bid, etc.). It is fundamentally uncompilable in an MT5 environment. The very premise that it "runs" is a fabrication. If submitted backtest results exist, their origin is highly suspicious.
Lesion ⑤: Fixed 0.01 Lots
No money management logic. No compounding design, no risk percentage design. This is structurally inconsistent with the goal of a 10% monthly profit.
4. Prescription (Regeneration Instructions to Meet Semura Lab Standards)
Regeneration is possible, but it requires a near-total organ transplant. Strictly adhere to the following:
- Establish the Environment: If operating in MQL4, unify the file and build environment to MT4. If MT5, completely rewrite using the
CTradeclass andCopyBuffer. First, make it a "functioning entity." - Resuscitate the D1 Filter:
rsi_mass_d0 = iRSI(_Symbol, iRSI_TimeFrame_D1, iRSI_Period_D1, PRICE_CLOSE, 1); rsi_mass_d1 = iRSI(_Symbol, iRSI_TimeFrame_D1, iRSI_Period_D1, PRICE_CLOSE, 2);
- Back up your proclaimed philosophy with actual implementation.
- Mandatory SL/TP Implementation: Force the implementation of an ATR-based dynamic Stop Loss (e.g., 1.5 × ATR) and a minimum Take Profit yielding a Risk/Reward of at least 1:1.2. Not a single unmanaged position will be tolerated.
- Spread Filter: Retrieve
Ask-Bidimmediately before entry and abort the entry if it exceeds 0.6 pips (or a symbol-specific threshold). Additionally, implement a GMT-based time filter to exclude early mornings and major indicators. - Introduce Money Management: Abolish fixed lot sizes. Calculate lots based on:
(Account Balance × Risk Percentage [e.g., 1-2%]) / SL Distance. Align this with your monthly profit goals. - New Bar Detection: Currently, the evaluation occurs on every tick, causing conditions to flicker within the same bar. Restrict evaluations to one per bar by monitoring
Time[0]to suppress excessive trading.
Comprehensive Evaluation
[Rejected — Needs Complete Reconstruction (Pre-Remand Level)]
Specimen 015 suffers from fundamental flaws before it can even be placed on the dissecting table.
- The design philosophy (MTF Council System) is unimplemented, resulting in a state of fraud.
- Without a Stop Loss, it is a specimen that violates natural laws and will inevitably die by margin call in a live account.
- The syntax of MT4 and MT5 is mixed, making the premise that it “operates” highly questionable.
Its only redeeming qualities are “no future referencing” and “no multiple concurrent positions.” However, that does not prove it is alive.
Only after following the prescription — transplanting SL/TP, filters, D1 resuscitation, and money management — will this specimen be allowed at the “ready for reconstruction” table. Deploying it into live combat in its current state is strictly prohibited by Semura Lab.
*This report is a technical diagnosis of the logical structure of the submitted code and does not intend to damage the reputation of any specific individual or product. The specimen has been anonymized for research purposes.
메타데이터
- post_id
- da25e2c3580f
- slug
- specimen-015-multi-timeframe-rsi-momentum-follower-design-fraud-via-missing-d1-reference-and-da25e2c3580f
- url
- https://medium.com/@griffice3/specimen-015-multi-timeframe-rsi-momentum-follower-design-fraud-via-missing-d1-reference-and-da25e2c3580f
- canonical_url
- https://medium.com/@griffice3/specimen-015-multi-timeframe-rsi-momentum-follower-design-fraud-via-missing-d1-reference-and-da25e2c3580f
- author_url
- https://medium.com/@griffice3
- status
- ok
- fetched_at
- 2026-06-20 20:29:01