Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共38 条记录, 每页显示 10 条, 页签: [1] [2][3][4]
[浏览完整版]

标题:一个简单的MACD日内系统

1楼
aback 发表于:2012/10/13 16:25:47

input:mm1(4,4,5,1);
input:mm2(4,2,5,1);
input:mm3(5,4,6,1);
input:mm5(200,170,260,10);
input:mm6(7,6,10,1);

runmode:0;
variable:ema12=c,ema26=c,dea=0;
if day<>ref(day,1) then begin
  ema12:=c;
  ema26:=c;
  dea:=0;
end
ema12:=ema12*11/13+c*2/13;
ema26:=ema26*25/27+c*2/27;
diff:ema12-ema26;
dea:=dea*4/5+diff/5;
dea1:dea;
macd:2*(diff-dea),colorstick;
input:shou(2,1,5,1);

TYP:= (HIGH + LOW + CLOSE)/3;
cci:=(TYP-MA(TYP,6))/(0.015*AVEDEV(TYP,6));

开多1:count(diff>ref(diff,1),mm1)=mm1;
开多2:count(macd>ref(macd,1),mm2)=mm2;
开多3:count(diff>dea1,mm3)=mm3;
开多:开多1 AND 开多2 AND 开多3;

开空1:count(diff<ref(diff,1),mm1)=mm1;
开空2:count(macd<ref(macd,1),mm2)=mm2;
开空3:count(diff<dea1,mm3)=mm3;
开空:开空1 AND 开空2 AND 开空3;


平多1:=count(macd<ref(macd,1),mm4)=mm4;
平多2:=cci>mm5;
平空1:=count(macd>ref(macd,1),mm4)=mm4;
平空2:=cci<-mm5;

平多:平多1 or 平多2 or CLOSE<=(ENTERPRICE-mm6); 
平空:平空1 or 平空2 or CLOSE>=(ENTERPRICE+mm6);

 

IF HOLDING>0 AND 平多 THEN SELL(1,0,MARKET);
IF HOLDING>0 AND TIME=151200  THEN SELL(1,0,MARKET);
IF HOLDING<0 AND 平空  THEN SELLSHORT(1,0,MARKET);
IF HOLDING<0 AND TIME=151200  THEN SELLSHORT(1,0,MARKET);
IF HOLDING=0 AND 开多  AND TIME<150900  THEN BUY(1,1,MARKET); 
IF HOLDING=0 AND 开空  AND TIME<150900  THEN BUYSHORT(1,1,MARKET);

 

 

 


此主题相关图片如下:555.jpg
按此在新窗口浏览图片
2楼
Change_1206_ 发表于:2012/10/13 20:14:57
你难道没有发现少了定义变量mm4吗?
3楼
jzt3321 发表于:2012/10/13 20:51:19
这种没有回撤的图线 不可靠吧
4楼
aback 发表于:2012/10/13 21:18:25
以下是引用Change_1206_在2012-10-13 20:14:57的发言:
你难道没有发现少了定义变量mm4吗?

 

input:mm4(10,8,10,1);

 

不好意思,漏了 !

5楼
aback 发表于:2012/10/13 21:24:18

重发 :

 

input:mm1(4,4,5,1);
input:mm2(4,2,5,1);
input:mm3(5,4,6,1);
input:mm4(10,8,10,1);
input:mm5(200,170,260,10);
input:mm6(7,6,10,1);

runmode:0;
variable:ema12=c,ema26=c,dea=0;
if day<>ref(day,1) then begin
  ema12:=c;
  ema26:=c;
  dea:=0;
end
ema12:=ema12*11/13+c*2/13;
ema26:=ema26*25/27+c*2/27;
diff:ema12-ema26;
dea:=dea*4/5+diff/5;
dea1:dea;
macd:2*(diff-dea),colorstick;


TYP:= (HIGH + LOW + CLOSE)/3;
cci:=(TYP-MA(TYP,6))/(0.015*AVEDEV(TYP,6));

开多1:count(diff>ref(diff,1),mm1)=mm1;
开多2:count(macd>ref(macd,1),mm2)=mm2;
开多3:count(diff>dea1,mm3)=mm3;
开多:开多1 AND 开多2 AND 开多3;

开空1:count(diff<ref(diff,1),mm1)=mm1;
开空2:count(macd<ref(macd,1),mm2)=mm2;
开空3:count(diff<dea1,mm3)=mm3;
开空:开空1 AND 开空2 AND 开空3;


平多1:=count(macd<ref(macd,1),mm4)=mm4;
平多2:=cci>mm5;
平空1:=count(macd>ref(macd,1),mm4)=mm4;
平空2:=cci<-mm5;

平多:平多1 or 平多2 or CLOSE<=(ENTERPRICE-mm6); 
平空:平空1 or 平空2 or CLOSE>=(ENTERPRICE+mm6);

 

IF HOLDING>0 AND 平多 THEN SELL(1,0,MARKET);
IF HOLDING>0 AND TIME=151200  THEN SELL(1,0,MARKET);
IF HOLDING<0 AND 平空  THEN SELLSHORT(1,0,MARKET);
IF HOLDING<0 AND TIME=151200  THEN SELLSHORT(1,0,MARKET);
IF HOLDING=0 AND 开多  AND TIME<150900  THEN BUY(1,1,MARKET); 
IF HOLDING=0 AND 开空  AND TIME<150900  THEN BUYSHORT(1,1,MARKET);

 

 

6楼
aback 发表于:2012/10/13 21:29:10

重发:注是3分钟周期。

 

 

input:mm1(4,4,5,1);
input:mm2(4,2,5,1);
input:mm3(5,4,6,1);
input:mm4(10,8,10,1);
input:mm5(200,170,260,10);
input:mm6(7,6,10,1);

runmode:0;
variable:ema12=c,ema26=c,dea=0;
if day<>ref(day,1) then begin
  ema12:=c;
  ema26:=c;
  dea:=0;
end
ema12:=ema12*11/13+c*2/13;
ema26:=ema26*25/27+c*2/27;
diff:ema12-ema26;
dea:=dea*4/5+diff/5;
dea1:dea;
macd:2*(diff-dea),colorstick;


TYP:= (HIGH + LOW + CLOSE)/3;
cci:=(TYP-MA(TYP,6))/(0.015*AVEDEV(TYP,6));

开多1:count(diff>ref(diff,1),mm1)=mm1;
开多2:count(macd>ref(macd,1),mm2)=mm2;
开多3:count(diff>dea1,mm3)=mm3;
开多:开多1 AND 开多2 AND 开多3;

开空1:count(diff<ref(diff,1),mm1)=mm1;
开空2:count(macd<ref(macd,1),mm2)=mm2;
开空3:count(diff<dea1,mm3)=mm3;
开空:开空1 AND 开空2 AND 开空3;


平多1:=count(macd<ref(macd,1),mm4)=mm4;
平多2:=cci>mm5;
平空1:=count(macd>ref(macd,1),mm4)=mm4;
平空2:=cci<-mm5;

平多:平多1 or 平多2 or CLOSE<=(ENTERPRICE-mm6); 
平空:平空1 or 平空2 or CLOSE>=(ENTERPRICE+mm6);

 

IF HOLDING>0 AND 平多 THEN SELL(1,0,MARKET);
IF HOLDING>0 AND TIME=151200  THEN SELL(1,0,MARKET);
IF HOLDING<0 AND 平空  THEN SELLSHORT(1,0,MARKET);
IF HOLDING<0 AND TIME=151200  THEN SELLSHORT(1,0,MARKET);
IF HOLDING=0 AND 开多  AND TIME<150900  THEN BUY(1,1,MARKET); 
IF HOLDING=0 AND 开空  AND TIME<150900  THEN BUYSHORT(1,1,MARKET);

 

 

 

 


此主题相关图片如下:666.jpg
按此在新窗口浏览图片
7楼
aback 发表于:2012/10/13 21:32:36
以下是引用jzt3321在2012-10-13 20:51:19的发言:
这种没有回撤的图线 不可靠吧

 

 

20% ,6.8万的回撤还不高?呵呵!

 

这个模型其实几个月前就弄好了,现在看看虽然回撤大点,但资金线还是能往上的,关键是程序简单,提供一个思路,说不定那位修修补补,还能弄得更好也说不准!

8楼
aback 发表于:2012/10/14 7:52:01

声明一下,前半部分是"阿火"的专利,感谢一下!

 

阿火源码:

十一、日内重新计算指标(macd)的方法,以避免跳空对指标造成的影响。

这里顺带介绍一下日内重新计算指标的方法,这样可以避免跳空对指标造成的影响。

比较难的是macd,kdj之类的,均线之类的简单

这里依然以macd为例

runmode:0;

variable:ema12=c,ema26=c,dea=0;

if day<>ref(day,1) then begin

ema12:=c;

ema26:=c;

dea:=0;

end

ema12:=ema12*11/13+c*2/13;

ema26:=ema26*25/27+c*2/27;

diff:ema12-ema26;

dea:=dea*4/5+diff/5;
dea1:dea;

macd:2*(diff-dea),colorstick;

 

 

9楼
xxb398 发表于:2012/10/14 10:37:05
谢谢LZ分享,测试正常,但图表交易信号出不来呢?
10楼
jzt3321 发表于:2012/10/14 13:20:03
不是说不高,是这种没有回撤的指标 你实盘敢用吗?
共38 条记录, 每页显示 10 条, 页签: [1] [2][3][4]


Powered By Dvbbs Version 8.3.0
Processed in .23438 s, 4 queries.