Before you start
What this module changes in your trading process.
Group indicators into trend, momentum, and volatility families.
Indicators transform price data into features. Learn the main indicator families, how to program them, and common implementation mistakes.
Module outline
Before you start
Group indicators into trend, momentum, and volatility families.
Lesson 1
Mengelompokkan indikator: tren, momentum, dan volatilitas.
Sebagian besar indikator masuk salah satu kategori: Keluarga Mengukur Contoh Tren Arah & kekuatan SMA, EMA, MACD, ADX Momentum / oscillator Kecepatan & kondisi overbought/oversold RSI, Stochastic, ROC Volatilitas Besarnya fluktuasi Bollinger Bands, ATR Kunci: indikator tidak meramal — ia merangkum data masa lalu menjadi bentuk yang lebih mudah diaturkan.
Indikator tren bersifat lagging (tertinggal), oscillator lebih responsif tetapi berisik. Pikirkan sebagai fitur Di dunia ML (Tingkat Lanjut), indikator menjadi "fitur" input model. Memahami apa yang diukur tiap indikator membantu memilih fitur yang tidak redundan.
Example
Contoh Tren Arah & kekuatan SMA, EMA, MACD, ADX Momentum / oscillator Kecepatan & kondisi overbought/oversold RSI, Stochastic, ROC Volatilitas Besarnya fluktuasi Bollinger Bands, ATR Kunci: indikator tidak meramal — ia merangkum data masa lalu menjadi bentuk yang lebih mudah diaturkan. Indikator tren bersifat lagging (tertinggal), oscillator lebih responsif tetapi berisik. Pikirkan sebagai fitur Di dunia ML (Tingkat Lanjut), indikator menjadi "fitur" input model. Memahami apa yang diukur tiap indikator membantu mem
Key points
Practice checkpoint
Apply this lesson to one market you actually watch. Write the rule, the data needed, the risk check, and the condition that invalidates the idea.
Before continuing
Lesson 2
Memrogram indikator inti (EMA, MACD, RSI, Bollinger, ATR) dengan Pandas.
Contoh implementasi ringkas dengan Pandas: Example code: import pandas as pd # EMA — rata-rata bergerak eksponensial (lebih responsif dari SMA) df["ema12"] = df["close"].ewm(span=12).mean() df["ema26"] = df["close"].ewm(span=26).mean() # MACD = EMA cepat - EMA lambat, plus garis sinyal df["macd"] = df["ema12"] - df["ema26"] df["signal"] = df["macd"].ewm(span=9).mean() # RSI (14) — momentum 0..100 delta = df["close"].diff() gain = delta.clip(lower=0).rolling(14).mean() loss = (-delta.clip(upper=0)).rolling(14).mean(
Example
import pandas as pd # EMA — rata-rata bergerak eksponensial (lebih responsif dari SMA) df["ema12"] = df["close"].ewm(span=12).mean() df["ema26"] = df["close"].ewm(span=26).mean() # MACD = EMA cepat - EMA lambat, plus garis sinyal df["macd"] = df["ema12"] - df["ema26"] df["signal"] = df["macd"].ewm(span=9).mean() # RSI (14) — momentum 0..100 delta = df["close"].diff() gain = delta.clip(lower=0).rolling(14).mean() loss = (-delta.clip(upper=0)).rolling(14).mean() rs = gain / loss df["rsi"] = 100 - 100/(1 + rs) # Bollinger Bands — volatilitas di sekitar SMA mid = df["close"].rolling(20).mean() sd = df["close"].rolling(20).std() df["bb_up"], df["b
Key points
Practice checkpoint
Apply this lesson to one market you actually watch. Write the rule, the data needed, the risk check, and the condition that invalidates the idea.
Before continuing
Lesson 3
Menggabungkan indikator menjadi sinyal komposit dengan filter.
Satu indikator jarang cukup. Pendekatan umum: gabungkan pemicu dengan filter . Example code: # Contoh: hanya beli saat tren naik DAN momentum belum overbought trend_up = df["ema12"] > df["ema26"] not_hot = df["rsi"] Logika: indikator tren menentukan "boleh long?", oscillator menyaring waktu masuk yang buruk. Filter volatilitas (ATR) bisa menyesuaikan ukuran posisi.
Jebakan umum • Redundansi: menumpuk banyak indikator yang mengukur hal sama (mis. tiga oscillator) menambah kompleksitas tanpa informasi baru. • Lagging: indikator berbasis MA tertinggal; di pasar cepat, sinyal datang terlambat. • Over-optimization: menyetel periode (14? 13?
15?) sampai backtest sempurna = overfitting. • Repainting: beberapa indikator/platform menghitung ulang nilai masa lalu — pastikan sinyal Anda tidak berubah setelah bar tertutup. Sederhana lebih kuat Sistem dengan 2–3 indikator yang masuk akal dan sedikit parameter cenderung lebih tahan banting daripada sistem dengan belasan indikator yang "disetel sempurna" pada masa lalu.
Example
# Contoh: hanya beli saat tren naik DAN momentum belum overbought trend_up = df["ema12"] > df["ema26"] not_hot = df["rsi"] < 70 df["long"] = (trend_up & not_hot).astype(int).shift(1)
Key points
Practice checkpoint
Apply this lesson to one market you actually watch. Write the rule, the data needed, the risk check, and the condition that invalidates the idea.
Before continuing
Fieldwork
Build one worksheet for Programmatic Technical Indicators: state the market, the rule, the data input, the risk limit, the validation check, and the review note before using it live.
Glossary
Checkpoint quiz
Quiz results can add XP when you are signed in.
Progress action
Marking complete saves the module, updates streak activity, and awards XP only once per module.
Previous module
Returns alone are misleading. Build the metric vocabulary needed to balance reward and risk and compare strategies fairly.
Next module
Sizing determines survival. Even a strategy with edge can fail when position size is wrong, so learn practical sizing logic.
Risk note: Metavulus learning content is for education and market preparation only. It is not financial advice, investment advice, or a trading recommendation.