欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请老师帮忙改进程序

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3749人关注过本帖树形打印复制链接

主题:请老师帮忙改进程序

帅哥哟,离线,有人找我吗?
syc
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2015/10/15 8:32:46
  发帖心情 Post By:2015/10/15 11:07:38    Post IP:1.198.34.9[只看该作者]

还不是我要的结果,问题出在哪里我说不出来。由于本人能力有限,还需慢慢理解老师给出的语句的意思。

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/10/15 11:25:40    Post IP:58.246.57.26[只看该作者]

INPUT : T20(20,15,60,1);
INPUT : SS(15,1,20,1);
T20HI : REF(HHV(H,T20),1);
T20LO : REF(LLV(L,T20),1);
开多平空条件:= H > T20HI;
开空平多条件:= L < T20LO;
kd:= barslast(H > T20HI)<4 and barslast(H > T20HI)>0 and barslast(l<valuewhen(H > T20HI,t20hi))<4 and barslast(l<valuewhen(H > T20HI,t20hi))>0;
kk:= barslast(L <T20LO)<4 and barslast(L < T20LO)>0 and barslast(h>valuewhen(L < T20LO,t20li))<4 and barslast(h>valuewhen(L < T20LO,t20li))>0;
平空:sellshort(开多平空条件 and holding<0,SS,limitr,T20HI);
开多:buy(kd and holding=0,SS,limitr,valuewhen(h>t20hi,T20HI));
平多:sell(开空平多条件 and holding>0,SS,limitr,T20LO);
开空: buyshort(kk and holding=0,SS,limitr,valuewhen(l<t20lo,T20LO));
buy(barslast(H > T20HI)>=3 and l>=valuewhen(H > T20HI,t20hi),ss,limitr,valuewhen(barslast(H > T20HI)=3,close));
buyshort(barslast(L <T20LO)>=3 and h<=valuewhen(l<t20lo,t20lo),ss,limitr,valuewhen(barlsast(l<l20lo)=3,close));


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
syc
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2015/10/15 8:32:46
  发帖心情 Post By:2015/10/15 11:43:31    Post IP:1.198.34.9[只看该作者]

还是有问题,两个图供老师对比。
图片点击可在新窗口打开查看此主题相关图片如下:老师最后改进的结果.jpg
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:原代码执行结果.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
syc
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2015/10/15 8:32:46
  发帖心情 Post By:2015/10/15 11:46:18    Post IP:1.198.34.9[只看该作者]

这是老师最后修改后的结果。
图片点击可在新窗口打开查看此主题相关图片如下:老师最后改进的结果.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/10/15 13:10:06    Post IP:58.246.57.26[只看该作者]

你讲的3根k线都不成立,然后以第三根k线的收盘价开仓,是只有这一根开仓,还是3根k线之后的都以这第三根k线的收盘价开仓


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
syc
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2015/10/15 8:32:46
  发帖心情 Post By:2015/10/15 13:24:49    Post IP:1.198.34.9[只看该作者]

是只有这一根开仓!

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/10/15 13:32:18    Post IP:58.246.57.26[只看该作者]

INPUT : T20(20,15,60,1);
INPUT : SS(15,1,20,1);
T20HI : REF(HHV(H,T20),1);
T20LO : REF(LLV(L,T20),1);
开多平空条件:= H > T20HI;
开空平多条件:= L < T20LO;
kd:= barslast(H > T20HI)<4 and barslast(H > T20HI)>0 and barslast(l<valuewhen(H > T20HI,t20hi))<4 and barslast(l<valuewhen(H > T20HI,t20hi))>0;
kk:= barslast(L <T20LO)<4 and barslast(L < T20LO)>0 and barslast(h>valuewhen(L < T20LO,t20li))<4 and barslast(h>valuewhen(L < T20LO,t20li))>0;
平空:sellshort(开多平空条件 and holding<0,SS,limitr,T20HI);
开多:buy(kd and holding=0,SS,limitr,valuewhen(h>t20hi,T20HI));
平多:sell(开空平多条件 and holding>0,SS,limitr,T20LO);
开空: buyshort(kk and holding=0,SS,limitr,valuewhen(l<t20lo,T20LO));
buy(barslast(H > T20HI)=3 and l>=valuewhen(H > T20HI,t20hi) and holding=0,ss,limitr,close);
buyshort(barslast(L <T20LO)=3 and h<=valuewhen(l<t20lo,t20lo) and holding=0,ss,limitr,close);


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
syc
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2015/10/15 8:32:46
  发帖心情 Post By:2015/10/15 13:41:17    Post IP:1.198.34.9[只看该作者]

还不对啊老师,是否需要用IF 条件语句来实现?


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/10/15 13:48:29    Post IP:58.246.57.26[只看该作者]

那么你的思路无法实现



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
syc
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2015/10/15 8:32:46
  发帖心情 Post By:2015/10/16 15:42:34    Post IP:171.15.148.100[只看该作者]

老师,我用笨办法实现了昨天我的设想,结果和预先设想的一致。原代码如下,你给看看怎么简化?
INPUT:T20(20,15,60,1);
INPUT:SS(15,1,20,1);
T20HI:REF(HHV(H,T20),1);
T20LO:REF(LLV(L,T20),1);

//平空
IF H>T20HI and holding<0 THEN BEGIN
   sellshort(1,0,limitr,T20HI);
   TD:=0;
END

//平多
IF L<T20LO and holding>0 THEN BEGIN
   sell(1,0,limitr,T20LO);
   TK:=0;
END

//开空
   F1:=REF(L,3);
   F2:=REF(T20LO,3);
IF TK=3 and F1<F2 THEN BEGIN 
  IF H>F2 THEN
     开空3:buySHORT(holding=0,SS,limitr,F2);
  ELSE 
     开空4:buySHORT(holding=0,SS,limitr,C);
END  

   E1:=REF(L,2);
   E2:=REF(T20LO,2);
IF TK=2 AND E1<E2 THEN BEGIN 
  IF H>E2 THEN
     开空2:buySHORT(holding=0,SS,limitr,E2);
  ELSE
     TK:=3;
END  

   D1:=REF(L,1);
   D2:=REF(T20LO,1);
IF TK=1 AND D1<D2 THEN BEGIN 
  IF H>D2 THEN
     开空1:buySHORT(holding=0,SS,limitr,D2);
  ELSE
     TK:=2;
END   
 
IF L<T20LO AND TK=0 THEN BEGIN
  IF C>T20LO THEN
     开空0:buySHORT(holding=0,SS,LIMITR,T20LO);  
  ELSE 
     TK:=1;
END

//开多
   C1:=REF(H,3);
   C2:=REF(T20HI,3);
IF TD=3 AND C1>C2 THEN BEGIN 
   IF L<C2 THEN
      开多3:buy(holding=0,SS,limitr,C2);
   ELSE
      开多4:buy(holding=0,SS,limitr,C);
END  

   B1:=REF(H,2);
   B2:=REF(T20HI,2);
IF TD=2 AND B1>B2 THEN BEGIN 
   IF L<B2 THEN
      开多2:buy(holding=0,SS,limitr,B2);
   ELSE
      TD:=3;
END  

  A1:=REF(H,1);
  A2:=REF(T20HI,1);
IF TD=1 AND A1>A2  THEN BEGIN 
  IF L<A2 THEN 
     开多1:buy(holding=0,SS,limitr,A2);
  ELSE 
     TD:=2;
END   

IF H>T20HI AND TD=0 THEN BEGIN
  IF C<T20HI THEN
     开多0:buy(holding=0,SS,limitr,T20HI);
  ELSE 
     TD:=1;
END

 回到顶部
总数 21 上一页 1 2 3 下一页