Based on Wang Zhe, Wang Zhe Trading Philosophy (王哲交易哲学)
What it is: A self-published trading philosophy manual by Wang Zhe, a Chinese futures/commodity speculator with 10+ years of experience. The book distills his complete trading system across two major sections: a Cognition Section (认知篇, Chapters 1-4) covering trading philosophy and mental models, and a System Section (系统篇, Chapters 5-16) detailing his exact trading methodology.
Core thesis: The difficulty of trading lies not in execution but in cognition. Once your understanding is deep enough, discipline becomes instinctive. Market regularity stems from unchanging human nature (市场的规律性源于不变的人性). Profitable speculation requires executing a deterministic system with positive expectancy in an unpredictable market.
Applicable markets: Primarily futures/commodities (the author trades futures with leverage), but the framework applies to any liquid, chart-tradable market — stocks, forex, crypto. The author explicitly requires sufficient liquidity and recommends trading only lead contracts in their sector.
Trading style: Pure technical analysis / chart trading. Fundamental analysis contributes zero to his system. He is a speculator (投机者), not an investor. His primary timeframe is the daily chart, targeting daily-level swing moves (日线波段行情).
Author's motto: "市场的规律性源于不变的人性" — The regularity of markets stems from unchanging human nature.
Wang Zhe's most distinctive contribution is his insistence that all "execution problems" are actually cognition problems in disguise.
Cognition before discipline: You would not grab a red-hot iron with your bare hands — not because you have great discipline, but because you know it will burn you. Trading works the same way. When you truly understand that a wrong trade is equivalent to putting yourself on fire, you will stop doing it naturally.
The market is unpredictable: It is a multi-player game where every participant's actions affect the outcome. Prediction-based profits are unsustainable and breed ego. The only thing you can control is whether you are following your system.
The market has patterns: Despite being unpredictable on any single trade, price action follows a repeating cycle: Trend leg → Pullback → Trend leg → Pullback (单边——回调——单边——回调). All profitable systems are built on this rhythm.
Human nature drives markets: Greed and fear are the true engines behind price movement, not value. Tulip mania, the South Sea bubble — all products of human nature. As Livermore said, human nature is as old as the mountains.
Without emotions, we cannot make money: We profit precisely because others continuously make emotional errors. This is our opportunity.
Win-rate vs. profit-loss ratio: Most traders obsess over win rate because society teaches us to worship victory and avoid admitting failure. This is fatal in trading. The key formula is:
Trading Result = Win Rate x Profit-Loss Ratio
Profit-loss ratio (盈亏比) matters far more than win rate. A 40% win rate with a 3:1 reward-to-risk ratio is highly profitable. A 90% win rate with 1:10 reward-to-risk is ruinous.
Lock your timeframe: "定周期者,定天下" — He who locks his timeframe commands the world. Different timeframes show different trends simultaneously. Switching between timeframes creates confusion. Pick one and stay with it.
The foundational market model is:
单边 → 回调 → 单边 → 回调
Trend Leg → Pullback → Trend Leg → Pullback
This cycle repeats endlessly across all timeframes. The entire system is designed to:
Critical rule: 无回调,不开仓 — No pullback, no position. Even if the market is moving explosively, if there has been no pullback on your timeframe, you must stand aside. You refuse to be a "bag holder" (接盘侠).
Wang Zhe summarizes his system-building methodology as FEST:
| Component | Chinese | Description |
|---|---|---|
| F — Filter | 过滤条件 | Conditions that must be met before you even consider trading |
| E — Entry | 开仓 | Specific price levels and triggers for position building |
| S — Stop | 止损 | Defense points — where you admit you are wrong |
| T — Target | 目标位 | Profit targets or trailing stop logic for exits |
Plus the soul of the system: Money Management (资金管理).
A FEST example the author provides:
Entry always occurs at attack points, which are the inflection points where a pullback ends and the trend resumes. Every position must be opened at an attack point.
Two possible outcomes at an attack point:
The author calls this: "亮剑必见血" — When you draw your sword, blood will flow. Either theirs or yours.
Detonation points are specific price levels derived from the left-side (pullback) structure. They are the previous swing highs (A, B, C) from the pullback phase that become resistance-turned-support levels.
Identification:
Scaling-in process:
Ideal scenario — Chain Detonation (连环炸): When A, B, and C trigger in rapid succession (ideally within the same daily candle), this produces the Decisive K-line (定K). Chain detonation means the move is powerful and flowing — exactly what you want.
Non-ideal scenario: If only A triggers and then price reverses to hit your stop, you take the loss and wait. Your position was small (only 1/3), so the damage is minimal.
Wang Zhe is an absolute right-side / breakout trader.
When chain detonation occurs (A, B, C all triggered rapidly), a landmark daily candle forms — the Decisive K (定K).
Characteristics:
Significance: The appearance of a Ding-K means your full position has been established and the move has shown its explosive character. From this point, the focus shifts from entry to holding and defense.
Based on Dow Theory: uptrend = higher highs and higher lows; downtrend = lower lows and lower highs.
When your entry logic is based on a breakout of support/resistance:
Round numbers act as natural support/resistance. Same logic as Strategy 2, substituting round numbers for S/R levels.
Holding and exiting are two sides of the same coin. Wang Zhe divides exits into:
Four methods, all based on the K-breaks-K (K破K) principle:
Key principle: All four methods are applications of K-breaks-K at different scales. Holding is critical because it is the mechanism for "letting profits run" (让利润奔跑). If you cannot hold winning trades, you cannot achieve a favorable profit-loss ratio.
Max Position Size = Total Risk Amount / Per-Unit Stop Distance
Example:
If building in 3 batches (A, B, C), divide total risk equally:
Critical: As stops tighten (moved up when B and C trigger), the allowable position size per batch may increase. Tighter stops with the same risk budget = more contracts. This naturally creates a pyramid: small position at the uncertain beginning, larger position as the trend confirms.
Treat trading as a profession: You are a cold-blooded executioner in the market. Your job is to exploit the mistakes of the weak and the novice. Can you do this?
No emotions about individual trades: If you are excited about winning and sad about losing, you are still a beginner. Maturity means indifference to individual outcomes.
Never bottom-pick or top-call: Bottoms and tops occur only once — the probability of catching them is near zero. This is a rookie mistake that professionals must never commit.
If you realize you violated your system mid-trade, exit immediately: Even if the trade is profitable, it is poison. Profit from rule-breaking is worse than loss from rule-breaking, because it corrodes your discipline.
Losses are the cost of doing business: All big moves are found through trial and error (试错). Losses during probing are simply the cost of catching the next big move. Do not let a single bad trial injure you — keep trial size small.
Trading is boring by design: "枯燥且单调地慢慢赚钱" — Dry, monotonous, slow money-making. If your trading is exciting, you are doing it wrong.
Patience is the primary virtue: Most of the time you should be doing nothing. "趴着不动,耐心等待着猎物的出现" — Lie still, patiently waiting for prey to appear.
Never cross timeframes: If you enter on the daily chart, exit on the daily chart. Do not enter on a daily signal and then switch to a weekly holding standard.
The trend is your friend: "顺势者昌,逆势者亡" — Those who follow the trend prosper; those who fight it perish. When you are with the trend, time is your friend. When against it, time is your gravedigger.
Obsessing over win rate instead of profit-loss ratio: The single most common mistake. Trading is a math game of win rate AND profit-loss ratio, not win rate alone.
Refusing to take losses: Driven by ego and the need to be "right," traders hold losing positions hoping for a reversal. This leads to catastrophic losses or margin calls.
Trading without a pullback: Chasing momentum, buying into the middle of a trend leg without waiting for a pullback. This makes you a potential bag-holder.
Left-side trading: Buying into falling prices during a pullback, trying to catch the exact bottom. The system explicitly forbids this.
Switching timeframes: Entering on a daily signal but holding for a weekly target, or vice versa. This creates logical inconsistency.
Overtrading: Smaller timeframes produce more signals and more trades. More trades ≠ more profit. Often it means more losses.
Expanding risk per trade for "aggressiveness": Increasing the single-trade risk percentage or shrinking stops to take larger positions. This inevitably leads to overtrading and ruin.
Trading too many instruments: Attention is finite. Spreading across too many markets reduces your effectiveness at each.
Taking profits too early: Having a tiny gain and immediately closing. This destroys profit-loss ratio and makes the system non-viable.
Prediction addiction: Trying to forecast what the market will do instead of reacting to what it does. The market is unknowable — your only job is to execute your system.
Profiting from rule-breaking: If a rule-violating trade makes money, the trader learns the wrong lesson. This is more dangerous than losing from rule-breaking, because it erodes the entire system.
Setup: Trading soybean futures, daily chart. Account equity: 1,000,000 CNY. Single-trade risk: 0.3% = 3,000 CNY.
function daily_scan(watchlist, account):
for instrument in watchlist:
daily = get_daily_candles(instrument)
ma5 = moving_average(daily, 5)
ma20 = moving_average(daily, 20)
# Filter: Must have clear trend
if is_choppy(daily):
continue
# Filter: Must have pullback
if not has_pullback(daily, ma5, ma20):
# Keep on watchlist, monitor only
mark_as_watching(instrument)
continue
# Filter: Pullback ending signal
if not pullback_trendline_broken(daily):
continue
# Filter: Price vs 20 MA
if looking_for_long and daily.close < ma20:
continue
if looking_for_short and daily.close > ma20:
continue
# Passed all filters — prepare entry
prepare_entry(instrument, daily, account)
function prepare_entry(instrument, daily, account):
risk_budget = account.equity * account.risk_pct # e.g., 0.3%
pullback = identify_pullback_structure(daily)
# Identify ABC detonation points from pullback swing highs/lows
point_A = pullback.swing_levels[0] # nearest to current price
point_B = pullback.swing_levels[1] # middle
point_C = pullback.swing_levels[2] # furthest
# Identify defense points
stop_A = calculate_defense_point(point_A, pullback, strategy="wide")
stop_B = calculate_defense_point(point_B, pullback, strategy="medium")
stop_C = calculate_defense_point(point_C, pullback, strategy="tight")
# Calculate lot sizes using fixed-loss method
risk_per_batch = risk_budget / 3
lots_A = floor(risk_per_batch / (abs(point_A - stop_A) * contract_multiplier))
lots_B = floor(risk_per_batch / (abs(point_B - stop_B) * contract_multiplier))
lots_C = floor(risk_per_batch / (abs(point_C - stop_C) * contract_multiplier))
# Verify total risk does not exceed budget
total_risk = (lots_A * abs(point_A - stop_A) +
lots_B * abs(point_B - stop_B) +
lots_C * abs(point_C - stop_C)) * contract_multiplier
assert total_risk <= risk_budget
# Place conditional orders
place_order(BUY, point_A, lots_A, stop=stop_A)
place_order(BUY, point_B, lots_B, stop=stop_B)
place_order(BUY, point_C, lots_C, stop=stop_C)
function on_detonation_triggered(point, position):
if point == 'B':
# Tighten A's stop to match B's level
position.entries['A'].stop = position.entries['B'].stop
elif point == 'C':
# Unify all stops to breakeven or C's stop level
avg_cost = position.average_cost()
unified_stop = max(position.entries['C'].stop, avg_cost)
for entry in position.entries.values():
entry.stop = unified_stop
# Chain detonation achieved — now in "invincible position"
function daily_hold_check(position, daily, method="ma5"):
if method == "k_breaks_k":
if daily.close < daily.previous.low: # for longs
close_position(position)
elif method == "ma5":
ma5 = moving_average(daily, 5)
if daily.close < ma5: # for longs
close_position(position)
elif method == "trendline":
tl = draw_trendline(position.lows_since_entry)
if daily.close < tl.value_at(today):
close_position(position)
elif method == "platform":
platform_low = most_recent_platform_low(daily)
if daily.close < platform_low:
close_position(position)
States:
SCANNING → monitoring watchlist for pullback candidates
WATCHING → pullback identified, waiting for trendline break
ARMED → right-side entered, conditional orders placed at ABC
BUILDING → A triggered, waiting for B and C (or stop)
FULL → chain detonation complete, all positions built
HOLDING → trailing stop active, riding the trend
FLAT → position closed, return to SCANNING
Transitions:
SCANNING → WATCHING : pullback appears on daily chart
WATCHING → ARMED : pullback trendline broken, 5MA > 20MA
ARMED → BUILDING : Point A triggered
BUILDING → FULL : Points B and C triggered (chain detonation)
BUILDING → FLAT : Stop-loss hit before B triggers
FULL → HOLDING : Ding-K formed, shift to trailing stop mode
HOLDING → FLAT : Trailing stop triggered
any state → FLAT : Emergency stop / rule violation detected
"交易之难,并非难于执行,而是难于认知。" The difficulty of trading lies not in execution, but in cognition.
"一切所谓执行力的问题,都是认知的问题。" All so-called execution problems are actually cognition problems.
"在市场上赚钱,靠的是执行符合自己性格的、具备正向收益预期的交易系统。" Making money in the market relies on executing a trading system that fits your personality and has positive expected returns.
"定周期者,定天下!" He who locks his timeframe commands the world!
"无回调,不开仓。" No pullback, no position.
"亮剑必见血,不是别人的血,就是自己的血。" When you draw your sword, blood must flow — either theirs or yours.
"打得赢就打,打不赢就跑。" If you can win, fight. If you can't, run.
"顺势者昌,逆势者亡。" Those who follow the trend prosper; those who fight it perish.
"市场的规律性源于不变的人性。" The regularity of markets stems from unchanging human nature.
"慢就是快,少即是多。" Slow is fast, less is more.
"截断亏损,让利润奔跑。" Cut losses short, let profits run.
"盈利是一个时间的函数,绝不应该为了追求快速盈利而擅自扩大你所承受的单笔风险度。" Profit is a function of time. You should never expand your single-trade risk in pursuit of fast profits.
"枯燥且单调地慢慢赚钱,就可以自然而然地实现账户复利增长。" Making money in a dry, monotonous, slow manner will naturally achieve compound growth in your account.
"因违规操作而赚钱,比因违规操作而亏钱更加可怕。" Profiting from rule-breaking is more dangerous than losing from rule-breaking.
"积小胜为大胜,赢得账户滚雪球般的增长。" Accumulate small wins into large victories, winning snowball-like growth for your account.
"止损就像买车险,我们花钱买了保险,但是并没有意外出现,自然就不用理赔。" A stop-loss is like car insurance — we pay for it hoping we never need to claim.
"以道御术,人剑合一!" Use the Dao to command technique — unity of person and sword!