OPEN-SOURCE SCRIPT

DKX & MADKX Indicator

274
//version=6
indicator("DKX & MADKX Indicator", "DKX", false)

// --- Constants ---
var int DKX_period = 15
var int MADKX_period = 7

// --- 1. 计算中间变量 MID ---
// (3 * close + low + open + high) / 6
mid = (3 * close + low + open + high) / 6

// --- 2. 计算 DKX 加权移动平均线 ---
// 注意:Pine Script的 ta.wma() 权重是 (1, 2, 3...),与通达信的反向加权 (20, 19, 18...) 不同。
// 因此,我们需要手动计算这个加权平均。
//
// 手动加权平均公式: Sum(weight * source) / Sum(weight)
// 权重: 20, 19, 18, 17, ..., 3, 2, 1
// 权重的总和: 20 + 19 + ... + 1 = 20 * (20 + 1) / 2 = 210

var float dkx_sum = 0.0
var float dkx_weights_sum = 0.0

dkx_sum := 0.0
dkx_weights_sum := 0.0

for i = 0 to DKX_period - 1
weight = DKX_period - i
dkx_sum += mid * weight
dkx_weights_sum += weight

dkx = dkx_sum / dkx_weights_sum

// --- 3. 计算 MADKX (DKX的简单移动平均) ---
madkx = ta.sma(dkx, MADKX_period)

// --- 4. 绘图 ---
plot(dkx, "DKX", color.red, linewidth=2)
plot(madkx, "MADKX", color.yellow, linewidth=2)

Thông báo miễn trừ trách nhiệm

Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.