TAOYUAN YANG.
🌐 EN ▾
← ALL PROJECTS

Learning
the markets.

Independent trading research · Journaling · Strategy exploration

Personal trading workspace with market charts

A photograph of my own trading workspace.

01 / THE CONTEXT

Learn. Record.
Reflect.

My interest in financial markets led me to study chart analysis, record trading decisions and reflect on how preparation, discipline and risk management affect the process.

The project brings together personal notes, transaction records and early experiments with TradingView. It is an independent learning journey, not a record of professional fund management.

02 / THE PROCESS

From observation
to review.

01 / OBSERVE

Study the chart

Study price movement, support and resistance, moving averages and candlestick patterns as part of a personal learning process.

02 / RECORD

Keep a journal

Document the reasoning behind trades and reflect on whether entries, exits and risk decisions followed the intended plan.

03 / EXPLORE

Test an idea

Experiment with an AI-assisted Pine Script draft in TradingView and consider how subjective ideas can be expressed as explicit rules.

03 / REFLECTION

Process over
outcome.

My notes distinguish a favourable result from a well-executed decision. They also reflect on following entry criteria, avoiding impulsive changes and reviewing how a strategy performs across different market conditions.

The initial code was an experiment, and my notes recognise that it did not fully capture the subjective parts of the original idea. Backtest files and execution results have not yet been independently validated for this page.

This page describes a personal learning experience and does not present verified returns or investment advice.

04 / RESEARCH DESIGN

Turning ideas
into rules.

The research goal is to express a short-term XAUUSD idea as a set of repeatable rules, then evaluate it on historical data. The intended design below comes from my project notes; it describes a target, not a verified implementation.

ComponentIntended rule
Market and timeframeXAUUSD · 1-minute chart
Trend filterCompare the close with EMA100 to distinguish long and short setups.
Pullback structureAt least two consecutive directional candles with the specified no-wick condition, followed immediately by a doji whose range exceeds the previous candle.
Risk designOne position at a time; intended structural stop and a fixed target 10.0 price units from the fill.

The 10.0 target is an unverified design parameter, not evidence of an effective strategy.

05 / TRADING PHILOSOPHY

Discipline
over impulse.

Respect the plan

A good outcome does not automatically mean a sound decision. My journals distinguish following the plan from an accidental gain.

Define risk

Record entry reasoning, invalidation and exits, and review the consequences of changing a plan under pressure.

Let evidence decide

Assess trade frequency, drawdown and risk alongside win rate; avoid treating a small sample as proof.

My aim is a repeatable process: explain why a rule changes, identify which trades it affects, and evaluate it against independent data.
06 / SOURCE CODE · EARLY EXPERIMENT

An early
experiment.

This Pine Script v5 draft was generated with AI from my initial idea. It deliberately uses loose signal conditions and is shown here as a historical experiment, not a complete or validated trading system. Formatting has been normalised for readability.

//@version=5
strategy("十字星入场策略(宽松测试版 - 必定看到信号)", overlay=true)

// EMA100
ema100 = ta.ema(close, 100)
plot(ema100, color=color.orange, linewidth=2)

// === 宽松参数(容易触发)===
dojiThreshold = 0.25     // 十字星实体 ≤ 25%(放很宽)
bodyMin = 0.6            // 反转蜡烛实体 ≥ 60%(很常见)
minReversalCount = 1     // 只需1根反转蜡烛

body = math.abs(close - open)
candleRange = high - low

isReversalCandle = candleRange > 0 and body >= bodyMin * candleRange
isDoji = candleRange > 0 and body <= dojiThreshold * candleRange
dojiLargerThanPrev = candleRange > candleRange[1]  // 可注释掉这行进一步放宽

var int reversalCount = 0
reversalCount := isReversalCandle ? reversalCount + 1 : 0

longCondition  = reversalCount[1] >= minReversalCount and isDoji and dojiLargerThanPrev and close > ema100
shortCondition = reversalCount[1] >= minReversalCount and isDoji and dojiLargerThanPrev and close < ema100

// 醒目标记
plotshape(longCondition, title="买入", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.large, text="BUY")
plotshape(shortCondition, title="卖出", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.large, text="SELL")

if longCondition
    label.new(bar_index, low, "LONG\n买入点", style=label.style_label_up, color=color.green, textcolor=color.white, size=size.large)

if shortCondition
    label.new(bar_index, high, "SHORT\n卖出点", style=label.style_label_down, color=color.red, textcolor=color.white, size=size.large)

// 简单交易执行(仅用于显示信号)
if longCondition
    strategy.entry("L", strategy.long)
if shortCondition
    strategy.entry("S", strategy.short)
Download early code ↓
Early draftDifference from the project goal
One large-body candleIt does not require two directional candles or check the intended no-wick conditions.
Entry signalsIt marks and submits entries but does not bind the intended structural stop or fixed take-profit.
Position handlingIt does not explicitly enforce the intended flat-only entry rule; opposite entries can reverse positions under strategy.entry behaviour.

The code has not been compiled or backtested in TradingView for this page. See TradingView strategy documentation ↗.

07 / NEXT STEPS

Build. Test.
Learn.

01 / Baseline

Implement and check the intended rule sequence, structural stop and order behaviour before claiming a working strategy.

02 / Compare

Change one assumption at a time and compare trade count, drawdown, profit factor and costs against the baseline.

03 / Validate

Review different market regimes and out-of-sample periods, including the simulator’s order-fill assumptions.

← Back to projects