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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]公式编译出错

   

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


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

主题:[求助]公式编译出错

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


加好友 发短信
等级:新手上路 帖子:57 积分:10 威望:0 精华:0 注册:2012/7/5 22:43:11
[求助]公式编译出错  发帖心情 Post By:2014/3/19 11:18:47    Post IP:14.208.199.95[只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140319111311.jpg
图片点击可在新窗口打开查看

  我将
//赚3保1
复制多了一遍执行
 //赚7保2
两者意思一样的,赋值不同而已,
一个策略组,应该是单独判断执行的吧。
为什么会出现,下一段语句 END 语句前缺少 BEGIN呢。
这个问题如何编写?



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


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

多了个end或者说少了个begin,你看看哪里少了或者多了


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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:57 积分:10 威望:0 精华:0 注册:2012/7/5 22:43:11
  发帖心情 Post By:2014/3/19 12:33:00    Post IP:14.208.199.95[只看该作者]

不多不少吧。原封不动,只是复制多了一段   //赚3保1   策略,没有进行其他的任何删减啊。。代码都显示在那,你看是哪里少了或者多了什么。实在不明。

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


加好友 发短信
等级:新手上路 帖子:57 积分:10 威望:0 精华:0 注册:2012/7/5 22:43:11
  发帖心情 Post By:2014/3/19 12:35:15    Post IP:14.208.199.95[只看该作者]

可以了,删了一个END。

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


加好友 发短信
等级:新手上路 帖子:57 积分:10 威望:0 精华:0 注册:2012/7/5 22:43:11
  发帖心情 Post By:2014/3/19 12:37:32    Post IP:14.208.199.95[只看该作者]

ENTERPRICE这个函数,是指标形成交易条件时的开仓价?还是账户上面的实际开仓价?
如果要采用账户上的成交均价,用哪个函数?
[此贴子已经被作者于2014/3/19 12:37:49编辑过]

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


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

图表取不到实际开仓价,enterprice获取的是图表上的信号理论开仓价


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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:57 积分:10 威望:0 精华:0 注册:2012/7/5 22:43:11
  发帖心情 Post By:2014/3/19 14:56:48    Post IP:14.208.199.95[只看该作者]

关于止损后再开仓,VARIABLE  变量赋值,没法解决,想到一种条件式COUNT,或循环条件CONTINUE ,满足首先执行前面的各种平仓作为先决条件,之后符合新条件形成再执行,新的开仓,如何编法呢?
下面编的,没有任何信号了。

BUY1:=ND>XD;
SELL1:=ND<XD;

//持有多单

 IF HOLDING>0 and enterbars>0 THEN BEGIN
  IF SELL1 THEN BEGIN  {平多单}
  多平:SELL(1,0,MARKET),ORDERQUEUE;
 END

 //多单管理
 //多单止损
 IF HOLDING>0 and enterbars>0 and ENTERPRICE-C>=ZSDS THEN BEGIN
  多损:SELL(1,0,MARKET),ORDERQUEUE;
 END
 
 //移动止盈
 IF YDZY=1 THEN BEGIN
  //每周期判断是否创新高
  IF H>HIGHPRICE THEN BEGIN
   HIGHPRICE:=H;
   dwin:=HIGHPRICE-ENTERPRICE;
  END 

 //赚3保1
  IF Z3B1=1 THEN BEGIN
   IF HOLDING>0 and enterbars>0 and dwin>=3 THEN BEGIN
    IF H-ENTERPRICE<=0.8 THEN BEGIN
     多保1:SELL(1,0,MARKET);
    END
   END
  END
 END
 

 //赚7保2
  IF Z3B1=1 THEN BEGIN
   IF HOLDING>0 and enterbars>0 and dwin>=7 THEN BEGIN
    IF H-ENTERPRICE<=2 THEN BEGIN
     多保2:SELL(1,0,MARKET);
    END
   END
  END

 

 //赚10保3
  IF Z3B1=1 THEN BEGIN
   IF HOLDING>0 and enterbars>0 and dwin>=10 THEN BEGIN
    IF H-ENTERPRICE<=3 THEN BEGIN
     多保3:SELL(1,0,MARKET);
    END
   END
  END

 
  //如果盈利超过15点之后回撤达到7点,就平仓,保住盈利
 IF HOLDING>0 and enterbars>0 and dwin>=15 THEN BEGIN
  IF HIGHPRICE-H>=7 THEN BEGIN  //回撤超过3点
   多赢1:SELL(1,0,MARKET);
   END 
  END 


  //如果盈利超过20点之后回撤达到10点,就平仓,保住盈利
 IF HOLDING>0 and enterbars>0 and dwin>=20 THEN BEGIN
  IF HIGHPRICE-H>=10 THEN BEGIN  //回撤超过3点
   多赢2:SELL(1,0,MARKET);
   END 
  END 

 
     //如果盈利超过30点之后回撤达到8点,就平仓,保住盈利
 IF HOLDING>0 and enterbars>0 and dwin>=30 THEN BEGIN
  IF HIGHPRICE-H>=8 THEN BEGIN  //回撤超过3点
   多赢3:SELL(1,0,MARKET);
   END 
  END 


//开空单
if 多平 or 多损 or 多保1 or 多保2 or 多保3 or 多赢1 or 多赢2 or 多赢3 THEN BEGIN
IF HOLDING=0 AND TIME<151300 THEN BEGIN
  IF SELL1 THEN BEGIN
   空开:BUYSHORT(1,1,MARKET),ORDERQUEUE;
   LOWPRICE:=ENTERPRICE;
   END 
  END
 END
END
//持有空单
IF holding<0 and enterbars>0 THEN BEGIN
 IF BUY1 THEN BEGIN   //平空单
  空平:SELLSHORT(1,0,MARKET);
 END

 //空单止损
 IF holding<0 and enterbars>0 and C-ENTERPRICE>=ZSDS THEN BEGIN
  空损:SELLSHORT(1,0,MARKET);
 END
 
 //移动止盈
 IF YDZY=1 THEN BEGIN
  //每周期判断是否创新低
  IF L<LOWPRICE THEN BEGIN
   LOWPRICE:=L;
   kwin:=ENTERPRICE-LOWPRICE;
  END 
  
  //赚5保1
IF holding<0 and enterbars>0 and kwin>=3 THEN BEGIN
 IF Z3B1=1 THEN BEGIN
   IF ENTERPRICE-L<=0.8 THEN BEGIN
    空保1:SELLSHORT(1,0,MARKET);
   END
  END
 END
END  

  //赚7保2
IF holding<0 and enterbars>0 and kwin>=7 THEN BEGIN
 IF Z3B1=1 THEN BEGIN
   IF ENTERPRICE-L<=2 THEN BEGIN
    空保2:SELLSHORT(1,0,MARKET);
   END
  END
 END
END


//赚10保3
IF holding<0 and enterbars>0 and kwin>=10 THEN BEGIN
 IF Z3B1=1 THEN BEGIN
   IF ENTERPRICE-L<=3 THEN BEGIN
    空保3:SELLSHORT(1,0,MARKET);
   END
  END
 END


  //如果盈利超过15点之后回撤达到7点,就平仓,保住盈利
  IF holding<0 and enterbars>0 and kwin>=15 THEN BEGIN
   IF L-LOWPRICE>=7 THEN BEGIN  //回撤超过3点
    空赢1:SELLSHORT(1,0,MARKET);
   END 
  END 

  //如果盈利超过20点之后回撤达到10点,就平仓,保住盈利
  IF holding<0 and enterbars>0 and kwin>=20 THEN BEGIN
   IF L-LOWPRICE>=10 THEN BEGIN  //回撤超过3点
    空赢2:SELLSHORT(1,0,MARKET);
   END 
  END 

  //如果盈利超过30点之后回撤达到8点,就平仓,保住盈利
  IF holding<0 and enterbars>0 and kwin>=30 THEN BEGIN
   IF L-LOWPRICE>=8 THEN BEGIN  //回撤超过3点
    空赢3:SELLSHORT(1,0,MARKET);
   END 
  END
  
//开多单
if 空平 or 空损 or 空保1 or 空保2 or 空保3 or 空赢1 or 空赢2 or 空赢3 THEN BEGIN
 IF HOLDING=0 AND TIME<151300 THEN BEGIN
  IF BUY1 THEN BEGIN
   多开:BUY(1,1,MARKET);
   HIGHPRICE:=ENTERPRICE;  //将开仓价保存到最高价
  END
 END
END

 //日内平仓
IF TIME>=151000 THEN BEGIN
 收盘清多:SELL(1,0,MARKET);
 收盘清空:SELLSHORT(1,0,MARKET);
END

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


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

你的代码已经没有全局变量了,也就是开平没有信号那么就说明你的开平仓条件没有成立,而不是其他什么的问题,你找找条件是否满足


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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:57 积分:10 威望:0 精华:0 注册:2012/7/5 22:43:11
  发帖心情 Post By:2014/3/19 15:06:08    Post IP:14.208.199.95[只看该作者]

//开空单
if 多平 or 多损 or 多保1 or 多保2 or 多保3 or 多赢1 or 多赢2 or 多赢3 THEN BEGIN
  IF SELL1 THEN BEGIN

   空开:BUYSHORT(1,1,MARKET),ORDERQUEUE;

这样,如止盈多单后的,同时却符合合多条件BUY1  ,不会再开当前条件多仓,等到SELL1 再 空开:

//开多单
if 空平 or 空损 or 空保1 or 空保2 or 空保3 or 空赢1 or 空赢2 or 空赢3 THEN BEGIN
  IF BUY1 THEN BEGIN

   多开:BUY(1,1,MARKET);

反之亦然       止盈空单后的,同时却答合空条件SELL1  ,不会再开当前条件空仓,等到BUY1 ,再多开。


循环检测条件再执行,如何编写呢?

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


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

平多后不开同方向单只能开反方向单?


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

客户服务部

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

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

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