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


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

   

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


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

主题:请求帮助改写

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/11/30 10:18:09    Post IP:58.246.57.26[显示全部帖子]

N4:=SUMBARS(COUNT(开多条件,1),1),NODRAW;
N5:=SUMBARS(COUNT(开空条件,1),1),NODRAW;
N1:=IF(COUNT(开多条件,0)=0,N5,N4),NODRAW;
N2:=IF(COUNT(开空条件,0)=0,N4,N5),NODRAW;
N3:=MIN(N1,N2),NODRAW;
YK1:asset-REF(asset,N3),NODRAW;//取本次平仓盈亏值
YK:IF(COUNT(平多条件,0)+COUNT(平空条件,0)=0,0,if(YK1+REF(YK,N3)>=0,0,YK1+REF(YK,N3))),NODRAW;//取本次平仓后亏损累计值。
YK2:REF(YK,N3),NODRAW;//取本次平仓前一周期的亏损累计值。

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/11/30 16:22:34    Post IP:58.246.57.26[显示全部帖子]

M,ss这种变量你要先定义好

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/11/30 22:21:13    Post IP:114.111.166.3[显示全部帖子]

初始资金:=1000000;

if 平仓条件 then

begin

sell();

平仓盈亏值:=NUMPROFIT(1);

前一周期亏损累计值:=if(平仓盈亏值<0,ref(asset-初始资金,1),0);

本次累计亏损值:=if(前一周期亏损累计值+平仓盈亏值<0,前一周期亏损累计值+平仓盈亏值,0);

end


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/12/1 20:23:11    Post IP:114.111.166.3[显示全部帖子]

INPUT:m(14,5,32,1);
INPUT:ss(1,1,10,1);
TYP := (HIGH + LOW + CLOSE)/3;
CCI:=(TYP-MA(TYP,M))/(0.015*AVEDEV(TYP,M));

手数:=ss;
//交易条件
开多平空条件:=CROSS(CCI,100);//开多平空条件
开空平多条件:=CROSS(100,cci);//开空平多条件

//交易系统
初始资金:=1000000;
a1:=NUMPROFIT(1);
a2:=if(a1<0,ref(asset-初始资金,1),0);
a3:=if(a2+a1<0,a2+a1,0);

if CROSS(CCI,100) then

begin

平空:SELLSHORT(开多平空条件,手数,MARKET);

平仓盈亏值:=a1;

前一周期亏损累计值:=a2;

本次累计亏损值:=a3;

end
if CROSS(100,cci) then

begin

平多:SELL(开空平多条件,手数,MARKET);

平仓盈亏值:=a1;

前一周期亏损累计值:=a2;

本次累计亏损值:=a3;

end
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);

[此贴子已经被作者于2015/12/1 20:23:45编辑过]

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/12/1 23:45:25    Post IP:114.111.166.3[显示全部帖子]

INPUT:m(14,5,32,1);
INPUT:ss(1,1,10,1);
TYP := (HIGH + LOW + CLOSE)/3;
CCI:=(TYP-MA(TYP,M))/(0.015*AVEDEV(TYP,M));

手数:=ss;
//交易条件
开多平空条件:=CROSS(CCI,100);//开多平空条件
开空平多条件:=CROSS(100,cci);//开空平多条件

 


if CROSS(CCI,100) then  平空:SELLSHORT(开多平空条件,手数,MARKETr);

if CROSS(100,cci) then 平多:SELL(开空平多条件,手数,MARKETr);

 

//交易系统
初始资金:=1000000;
a1:=NUMPROFIT(1);
a2:=if(ref(asset-初始资金,1)<0,ref(asset-初始资金,1),0);                             
a3:=if(ref(asset-初始资金,1)+a1<0,ref(asset-初始资金,1)+a1,0);

if CROSS(CCI,100) then
begin
平仓盈亏值:=a1;
前一周期亏损累计值:=a2;
本次累计亏损值:=a3;
end

if CROSS(100,cci) then
begin
平仓盈亏值:=a1;
前一周期亏损累计值:=a2;
本次累计亏损值:=a3;
end

开多:BUY(开多平空条件,手数,MARKETr);
开空:BUYSHORT(开空平多条件,手数,MARKETr);

b1:平仓盈亏值;
b2:前一周期亏损累计值;
b3:本次累计亏损值;


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/12/2 11:29:23    Post IP:58.246.57.26[显示全部帖子]

开平仓的亏损累计值

这个不就是当前资产-初始资产吗,有何区别吗?


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/12/2 16:21:02    Post IP:58.246.57.26[显示全部帖子]

INPUT:m(14,5,32,1);
INPUT:ss(1,1,10,1);
TYP := (HIGH + LOW + CLOSE)/3;
CCI:=(TYP-MA(TYP,M))/(0.015*AVEDEV(TYP,M));
variable:num=0;        //n为亏损累计值,每次平仓时判定亏损则进行累加

手数:=ss;
//交易条件
开多平空条件:=CROSS(CCI,100);//开多平空条件
开空平多条件:=CROSS(100,cci);//开空平多条件

 


if CROSS(CCI,100) then 
begin
平空:SELLSHORT(开多平空条件,手数,MARKETr);
            if NUMPROFIT(1)<0 then num:=num+NUMPROFIT(1);
end

 

if CROSS(100,cci) then
begin
平多:SELL(开空平多条件,手数,MARKETr);
            if NUMPROFIT(1)<0 then num:=num+NUMPROFIT(1);
end

 

//交易系统
初始资金:=1000000;
a1:=NUMPROFIT(1);          //本次盈亏
a2:=if(a1<0,ref(num,1),0);            //当本次亏损时,取前一周期的累计亏损值,否者取0                 
a3:=if(ref(num,1)+a1<0,ref(num,1)+a1,0);     //当本次盈亏+前一周期的累计亏损值<0,取累计盈亏,否者取0

if CROSS(CCI,100) then
begin
平仓盈亏值:=a1;
前一周期亏损累计值:=a2;
本次累计亏损值:=a3;
end

if CROSS(100,cci) then
begin
平仓盈亏值:=a1;
前一周期亏损累计值:=a2;
本次累计亏损值:=a3;
end

开多:BUY(开多平空条件,手数,MARKETr);
开空:BUYSHORT(开空平多条件,手数,MARKETr);

b1:平仓盈亏值;
b2:前一周期亏损累计值;
b3:本次累计亏损值;
 


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/12/3 10:02:15    Post IP:58.246.57.26[显示全部帖子]

打我电话20339087

电话中说下吧


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/12/3 11:07:33    Post IP:58.246.57.26[显示全部帖子]

021-20339087

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2015/12/4 14:17:54    Post IP:58.246.57.26[显示全部帖子]

a2:=if(ref(num,1)<0,ref(num,1),0);            //当本次亏损时,取前一周期的累计亏损值,否者取0                 
a3:=if(ref(num,1)+a1<0,ref(num,1)+a1,0);     //当本次盈亏+前一周期的累计亏损值<0,取累计盈亏,否者取0

 

这里a2不就是前一次的累计亏损值吗??客户能否学习下这个代码,因为可能和你想要的理解上总是无法合拍,但使用方法就是这样操作

您可以自己变通改进都可以


 回到顶部
总数 48 1 2 3 4 5 下一页