这是系统自带macd指标,参数也一样。我加粗并以颜色区分红绿柱的上升和下降。 大于零轴用红色,小于零轴用绿色。深色表示下降,浅色表示上升。 红柱=cross(快线,慢线)。 绿柱=cross(慢线,快线) 浅红柱=红柱>ref(红柱,1)。 深红住=红柱<ref(红柱,1)。 浅绿柱=绿柱>ref(绿柱,1)。 深绿柱=绿柱<ref(绿柱,1)。 我的系统就是用红绿柱来开平仓,但是里面要用到全局变量计数才能实现,我试了好几次都不成功,所以,我把主体部分macd以及所有用到的变量写好,请老师帮我编写下其余代码,谢谢啦 一:多单开平仓规则: 多①绿转红,开多。(如有仓位,平空开多;如无仓位,开多) 持仓3根。 第3根平多。 如果不足3根就转深红,或红转绿,那么变色处平多。 多②深红转浅红,开多。(只做零轴上,前两次深红转浅红。>=3次深红转浅红不做)。 每次浅红持仓4根。 第4根浅红收盘平多。 如果不足4根就转深红,或红转绿,那么变色处平多。 二:空单开平仓规则:(和多单规则相反。) 空①红转绿,开空。(如有仓位,平多开空;如无仓位,开空) 持仓3根。 第3根平空。 如果不足3根就转浅绿,或绿转红,那么变色处平空。 空②浅绿转深绿,开空。(只做零轴下,前两次浅绿转深绿。>=3次浅绿转深绿不做)。 每次深绿持仓4根。 第4根深绿收盘平空。 如果不足4根就转浅绿,或绿转红,那么变色处平空。 示意图如下:
//以下是我的代码: INPUT:SHORT(12,1,100,1),LONG(26,1,100,1),MID(9,1,100,1);
快DIFF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG),LINETHICK1; 慢DIFF:=EMA(快DIFF,5);
慢信DEA:EMA(快DIFF,MID),LINETHICK1; 柱MACD:=(快DIFF-慢信DEA)*2;
柱上涨:=柱MACD>=REF(柱MACD,1) AND 柱MACD >= 0;//柱上涨(浅红) 柱下涨:=柱MACD>=REF(柱MACD,1) AND 柱MACD < 0 ;//柱下涨(浅绿) 柱上跌:=柱MACD<REF(柱MACD,1) AND 柱MACD >= 0;//柱上跌(深红) 柱下跌:=柱MACD<REF(柱MACD,1) AND 柱MACD< 0 ;//柱下跌(深绿)
STICKLINE(柱MACD>=REF(柱MACD,1) AND 柱MACD >= 0 ,0,柱MACD,10,0,RGB(255,128,128));//柱上涨(浅红) STICKLINE(柱MACD>=REF(柱MACD,1) AND 柱MACD < 0 ,0,柱MACD,10,0,RGB(0,213,0));//柱下涨(浅绿) STICKLINE(柱MACD<REF(柱MACD,1) AND 柱MACD >= 0 ,0,柱MACD,10,0,RGB(102,51,51));//柱上跌(深红) STICKLINE(柱MACD<REF(柱MACD,1) AND 柱MACD< 0 ,0,柱MACD,10,0,RGB(0,102,0));//柱下跌(深绿)
//*************以下是开仓平仓用到的变量代码************************* 绿转红:=ref(柱MACD<0,1) AND 柱MACD>0 ;//开始涨 深红转浅红:=ref(柱上跌,1) AND 柱上涨;//零上涨 浅红转深红:=ref(柱上涨,1) AND 柱上跌;//零上跌
红转绿:=ref(柱MACD>0,1) AND 柱MACD<0;//开始跌 深绿转浅绿:=ref(柱下跌,1) AND 柱下涨;//零下涨
浅绿转深绿:=ref(柱下涨,1) AND 柱下跌;//零下跌
补充内容 (2023-6-18 23:06):
//******多单,开仓及平仓条件******
开多1条件:绿转红;//(如有仓位,平空开多;如无仓位,开多)
平多1条件:(浅红转深红 or 红转绿) or (持仓第三根平仓);
开多2条件:深红转浅红//(只开零轴上,前两次,>=3次不开);
平多2条件:(浅红转深红 or 红转绿) or (持仓第4根平仓);
//******空单,开仓及平仓条件******
开空1条件:红转绿;//(如有仓位,平多开空;如无仓位,开空)
平空1条件:深绿转浅绿 or 绿转红 or (持仓第三根平仓);
开空2条件:浅绿转深绿//(只开零轴下,前两次,>=3次不开);
平空2条件:(深绿转浅绿 or 绿转红) or (持仓第4根平仓);
补充内容 (2023-6-18 23:13):
开平仓手数都是1手。
都用市价market。 |