请选择 进入手机版 | 继续访问电脑版

波浪带鱼理论

[复制链接]
查看374 | 回复8 | 桥博士 | 2020-5-5 22:57:02 | 显示全部楼层 |阅读模式
一个相对大的周期的开仓平仓信号作为波浪的起始点,例如MACD的金叉死叉,盈利的交易机会定义为“带鱼浪”。
一个相对小的周期的开仓平仓信号作为鱼的头和尾,例如MACD柱的VA鱼,盈利的交易机会定义为“带鱼”。


这个理论最大的2个用途:
1、让“数波浪”变得更加容易量化定义了;
2、交易模型中可以根据“带鱼浪”的分布,预判“带鱼”,决定是否加减仓或空仓。根据“短鱼浪”来决定是否逆势。

回复

使用道具 举报

桥博士 | 2020-5-5 23:08:32 | 显示全部楼层
先从带鱼开始讲,因为这个逻辑是百搭的,可以很很多交易模型结合起来用。
要知道做趋势跟随的交易者,是吃不到鱼头鱼尾的。一段行情启动,要持续一段时间才可能形成趋势,所以一开始的这一段行情是来不及抓住的。一段行情结束,要持续一段时间才可能形成趋势,所以最后面的这一段行情也是抓不住的。正所谓,在底不言底,在顶不言顶。
所以如果一条鱼,去掉鱼头和鱼尾,所剩无几,那么这条鱼的鱼身就没有肉了,就好像一笔交易,开仓平仓,再扣除手续费和划点,最后没有利润,甚至是负利润。
做趋势突破的量化交易者,喜欢的行情是,扣除开头结尾,中间还有很长一段,就像一条“带鱼”。
一次交易机会,如果是亏损的,那这次交易机会就称为“短鱼”。趋势突破模型,都是亏在短鱼上,反复震荡的行情,会出现连续多条的短鱼。
短鱼可分为两种胖头鱼和食人鱼。
胖头鱼,是指交易开仓进场后,曾经有浮盈,最后根据平仓信号离场时是亏损的。这种短鱼,可以用做短线思维主动止盈,还有得一救,还有实用价值。
食人鱼,是指交易开仓进场后,一直是亏损的,从未有过浮盈,最后根据平仓信号离场时是还是亏损的。这种短鱼无可救药,少则伤筋动,多则可以致命,趋势突破交易者要设法回避。
回复

使用道具 举报

桥博士 | 2020-6-14 23:52:22 | 显示全部楼层
1
回复

使用道具 举报

桥博士 | 2020-6-14 23:52:26 | 显示全部楼层
1
回复

使用道具 举报

桥博士 | 2020-6-14 23:52:30 | 显示全部楼层
1
回复

使用道具 举报

桥博士 | 2020-6-14 23:52:34 | 显示全部楼层
1
回复

使用道具 举报

桥博士 | 2020-6-14 23:52:37 | 显示全部楼层
1
回复

使用道具 举报

桥博士 | 2020-6-14 23:54:14 | 显示全部楼层
金叉死叉数波浪
V点A点算带鱼

赚钱的波浪叫带鱼浪,亏钱的波浪叫短鱼浪。
回复

使用道具 举报

桥博士 | 2020-6-23 10:20:23 | 显示全部楼层
最大缺点就是参数是:拟合出来的。
有一年特别大的回撤,-50%


优点是交易空仓周期大于MACD,但组合回测的收益却没有减少。
25个品种,400万开仓,实际启用资金小于1亿元,但很多年份的收益却大于5000万





微信截图_20200623101602.png

微信截图_20200623101001.png
微信截图_20200623100931.png

微信截图_20200623100918.png

--------------------------------------
//一、定义仓位
FUND:=10000000; //资金
LOTS:=INTPART(FUND*0.4/(C*MARGIN*UNIT+FEE));//计算开仓手数
//LOTS:=INTPART(FUND*0.4/(CLOSE+FEE));//计算手数

//二、定义MACD
DIFF := EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA := EMA(DIFF,M);//DIFF的M个周期指数平滑移动平均
MACD := 2*(DIFF-DEA);
2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线

LEN:=CONDBARS(CROSSUP(DIFF,DEA),CROSSDOWN(DIFF,DEA));//最近一次满足DIFF上穿DEA与DIFF下穿DEA之间的周期数

//三、描述均线之鱼【带鱼都是盈利的,短鱼都是亏损的】
//1、带鱼,包含飞鱼; 当前金叉的收盘价小于前一次死叉的收盘价 或者 当前死叉的收盘价大于前一次金叉的收盘价为带鱼;
DDAI:=C>REF(C,LEN) AND CROSSDOWN(DIFF,DEA); //当前死叉,前一次金叉,多带鱼
KDAI:=C<REF(C,LEN) AND CROSSUP(DIFF,DEA); //当前金叉,前一次死叉,空带鱼

//2、短鱼,包含胖头鱼、食人鱼    当前金叉的收盘价大于前一次死叉的收盘价 或者 当前死叉的收盘价小于前一次金叉的收盘价为短鱼;
DDUAN:=C<REF(C,LEN) AND CROSSDOWN(DIFF,DEA); //当前死叉,前一次金叉,多短鱼
KDUAN:=C>REF(C,LEN) AND CROSSUP(DIFF,DEA); //当前金叉,前一次死叉,空短鱼

//四、在K线图上画出符合对应条件的形态
DRAWTEXT(DDAI ,H ,'多带'),VALIGN2,FONTSIZE18,COLORWHITE;
DRAWTEXT(DDUAN ,H ,'多短'),VALIGN2,FONTSIZE18,COLORWHITE;
DRAWTEXT(KDAI ,L,'空带'),VALIGN2,FONTSIZE18,COLORWHITE;
DRAWTEXT(KDUAN ,L ,'空短'),VALIGN2,FONTSIZE18,COLORWHITE;

//五、记录带鱼和短鱼的次数
DDAICS:=-1*COUNT(DDAI,0);//多带鱼次数
KDAICS:=-1*COUNT(KDAI,0);//空带鱼次数
DDUANCS:=COUNT(DDUAN ,0);//多短鱼次数
KDUANCS:=COUNT(KDUAN ,0);//空短鱼次数
DAIYUCS:=DDAICS+KDAICS;//总带鱼次数
DUANYUCS:=DDUANCS+KDUANCS;//总短鱼次数

DKDUANYUCS:=IF(ABS(DAIYUCS)>REF(ABS(DAIYUCS),1), DUANYUCS, REF(DUANYUCS, BARSLAST((KDAI OR DDAI))));
//当前是带鱼,取短鱼次数,否则取上一次是带鱼时的短鱼次数【当前是带鱼时,短鱼次数不会变化】
DKDAIYUCS:=IF(ABS(DUANYUCS)>REF(ABS(DUANYUCS),1), DAIYUCS, REF(DAIYUCS, BARSLAST((DDUAN OR KDUAN))));
//当前是短鱼,取带鱼次数,否则取上一次是短鱼时的带鱼次数【当前是短鱼时,带鱼次数不会变化】

DUANCS : DKDUANYUCS; //短鱼次数
DAICS : DKDAIYUCS; //带鱼次数
ZDAIYUCS : DAIYUCS; //总带鱼次数
ZDUANYUCS : DUANYUCS;//总短鱼次数

//六、定义当前的金叉死叉
DQSC:=CROSSDOWN(DIFF,DEA);//记录当前的死叉信号
DQJC:=CROSSUP(DIFF,DEA);//记录当前的金叉信号

DD:=REF(DUANCS, 1);
CC:=REF(DAICS, 1);

//七、定义开仓条件
//1、定义短鱼的开仓条件【其中:参数N是短鱼/带鱼连续出现的次数】
DUAN_ZDXH1 := ABS(ZDUANYUCS-REF(DUANCS, 1))=1 && KDUAN;//当前是空短鱼 + 前面短鱼连续出现大于等于 N 次
DUAN_ZKXH1 := ABS(ZDUANYUCS-REF(DUANCS, 1))<11 &&  ABS(ZDUANYUCS-REF(DUANCS, 1))>=1 && DDUAN;//当前是多短鱼 + 前面短鱼连续出现大于等于 N 次
ZDXH2 := (N=0 AND CROSSUP(DIFF,DEA));//(N=0 AND COUNTSIG(BPK, 0)=0 AND CROSSUP(DIFF,DEA)) ||
ZKXH2 := (N=0 AND CROSSDOWN(DIFF,DEA));//(N=0 AND COUNTSIG(SPK, 0)=0 AND CROSSDOWN(DIFF,DEA)) ||
DUAN_ZDXH := DUAN_ZDXH1 || ZDXH2; //做多信号
DUAN_ZKXH := DUAN_ZKXH1 || ZKXH2; //做空信号

//2、定义带鱼的开仓条件
DAI_ZDXH1 := ABS(ZDAIYUCS-REF(DAICS, 1))=2&& KDAI;//当前是空带鱼 + 前面带鱼连续出现大于等于 N 次
DAI_ZKXH1 := ABS(ZDAIYUCS-REF(DAICS, 1))=1 && DDAI;//当前是多带鱼 + 前面带鱼连续出现大于等于 N 次
DAI_ZDXH := DAI_ZDXH1 || ZDXH2;//做多信号
DAI_ZKXH := DAI_ZKXH1 || ZKXH2;//做空信号

//八、定义平仓条件
PDTJ2 := BKVOL>0 && DQSC;
PKTJ2 := SKVOL>0 && DQJC;
//1、短鱼的平仓条件
DUAN_PDTJ1 := BKVOL>0 && (KDAI || DDAI);//当前是带鱼 即是 前面短鱼连续出现小于 N 次
DUAN_PKTJ1 := SKVOL>0 && (KDAI || DDAI);//当前是带鱼 即是 前面短鱼连续出现小于 N 次
DUAN_PDTJ := DUAN_PDTJ1 || PDTJ2;//平多仓条件
DUAN_PKTJ := DUAN_PKTJ1 || PKTJ2;//平空仓条件

//2、带鱼的平仓条件
DAI_PDTJ1 := BKVOL>0 && (DDUAN || KDUAN);//当前是短鱼 即是 前面带鱼连续出现小于 N 次
DAI_PKTJ1 := SKVOL>0 && (DDUAN || KDUAN);//当前是短鱼 即是 前面带鱼连续出现小于 N 次
DAI_PDTJ := DAI_PDTJ1 || PDTJ2;//平多仓条件
DAI_PKTJ := DAI_PKTJ1 || PKTJ2;//平空仓条件

//九、交易的整体逻辑
//1、开仓信号
DUAN_ZDXH1 ||DAI_ZDXH, BPK(LOTS);//
DUAN_ZKXH1 || DAI_ZKXH, SPK(LOTS);//

//2、平仓条件
CROSS(DIFF,DEA),BP(SKVOL);//DIFF上穿DEA,做多。
CROSS(DEA,DIFF),SP(BKVOL);//DIFF下穿DEA,做空。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关课程推荐
桥博士《MACD指标详解》
为什么我们只用MACD金叉死叉来进行操作效果并不好,学习课程就能在研究MACD指标上少走很多弯路
桥博士《K线形态组合解析》
从理论到实战,让您全面掌握各种K线形态及各种组合,帮您分析梳理大量K线知识让您的投资更游刃有余
桥博士《股票入门基础知识》
从理论到实战,课程包括如何买卖股票、开户流程、交易软件、k线图知识、技术指标、价值投资等新手必备知识

154

主题

665

帖子

1971

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1971
  • 官方论坛

    提供最新 Discuz! 产品新闻、软件下载与技术交流