以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  交易策略发布专区  (http://weistock.com/bbs/list.asp?boardid=10)
----  55天海龟看图  (http://weistock.com/bbs/dispbbs.asp?boardid=10&id=57380)

--  作者:武田晴信
--  发布时间:2013/10/10 13:48:10
--  求助帮忙写下代码,不会

input:N1(55,6,99);
input:N2(20,2,99); //定义变量

LC:=REF(CLOSE,1);
//引用上一周期的收盘价

TR123:=MAX((HIGH - LOW),MAX((HIGH - LC),(LC - LOW)));
//判断,取三个计算公式里面的最大值

ATR:=SMA(TR123,20,1);
//求三十日的平均移动TR123的值

AA:=(HHV(HIGH,N1) - (2 * ATR));
//AA=N1周期最高价-2*ATR

BB:=CROSS(CLOSE,REF(HHV(HIGH,55),1));
//判断收盘价是否上穿上个周期的55周期最高价

SSS:=CROSS(MIN(MA(CLOSE,13),AA),CLOSE);
//判断AA和13周期均线的最小值,是否上穿收盘价

BBB:=BARSLAST(BB);
//上一个BB条件满足到现在的周期数

SSSB:=BARSLAST(SSS);
//上一个SSS条件满足到现在的周期数

B1:=((BBB = 0) AND (REF(SSSB,1) < REF(BBB,1)));
//BBB=0的同时还要上个周期的SSSB小于上个周期的BBB

B1B:=BARSLAST(B1);
//上一个B1条件满足到现在的周期数

B2:=((((BB = 1) AND (B1B < SSSB)) AND (B1B > 0)) AND (COUNT(BB,SSSB) < 3));
//bb=1同时 B1B小于SSB同时B1B大于0同时SSSB个周期内BB成立次数小于3

B2B:=BARSLAST(B2);
//上一个B2条件满足到现在的周期数

B3:=((((BB = 1) AND (B2B < B1B)) AND (COUNT(BB,SSSB) < 4)) AND (COUNT(BB,SSSB) > 2));
//bb=1同时 B2B小于B1B 同时SSSB个 周期内BB成立次数小于4大于2

B3B:=BARSLAST(B3);
//上一个B3条件满足到现在的周期数

SS:=CROSS(MAX(AA,MA(CLOSE,13)),CLOSE);
//判断AA和13周期均线的最大值是否上穿收盘骄傲

SS1:=(((SS AND ((B3B < B2B) OR (B2B < B1B))) AND (SSSB > B1B)) AND (COUNT(SS,B2B) < 2));
//ss条件满足同时 B3B小于B2B或者B2B小于B1B 同时 SSSB大于B1B 同时B2B个周期内SS成立次数小于2

SS1B:=BARSLAST(SS1);
//上一个SS1条件满足到现在的周期数

SS2:=((((SS AND (SS1B < SSSB)) AND (B3B < B2B)) AND (SS1B > 0)) AND (COUNT(SS,B2B) < 3));
//ss条件成立同时 SS1B小于SSSB 同时B3B小雨B2B 同时SS1大于0 同时B2B个周期内SS成立次数小于3

SSSS:=(SSS AND (REF(SSSB,1) > REF(B1B,1)));
// SSS条件成立通知 上个周期的SSSB大于上个周期的B1B


DRAWICON((B1 = 1),(LOW - 0.1),1);//
DRAWTEXT((B1 = 1),(LOW - 0.25),\'买1\'),colorFF;
DRAWICON((B2 = 1),(LOW - 0.1),1);
DRAWTEXT((B2 = 1),(LOW - 0.25),\'买2\'),colorFF;
DRAWICON((B3 = 1),(LOW - 0.1),1);
DRAWTEXT((B3 = 1),(LOW - 0.25),\'买3\'),colorFF;
DRAWICON((SS1 = 1),(HIGH + 0.1),2);
DRAWTEXT((SS1 = 1),(HIGH + 0.25),\'止损1\'),colorFF00;
DRAWICON((SS2 = 1),(HIGH + 0.1),2);
DRAWTEXT((SS2 = 1),(HIGH + 0.25),\'止损2\'),colorFF00;
DRAWICON((SSSS = 1),(HIGH + 0.1),2);
DRAWTEXT((SSSS = 1),(HIGH + 0.25),\'快卖\'),colorFF00;

 

 

 

 

尝试着变成交易系统但是写失败了,很多有的,如果是重复了,就删了吧


--  作者:自渔自乐
--  发布时间:2013/10/16 14:21:27
--  
谢谢你提供的公式,交易系统加上下面就可,仓位自调

 if B1 = 1 THEN
 买1:buy(1,round(10000/c),nextopen);
 
  
 if B2 = 1 THEN
 买2:buy(1,round(10000/c),nextopen);
 
  
 if B3 = 1 THEN
 买3:buy(1,round(10000/c),nextopen);
 
 if SS1+ss2+ssss>0 then
 卖:SELL(1,100%,THISCLOSE)

股票市场,这是个多头失败的策略:

 平均利润:                 -97.00      年回报率:         -2.10%(1380天)

[此贴子已经被作者于2013/10/16 14:22:16编辑过]

--  作者:武田晴信
--  发布时间:2013/10/17 17:38:32
--  
我用期货股指测试了下,
图片点击可在新窗口打开查看此主题相关图片如下:u0ke@7c7}jsus4jc~zxn(4m.jpg
图片点击可在新窗口打开查看