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


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

   

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


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

主题:请老师帮助写代码

帅哥哟,离线,有人找我吗?
心静a
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:548 积分:0 威望:0 精华:0 注册:2015/12/24 22:12:45
  发帖心情 Post By:2016/4/5 17:06:05    Post IP:49.69.230.217[只看该作者]

开仓历时1:=ENTERBARS,NODRAW,COLORWHITE;
YK11:ASSET-REF(ASSET,开仓历时1),NODRAW;//取本次平仓盈亏值
当前浮动盈亏:OPENPROFIT,NODRAW,COLORWHITE;


variable:a1=0,a2=0,a3=0;
n1:=todaybar;
dm:=4-INTPART(LOG(C));
MA1:ROUNDS(IF(sum(vol,n1)=0,C,sum(C*vol,n1)/sum(vol,n1)),2+dm),colorred;//
平空开多条件:=CROSS(C,MA1);//开多平空条件
平多开空条件:= CROSS(MA1,C);//开空平多条件
if 平空开多条件 and NOT(time=closetime(0))  and holding<0 then  begin//and C>MA1
 取得持仓量:=ABS(holding),NODRAW;//取得开空手数,
空反手: SELLSHORT(1,holding,limitr,close),ORDERQUEUE;
a2:=a3; 
 end
a1:=NUMPROFIT(1),NODRAW;//取本次平仓盈亏值      
a3:=if(a2+a1<0,a2+a1,0);
if 平空开多条件   then  begin //
YK1:a1,NODRAW;//本次平仓盈亏值,
YK2:a2,NODRAW;//前一周期累计亏损值,
YK:a3,NODRAW;//本次平仓亏损累计值
BUY(holding=0,1,limitr,close),ORDERQUEUE;
end
if 平多开空条件 and NOT(time=closetime(0)) and holding>0 then begin//and C<MA1
SELL(1,holding,limitr,close),ORDERQUEUE;
 a2:=a3;
end
a1:=NUMPROFIT(1),NODRAW;//取本次平仓盈亏值
a3:=if(a2+a1<0,a2+a1,0);
if 平多开空条件  then  begin //
Y1K1:a1,NODRAW;//本次平仓盈亏值,
Y1K2:a2,NODRAW;//前一周期累计亏损值,
Y1K:a3,NODRAW;//本次平仓亏损累计值
BUYSHORT(holding=0,1,limitr,close),ORDERQUEUE;
end
if time=closetime(0) then begin
sell(1,0,marketr);
sellshort(1,0,marketr);
  a1:=0;                               
 a2:=0;    
a3:=0; 
end 

加载任何品种任何周期,要求日内开盘以后第一次开仓yk,yk1,yk2及y1k,y1k1,y1k2取值应该是0,第一次平仓只有a1能取到值,a1与a3是一样的值,a2是0


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


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

那么用户是要“A1,A2,A3为0”还是"YK1,YK2,YK为0"

还是用户就是认为这两个是一回事?

用户认为我写的A1A2A3最后的赋值不对不是通过YK1YK2YK来判断的?

[此贴子已经被作者于2016/4/5 17:23:08编辑过]


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

客户服务部

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

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

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


加好友 发短信
等级:论坛游侠 帖子:548 积分:0 威望:0 精华:0 注册:2015/12/24 22:12:45
  发帖心情 Post By:2016/4/5 17:37:27    Post IP:49.69.230.217[只看该作者]

要的是"YK1,YK2,YK"开盘第一次开仓取到的值为0,

"YK1,YK2,YK"是取A1,A2,A3”的值应该是一回事

A1A2A3最后的赋值为0了,但第二天开盘开仓后通过YK1YK2YK来取值,应该开盘第一次开仓它们的值是0,

 也就是说用什么方法能使盈亏计算每天分开,开盘"YK1,YK2,YK"取到的值为0,


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


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

YK 系列是要在 “平多开空条件”,“平空开多条件” 满足的情况下才会被A系列赋值,不然就会依然保存上一次满足条件时的值,这两个怎么能够一样的?

你要YK系列每天都重置一次,就需要和A系列一样,在最后一段代码里面赋值为0



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

客户服务部

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

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

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


加好友 发短信
等级:论坛游侠 帖子:548 积分:0 威望:0 精华:0 注册:2015/12/24 22:12:45
  发帖心情 Post By:2016/4/6 11:30:38    Post IP:49.83.165.233[只看该作者]

老师,请帮助将yk系列每天重置一次,31楼的代码,确保第二天yk系列取到的值都为0,谢谢!

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


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

if time=closetime(0) then begin
sell(1,0,marketr);
sellshort(1,0,marketr);
  a1:=0;                               
 a2:=0;    
a3:=0; 

yk:=0;

yk1:=0;

yk2:=0;

end



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

客户服务部

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

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

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


加好友 发短信
等级:论坛游侠 帖子:548 积分:0 威望:0 精华:0 注册:2015/12/24 22:12:45
  发帖心情 Post By:2016/4/6 15:02:41    Post IP:49.83.165.233[只看该作者]

开仓历时1:=ENTERBARS,NODRAW,COLORWHITE;
YK11:ASSET-REF(ASSET,开仓历时1),NODRAW;//取本次平仓盈亏值
当前浮动盈亏:OPENPROFIT,NODRAW,COLORWHITE;


variable:a1=0,a2=0,a3=0;
n1:=todaybar;
dm:=4-INTPART(LOG(C));
MA1:ROUNDS(IF(sum(vol,n1)=0,C,sum(C*vol,n1)/sum(vol,n1)),2+dm),colorred;//
平空开多条件:=CROSS(C,MA1);//开多平空条件
平多开空条件:= CROSS(MA1,C);//开空平多条件
if 平空开多条件 and NOT(time=closetime(0))  and holding<0 then  begin//and C>MA1
 取得持仓量:=ABS(holding),NODRAW;//取得开空手数,
空反手: SELLSHORT(1,holding,limitr,close),ORDERQUEUE;
a2:=a3; 
 end
a1:=NUMPROFIT(1),NODRAW;//取本次平仓盈亏值      
a3:=if(a2+a1<0,a2+a1,0);
if 平空开多条件   then  begin //
YK1:a1,NODRAW;//本次平仓盈亏值,
YK2:a2,NODRAW;//前一周期累计亏损值,
YK:a3,NODRAW;//本次平仓亏损累计值
BUY(holding=0,1,limitr,close),ORDERQUEUE;
end
if 平多开空条件 and NOT(time=closetime(0)) and holding>0 then begin//and C<MA1
SELL(1,holding,limitr,close),ORDERQUEUE;
 a2:=a3;
end
a1:=NUMPROFIT(1),NODRAW;//取本次平仓盈亏值
a3:=if(a2+a1<0,a2+a1,0);
if 平多开空条件  then  begin //
Y1K1:a1,NODRAW;//本次平仓盈亏值,
Y1K2:a2,NODRAW;//前一周期累计亏损值,
Y1K:a3,NODRAW;//本次平仓亏损累计值
BUYSHORT(holding=0,1,limitr,close),ORDERQUEUE;
end


if time=closetime(0) then begin
sell(1,0,marketr);
sellshort(1,0,marketr);
  a1:=0;                               
 a2:=0;    
a3:=0; 

yk:=0;

yk1:=0;

yk2:=0;

end

老师,将代码加入塑秤1609合约,3月23曰17;00收盘平仓己赋yk系列值为0,第二天3月24日13;10开仓还是收到23日收盘平仓亏损的-130,没有起作用


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


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

5分钟周期?


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

客户服务部

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

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

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


加好友 发短信
等级:论坛游侠 帖子:548 积分:0 威望:0 精华:0 注册:2015/12/24 22:12:45
  发帖心情 Post By:2016/4/6 15:18:05    Post IP:49.83.165.233[只看该作者]

是的

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


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

 

a1:=NUMPROFIT(1),NODRAW;//取本次平仓盈亏值      
a3:=if(a2+a1<0,a2+a1,0);
if 平空开多条件   then  begin //
YK1:a1,NODRAW;//本次平仓盈亏值,
YK2:a2,NODRAW;//前一周期累计亏损值,
YK:a3,NODRAW;//本次平仓亏损累计值
BUY(holding=0,1,limitr,close),ORDERQUEUE;
end

 

这段代码造成了A1是无条件的被赋值为上一次交易结果,然后在开多时赋值给YK1,所以开多后的YK1是上一次的交易结果是正常的,是按照你代码逻辑实现的结果

[此贴子已经被作者于2016/4/6 15:27:44编辑过]


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

客户服务部

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

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

 回到顶部
总数 65 上一页 1 2 3 4 5 6 7 下一页