通达信随心所欲主图指标(趋势型)指标公式

核心逻辑

这是一个**短期趋势追踪指标**,基于双均线系统(6日EMA和18日EMA)结合波动率分析来捕捉短期交易机会。 **计算原理:** 1. **均线系统**:使用6日EMA和18日EMA构建短期和中期的价格趋势基准 2. **变化率计算**:分别计算短期均线变化率(YF_TDCG)和中期均线变化率(YF_ZFD) 3. **波动分析**:通过JJ02指标衡量价格波动强度,结合价格变化率判断市场状态 4. **持仓周期**:追踪买入信号到卖出信号的周期数(YF_DCG11) **主要用途:** 识别短期价格的涨跌趋势,在趋势启动时买入,在趋势结束时卖出,属于**趋势跟随型**的短线交易指标。

买卖信号

**买入条件(短买入=1):** ``` YF_BDF5 = 1,即同时满足: - 短期变化率 > 0.5% - 波动率 > 0.215% 或 最低价 > 基准价 - 收盘价 >= 开盘价(收阳线) - 价格条件:收盘价>=200 或 (收盘价<200 且 涨幅<11%) ``` **卖出条件(短卖出=1):** ``` YF_DMR = 1,即同时满足: - 短期变化率 < -0.3% - 波动率 > 0.2% 或 最高价 < 基准价 - 开盘价 >= 收盘价(收阴线) 或 跌幅 < -1% ``` **持仓状态:** - 短持股 > 0:表示处于持仓状态 - 短操盘状态:1=买入持有中,2=持仓,9=卖出

用法

1. **信号识别**:出现粉色K线(买入信号)或红色K线(卖出信号),配合图标提示(买7卖8) 2. **持仓观察**:紫色K线表示持仓状态,颜色越深持仓越久 3. **收益计算**:系统自动计算本次交易的收益率(短本次收益) 4. **结合分析**:建议结合大盘走势和成交量综合判断,避免在震荡市中频繁交易

公式源码

YF_DDI:=(AMOUNT / vol);
YF_JJ:=((OPEN + CLOSE) / 2);
YF_DDING:=EMA(CLOSE,6);
YF_MMD:=MA(YF_DDING,1);
YF_XXD:=EMA(CLOSE,18);
YF_YYZ:=REF(YF_MMD,1);
YF_XXD1:=REF(YF_XXD,1);
YF_YYZ1:=BARSCOUNT(CLOSE);
YF_TDCG:=IF((YF_YYZ1 = 1),0,(((YF_MMD - YF_YYZ) / YF_YYZ) * 100));
YF_ZFD:=IF((YF_YYZ1 = 1),0,(((YF_XXD - YF_XXD1) / YF_XXD1) * 100));
YF_JSD2:=REF(CLOSE,1);
CLOSE1:=IF((YF_YYZ1 = 1),0,(((CLOSE - YF_JSD2) / YF_JSD2) * 100));
YF_JZDF:=IF((YF_YYZ1 = 1),((CLOSE + OPEN) / 2),YF_YYZ);
YF_DCGJ:=YF_MMD;
JJ0:=YF_YYZ;
JJ1:=REF(YF_MMD,2);
JJ2:=(((YF_DCGJ + JJ0) + JJ1) / 3);
JJ02:=(((Abs((YF_DCGJ - JJ2)) + ABS((JJ0 - JJ2))) + ABS((JJ1 - JJ2))) / 3);
SS:=REF(YF_TDCG,1);
YF_ZFD1:=REF(YF_TDCG,2);
YF_ZFD2:=IF((YF_YYZ1 < 3),0,((JJ02 / YF_DCGJ) * 100));
YF_DHPXS:=IF((YF_YYZ1 < 3),0,IF((((YF_TDCG < 0) AND (SS < 0)) AND (YF_ZFD1 < 0)),(0 - 1),1));
YF_YZFZ:=IF((((YF_YYZ1 > 11) AND (SS < 0)) AND (YF_TDCG > 0)),1,0);
YF_JSD21:=BARSLAST((YF_YZFZ = 1));
YF_JSD:=REF(YF_JSD21,1);
A:=IF((((YF_YYZ1 > 11) AND (SS < 0)) AND (YF_TDCG > 0)),(YF_JSD + 1),YF_JSD);
YF_PJJ:=IF((((YF_YYZ1 > 11) AND (SS > 0)) AND (YF_TDCG < 0)),1,0);
YF_JSD11:=YF_JZDF;
DMRJ:=YF_JZDF;
DMCJ:=IF(((YF_YYZ1 > 11) AND (YF_JSD11 < OPEN)),OPEN,YF_JZDF);
YF_DMRJ:=IF(((YF_YYZ1 > 11) AND (DMRJ > OPEN)),OPEN,YF_JZDF);
YF_DMCJ:=0;
YF_DCG1:=REF(YF_JZDF,1);
YF_BDF5:=IF(((((YF_TDCG > 0.5) AND ((YF_ZFD2 > 0.215) OR (LOW > YF_JZDF))) AND (CLOSE >= OPEN)) AND ((CLOSE >= 200) OR ((CLOSE < 200) AND (CLOSE1 < 11)))),1,0);
YF_DMR:=IF((((YF_TDCG < (0 - 0.3)) AND ((YF_ZFD2 > 0.2) OR (HIGH < YF_JZDF))) AND ((OPEN >= CLOSE) OR (CLOSE1 < (0 - 1)))),1,0);
YF_DKS1:=BARSSINCE(YF_BDF5);
YF_TDMR:=BARSSINCE(YF_DMR);
YF_DCGJ1:=((COUNT(YF_BDF5,BARSLAST(YF_DMR)) = 1) AND YF_BDF5);
YF_DMRBUY:=((COUNT(YF_DMR,BARSLAST(YF_BDF5)) = 1) AND YF_DMR);
YF_DMCSELL:=BARSLAST(YF_DMRBUY);
YF_DCG10:=BARSLAST(YF_DCGJ1);
YF_DCG11:=((SUM(YF_DMRBUY,YF_DCG10) = 0) * YF_DCG10);
YF_DCGREAL:=REF(DMCJ,YF_DCG11);
YF_DMRJ11:=REF(YF_DCGREAL,1);
YF_DMRJ1:=IF((YF_DCGJ1 = 1),(((CLOSE - DMCJ) / DMCJ) * 100),(((YF_DMRJ - YF_DMRJ11) / YF_DMRJ11) * 100));
YF_DCG:=IF((((YF_DCG11 = 0) AND (YF_DCGJ1 = 0)) AND (YF_DMRBUY = 0)),0,YF_DMRJ1);
短买入:YF_DCGJ1,NODRAW;
短卖出:YF_DMRBUY,NODRAW;
短持股:YF_DCG11,NODRAW;
短持股1:=YF_DCG;
短本次收益:=IF((短买入 = 1),YF_DCGREAL,IF(((短持股 != 0) OR (短卖出 = 1)),YF_DMRJ11,0));
短买价:=IF((短卖出 = 1),YF_DMRJ,0);
STICKLINE((短买入 = 1),OPEN,CLOSE,8,0),COLORFF99FF;
STICKLINE((短买入 = 1),OPEN,CLOSE,6,0),COLORFF00FF;
STICKLINE((短买入 = 1),OPEN,CLOSE,4,0),COLOR9900FF;
STICKLINE((短买入 = 1),OPEN,CLOSE,2,0),COLORFF0000;
STICKLINE((短持股 > 0),OPEN,CLOSE,0,0),COLORFFBBFF;
STICKLINE((短持股 > 0),OPEN,CLOSE,8,0),COLORFF00FF;
STICKLINE((短持股 > 0),OPEN,CLOSE,7,0),COLORFF22FF;
STICKLINE((短持股 > 0),OPEN,CLOSE,6,0),COLORFF44FF;
STICKLINE((短持股 > 0),OPEN,CLOSE,5,0),COLORFF66FF;
STICKLINE((短持股 > 0),OPEN,CLOSE,4,0),COLORFF88FF;
STICKLINE((短持股 > 0),OPEN,CLOSE,3,0),COLORFF99FF;
STICKLINE((短持股 > 0),OPEN,CLOSE,2,0),COLORFFAAFF;
STICKLINE((短持股 > 0),OPEN,CLOSE,1,0),COLORFFBBFF;
STICKLINE((短卖出 = 1),OPEN,CLOSE,0,0),COLORFF0000;
STICKLINE((短卖出 = 1),OPEN,CLOSE,8,0),COLOR880000;
STICKLINE((短卖出 = 1),OPEN,CLOSE,7,0),COLOR990000;
STICKLINE((短卖出 = 1),OPEN,CLOSE,6,0),COLORAA0000;
STICKLINE((短卖出 = 1),OPEN,CLOSE,5,0),COLORBB0000;
STICKLINE((短卖出 = 1),OPEN,CLOSE,4,0),COLORCC0000;
STICKLINE((短卖出 = 1),OPEN,CLOSE,3,0),COLORDD0000;
STICKLINE((短卖出 = 1),OPEN,CLOSE,2,0),COLOREE0000;
STICKLINE((短卖出 = 1),OPEN,CLOSE,1,0),COLORFF0000;
DRAWICON((短买入 = 1),LOW,7);
DRAWICON((短卖出 = 1),HIGH,8);
短操盘状态:IF((短买入 = 1),1,IF((短持股 > 0),2,IF((短卖出 = 1),9,0))),NODRAW;