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


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

   

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


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

主题:关于策略编写问题?

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


加好友 发短信
等级:论坛游民 帖子:169 积分:0 威望:0 精华:0 注册:2016/8/28 16:11:16
关于策略编写问题?  发帖心情 Post By:2017/1/4 9:07:36    Post IP:116.29.216.165[只看该作者]

下面策略没信号,辛苦修改一下。

策略思路:

1 上穿20曰线平空开多,下穿20日线平多开空

2 上穿20日线开多后,再次上穿60日线,这持有多单,只能在下穿60日线平多(小级别建仓,大级别平仓)

2 下穿20日线开空后,再次下穿60日线,这持有空单,只能在上穿60日线平空(小级别建仓,大级别平仓)

3 止盈和止损,两种条件holding<0 and h>=min(enterprice+zsx,kstop1) 和holding>0 and l<=max(enterprice-zsx,dstop1) 


input:p(10,1,200,1);

input:length(10,10,120,10);

input:zs(3,1,10,1);

input:k1(5,1,15,1);

variable:cc = 0;

variable:exitprice1= 0;

variable:enterprice1= 0 ;

line1:ref(ma(close,20),1);

line2:ref(ma(close,120),1);

tr1 :=max(max((high-low),abs(ref(close,1)-high)),abs(ref(close,1)-low));

atr:=ma(tr1,length);  

zsx:=ifelse(zs*ref(atr,1)<0.02*ref(c,1),0.02*ref(c,1),zs*ref(atr,1));

enterbars1:=enterbars+1;

dstop1:=hhv(h,enterbars1)-k1*ref(atr,1);//平多价

kstop1:=llv(l,enterbars1)+k1*ref(atr,1);//平空价

long1:=cross(h,line1);

short1:=cross(line1,l);

long2:=cross(h,line2);

short2:=cross(line2,l);

 if holding<0 and  cc=-2 then sellshort(1,p,limitr,exitprice1),ignorecheckprice;
 
 if holding<0 and  cc=-1 then sellshort(1,p,limitr,exitprice1),ignorecheckprice;
 
 if holding=0 and  cc=0 then buy(1,p,limitr ,enterprice1),ignorecheckprice;
 
 if holding>0 and cc=2  then sell(1,p,limitr,exitprice1),ignorecheckprice;
 
 if holding>0 and cc=1 then sell(1,p,limitr,exitprice1),ignorecheckprice;
  
 if holding=0 and  cc=0 then  buyshort(1,p,limitr,enterprice1),ignorecheckprice;
    
if holding<0 and cc=-2 and long2 then begin

   exitprice1:=h+mindiff;

   cc:=0;
   
  end

if holding<0 and cc=-1 and short2 then cc:=-2;

if holding<0 and cc=-1 and long1 then begin
 
   exitprice1:=h+mindiff;
   
   cc:=0;
  
  end

if holding>0 and cc=2 and short2 then begin

   exitprice1:=l-mindiff;

   cc:=0;
   
  end

if holding>0 and cc=1 and long2 then cc:=2;

if holding>0 and cc=1 and short1 then begin

   exitprice1:=l-mindiff;

   cc:=0;
   
  end

if holding=0 and long1  and cc=0 then begin

   enterprice1:=h+mindiff;
   
   cc:=1;
   
  end 

if holding=0 and short1 and cc=0 then begin

   enterprice1:=l+mindiff;

   cc:=-1;
   
  end

if holding<0 and h>=min(enterprice+zsx,kstop1) and cc<0 then begin 

    exitprice1:=min(enterprice+zsx,kstop1)+mindiff;
    
    cc:=0;
    
   end

if holding>0 and l<=max(enterprice-zsx,dstop1) and cc>0 then begin

   exitprice1:=max(enterprice-zsx,dstop1)-mindiff;

   cc=0;
   
  end


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


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

,limitr ,enterprice1

开仓下单价格是这样写的,

enterprice1的初值是0,所以问题是,用0的价格下单要表达什么意思?



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

客户服务部

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

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

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


加好友 发短信
等级:论坛游民 帖子:169 积分:0 威望:0 精华:0 注册:2016/8/28 16:11:16
  发帖心情 Post By:2017/1/4 10:16:02    Post IP:116.29.216.165[只看该作者]

用enterprice1全局变量的意思是:想用限价开平仓,每次上下穿时价格加减mindiff委托

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


加好友 发短信
等级:论坛游民 帖子:169 积分:0 威望:0 精华:0 注册:2016/8/28 16:11:16
  发帖心情 Post By:2017/1/4 10:18:02    Post IP:116.29.216.165[只看该作者]

因为每次上下穿价格不一样

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


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

但是你的条件写的简单,还没有上下穿就触发了,导致了下单价格是0

所以这个下单价格为0你是要表达什么意思?



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

客户服务部

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

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

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


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

 if holding=0 and  cc=0 then buy(1,p,limitr ,enterprice1),ignorecheckprice;

你的下单语句是这样写的,cc的初值是0,没持仓时holding也是0,那么就是第一根k就满足了开仓条件,然后以0的价格下单



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

客户服务部

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

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

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


加好友 发短信
等级:论坛游民 帖子:169 积分:0 威望:0 精华:0 注册:2016/8/28 16:11:16
  发帖心情 Post By:2017/1/4 10:47:36    Post IP:116.29.216.165[只看该作者]

我明白你的意思,怎样编写,才能实现策略思路?

策略思路:

1 上穿20曰线平空开多,下穿20日线平多开空

2 上穿20日线开多后,再次上穿60日线,这持有多单,只能在下穿60日线平多(小级别建仓,大级别平仓)

2 下穿20日线开空后,再次下穿60日线,这持有空单,只能在上穿60日线平空(小级别建仓,大级别平仓)

3 止盈和止损,两种条件holding<0 and h>=min(enterprice+zsx,kstop1) 和holding>0 and l<=max(enterprice-zsx,dstop1) 


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


加好友 发短信
等级:论坛游民 帖子:169 积分:0 威望:0 精华:0 注册:2016/8/28 16:11:16
  发帖心情 Post By:2017/1/4 10:48:54    Post IP:116.29.216.165[只看该作者]

策略思路核心是:小级别建仓,大级别平仓

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


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

什么是“小级别建仓,大级别平仓”?


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

客户服务部

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

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

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


加好友 发短信
等级:论坛游民 帖子:169 积分:0 威望:0 精华:0 注册:2016/8/28 16:11:16
  发帖心情 Post By:2017/1/4 11:30:22    Post IP:116.29.216.165[只看该作者]

   1 就是小级别建仓后,满足大级别建仓条件,只能按大级别平仓条件平仓,不再按小级别条件平仓
   
   2 小级别建仓后,不满足大级别建仓条件,按小级别条件平仓.

 回到顶部
总数 13 1 2 下一页