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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 为什么这样不对,总是1

   

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


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

主题:为什么这样不对,总是1

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


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
为什么这样不对,总是1  发帖心情 Post By:2021/2/28 17:29:12    Post IP:220.196.60.37[只看该作者]

思路是这样的,没亏损之前,一直用一手开平,如果亏损一次,则加一次手数,具体程序如下,可是发现一直是0,错在哪?

VARIABLE:  ss:=1;

if NUMSEQLOSS=1 then ss:=1;
if NUMSEQLOSS=2 then ss:=2;
if NUMSEQLOSS=3 then ss:=4;
if NUMSEQLOSS=4 then ss:=8;
if NUMSEQLOSS>=4 then ss:=16;

ma5:ma(c,5);
ma10:ma(c,10);
KD:ma5>ma10;
PD:ma5<ma10;
kk:pd;
pk:kd;
IF KD THEN BUY(1,ss,MARKET);
IF kk THEN BUYSHORT(1,ss,MARKET);
IF pd THEN SELL(1,ss,MARKET);
IF pk THEN SELLSHORT(1,ss,MARKET);

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/1 9:13:41    Post IP:58.246.57.26[只看该作者]

 你应该这样做:
在平仓的地方做判断,平仓后判断上笔盈亏。然后对全局变量做操作即可。
IF pd THEN  
begin
SELL(1,ss,MARKET);
if NUMPROFIT(1)<0 then ss:=ss+1;
end


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


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2021/3/1 11:54:57    Post IP:112.65.61.83[只看该作者]

VARIABLE:  ss:=1;


ma5:ma(c,5);
ma10:ma(c,10);
KD:ma5>ma10;
PD:ma5<ma10;
kk:pd;
pk:kd;




if pd THEN
BEGIN
sell(1,ss,MARKET);
if NUMSEQLOSS=1 then ss:=1;
if NUMSEQLOSS=2 then ss:=2;
if NUMSEQLOSS=3 then ss:=4;
if NUMSEQLOSS=4 then ss:=8;
if NUMSEQLOSS>=4 then ss:=16;

end
if pk THEN
BEGIN
sellshort(1,ss,MARKET);
if NUMSEQLOSS=1 then ss:=1;
if NUMSEQLOSS=2 then ss:=2;
if NUMSEQLOSS=3 then ss:=4;
if NUMSEQLOSS=4 then ss:=8;
if NUMSEQLOSS>=4 then ss:=16;

end

IF KD THEN BUY(1,ss,MARKET);
IF kk THEN BUYSHORT(1,ss,MARKET);

这样还是不行,
如果用NUMPROFIT(1)<0
连赔四次,SS变化了

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


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2021/3/1 11:58:25    Post IP:112.65.61.83[只看该作者]

VARIABLE:  ss:=1;


ma5:ma(c,5);
ma10:ma(c,10);
KD:ma5>ma10;
PD:ma5<ma10;
kk:pd;
pk:kd;




if pd THEN
BEGIN
sell(1,ss,MARKET);
if NUMPROFIT(1) then ss:=1;
if NUMPROFIT(2) then ss:=2;
if NUMPROFIT(3) then ss:=4;
if NUMPROFIT(4) then ss:=8;
if NUMPROFIT(5) then ss:=16;

end
if pk THEN
BEGIN
sellshort(1,ss,MARKET);
if NUMPROFIT(1) then ss:=1;
if NUMPROFIT(2) then ss:=2;
if NUMPROFIT(3) then ss:=4;
if NUMPROFIT(4) then ss:=8;
if NUMPROFIT(5) then ss:=16;

end

IF KD THEN BUY(1,ss,MARKET);
IF kk THEN BUYSHORT(1,ss,MARKET);


如果这样全变成4

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/1 12:02:20    Post IP:58.246.57.26[只看该作者]

NUMSEQLOSS 表示的是从历史到现在的连亏次数。 你亏10次 可能算一次连亏也可能是2次 都有可能。所以你上面那个代码
if NUMSEQLOSS=1 then ss:=1;
if NUMSEQLOSS=2 then ss:=2;
if NUMSEQLOSS=3 then ss:=4;
if NUMSEQLOSS=4 then ss:=8;
if NUMSEQLOSS>=4 then ss:=16;
是不对的。你不能用这个函数,也不能用这样的逻辑处理。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/1 12:05:39    Post IP:58.246.57.26[只看该作者]

http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=67366&skin=0

看这里的五楼吧。


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


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2021/3/1 12:56:29    Post IP:112.65.61.83[只看该作者]

VARIABLE: n:=0;
VARIABLE: ss=1;


ma5:ma(c,5);
ma10:ma(c,10);
KD:ma5>ma10;
PD:ma5<ma10;
kk:pd;
pk:kd;




if pd THEN
BEGIN
sell(1,ss,MARKET);
if NUMPROFIT(1)>0 then n:=1;
if NUMPROFIT(1)<0 then n:=n+1;


end
if pk THEN
BEGIN
sellshort(1,ss,MARKET);
if NUMPROFIT(1)>0 then n:=1;
if NUMPROFIT(1)<0 then n:=n+1;


end
if n:=1 then ss:=1;
if n:=2 then ss:=2;
if n:=3 then ss:=4;
if n:=4 then ss:=8;
if n>=5 then ss:=16;

IF KD THEN BUY(1,ss,MARKET);
IF kk THEN BUYSHORT(1,ss,MARKET);

在图表上这里没有16,最大是8,而且那个五楼也是错的,要有冒号

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/1 13:15:51    Post IP:58.246.57.26[只看该作者]

 你的平仓要改成全平

sellshort(1,holding,MARKET);
sell(1,holding,MARKET);

否则 平仓盈亏那个函数无法统计的。它是按照全平处理的。


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


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2021/3/1 13:27:41    Post IP:112.65.61.83[只看该作者]

怎么平仓手数变成60,70手呢
我意思是如果连亏4次以上,就是五次以上时,按16手计算,不再增加,因为 实际没这么多钱

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/1 13:33:57    Post IP:58.246.57.26[只看该作者]

 因为你条件是一直在满足,一直在加仓的。。

KD:ma5>ma10;
PD:ma5<ma10;
kk:pd;
pk:kd;

你这几个条件满足了就是连续多个周期都会满足的。你累积到平仓时候,当然手数很多啦。


命数如织,当如磐石。
 回到顶部
总数 15 1 2 下一页