명시
### **No-SL Strategy for XAU/USD (Gold)**
**Objective**: Profit from 1-pip scalps using buy/sell stop orders while hedging risk through opposing trades.
**Conditions**:
- Broker allows **hedging** (simultaneous buy/sell orders).
- Zero spreads/commissions (as per your setup).
---
### **Rules**
#### **1. Entry Logic**
- Place **buy stops** 1 pip above the current price and **sell stops** 1 pip below.
- Deploy a **grid of orders** at every pip (e.g., 1800.00, 1800.01, 1800.02, etc.).
#### **2. Exit Logic**
- **Take Profit (TP)**: Close all trades at **1-pip profit** for the entire grid.
- Example: If 10 buy orders and 10 sell orders are open, close all when net profit reaches 1 pip.
- **Time-Based Exit**: Close all trades after 15 minutes to avoid overnight swaps.
#### **3. Risk Mitigation**
- **Micro Lots**: Use 0.01 lots per trade to limit exposure.
- **Max Active Trades**: Cap at 20 orders (prevents margin overload).
- **Equity Stop**: Halt trading if account equity drops by 5% in a session.
---
### **MT4 EA Code (No SL)**
```cpp
// Inputs
input double LotSize = 0.01; // Micro lots
input int GridStep = 1; // 1 pip between orders
input int MaxOrders = 20; // Max simultaneous trades
input double EquityStop = 5.0; // Stop trading if equity drops 5%
input int MagicNumber = 9999;
// Global variables
double InitialEquity = AccountEquity();
void OnTick() {
// Stop trading if equity drops by 5%
if (AccountEquity() <= InitialEquity * (1 - EquityStop / 100)) {
CloseAllTrades();
return;
}
// Place orders if below max active trades
if (OrdersTotal() < MaxOrders) {
double currentPrice = Ask;
double buyStopPrice = NormalizeDouble(currentPrice + GridStep * _Point, Digits);
double sellStopPrice = NormalizeDouble(currentPrice - GridStep * _Point, Digits);
// Place Buy Stop with 1-pip TP
OrderSend(_Symbol, OP_BUYSTOP, LotSize, buyStopPrice, 0, 0, buyStopPrice + _Point, "BuyStop NoSL", MagicNumber);
// Place Sell Stop with 1-pip TP
OrderSend(_Symbol, OP_SELLSTOP, LotSize, sellStopPrice, 0, 0, sellStopPrice - _Point, "SellStop NoSL", MagicNumber);
}
// Close all trades if total profit >= 1 pip
double totalProfit = CalculateTotalProfit();
if (totalProfit >= 1 * _Point) {
CloseAllTrades();
}
}
// Calculate total profit of all open trades
double CalculateTotalProfit() {
double profit = 0;
for (int i = OrdersTotal() - 1; i >= 0; i--) {
if (OrderSelect(i, SELECT_BY_POS) && OrderMagicNumber() == MagicNumber) {
profit += OrderProfit();
}
}
return profit;
}
// Close all open trades
void CloseAllTrades() {
for (int i = OrdersTotal() - 1; i >= 0; i--) {
if (OrderSelect(i, SELECT_BY_POS) && OrderMagicNumber() == MagicNumber) {
OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3);
}
}
}
```
---
### **Critical Risks & Mitigations**
1. **Trend Risk**:
- If XAU/USD trends strongly in one direction (e.g., +20 pips), all opposing orders will accumulate losses.
- **Fix**: Add a trend filter (e.g., disable buy stops if price < 50-period EMA).
2. **Slippage**:
- Rapid price movements (e.g., during Fed announcements) can skip your TP levels.
- **Fix**: Use `OrderClose` with `Slippage=3` in the EA.
3. **Margin Call**:
- Without SLs, losing trades can drain margin rapidly.
- **Fix**: Use tiny lot sizes (0.01) and strict equity stops.
4. **Broker Restrictions**:
- Some brokers block grid strategies or frequent order placement.
- **Fix**: Confirm broker rules and test in a demo account first.
---
### **Why This Works (In Theory)**
- **Hedging**: Buy/sell orders cancel each other in sideways markets.
- **Aggressive Profit-Taking**: Closing all trades at 1-pip net profit locks in gains before a trend develops.
- **Equity Protection**: The 5% equity stop prevents catastrophic losses.
---
### **How to Test**
1. **Backtest**:
- Use MT4’s Strategy Tester with **tick data** (select "Every Tick" mode).
- Test during high-volatility periods (e.g., NFP days).
2. **Forward Test**:
- Run on a demo account for 1 week.
- Monitor slippage and broker order execution quality.
3. **Metrics to Track**:
- Win Rate: Aim for >70% of sessions profitable.
- Max Drawdown: Keep <5% per day.
---
### **Final Warning**
This strategy is **extremely high-risk** and only viable if:
- Your broker truly has **no spreads/commissions**.
- You use a **VPS** for sub-100ms execution.
- You accept the possibility of a total account wipeout.
Always prioritize capital preservation over aggressive profit-taking. Consider adding a **hidden SL** (e.g., closing trades if equity drops 2% in a single candle) for added safety.