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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 图表策略编写

   

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


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

主题:图表策略编写

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/5/15 8:55:10    Post IP:180.169.30.6[显示全部帖子]

 if buycond then buy(holding=0,1,market);

maxProfit:hhv(h,ENTERBARS)-ENTERPRICE;

if maxProfit>5*mindiff and maxProfit<10*mindiff and holding>0  and  c<=0.61*maxProfit then sell(1,holding,market);

其他几条照葫芦画瓢即可。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/5/16 13:16:25    Post IP:180.169.30.6[显示全部帖子]

 buycond是你自己的初始开仓条件。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/5/17 17:17:55    Post IP:180.169.30.6[显示全部帖子]

 空头的时候  盈利计算方式 ENTERPRICE-llv(l,ENTERBARS);  这样处理就可以了。交易语句相应的替换成sellshort就可以。

另外你上面语句也没有开空的语句。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/5/18 13:18:08    Post IP:180.169.30.6[显示全部帖子]

 做一些修正,以空头为例。


HH1:=IFELSE(H<REF(H,1)&&REF(H,1)<REF(H,2),REF(H,2),0);
LL1:=IFELSE(L>REF(L,1)&&REF(L,1)>REF(L,2),REF(L,2),0);
HH2:=VALUEWHEN(HH1>0,HH1);
LL2:=VALUEWHEN(LL1>0,LL1);
K1:=IFELSE(CLOSE>HH2,-3,IFELSE(CLOSE<LL2,1,0));
K2:=VALUEWHEN(K1<>0,K1);


手数:=4;
//交易条件
VARIABLE:n1=0,n2=0,n3=0,n4=0 ;


开多条件:=CROSS(-2,K2);
平多条件:CROSS(K2,0);
开空条件:=CROSS(K2,0);
平空条件:=CROSS(-2,K2);


//交易系统
平空:SELLSHORT(平空条件,0,MARKET);
开多:buy(holding=0 and 开多条件,1,market);
平多:SELL(平多条件,0,MARKET);  
开空:buyshort(holding=0 and 开空条件,1,market);

maxProfit:ENTERPRICE-llv(l,ENTERBARS);

if maxProfit>5*mindiff and maxProfit<10*mindiff and holding<0  and  ENTERPRICE-c<=0.61*maxProfit then 止盈:sellshort(1,holding,market);
持仓:holding;


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/5/21 9:44:35    Post IP:180.169.30.6[显示全部帖子]

 maxProfit:ENTERPRICE-llv(l,ENTERBARS);

if maxProfit>5*mindiff and maxProfit<10*mindiff and holding<0  and  ENTERPRICE-c<=0.61*maxProfit then 止盈a:sellshort(1,holding,market);

if maxProfit>10*mindiff and maxProfit<20*mindiff and holding<0  and  ENTERPRICE-c<=0.5*maxProfit then 止盈b:sellshort(1,holding,market);

if maxProfit>20*mindiff and holding<0  and  ENTERPRICE-c<=0.38*maxProfit then 止盈c:sellshort(1,holding,market);

以空头为例,这种止盈代码直接放在你原先代码后面就行了。多头只要修改下盈利的计算方式以及持仓判断语句即可。 


命数如织,当如磐石。
 回到顶部