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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 下面两个程序模块在金字塔里面的最后导致卖出数量会有区别吗?

   

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


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

主题:下面两个程序模块在金字塔里面的最后导致卖出数量会有区别吗?

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


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/8/24 18:11:13
  发帖心情 Post By:2018/6/13 13:45:38    Post IP:113.246.165.250[显示全部帖子]

你好,我还不是很理解。。我的想法是在程序A是一次性卖出,程序B是分成很多单卖出。。。两者最终的卖出数量是一样多的。。


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


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/8/24 18:11:13
  发帖心情 Post By:2018/6/13 13:47:13    Post IP:113.246.165.250[显示全部帖子]

实际交易时候一个K同一行交易语句只能触发一次。

这句话不是很理解。。。在一个K线上只能卖出一次吗???可是我程序里设定是循环卖出12次。。。这个在金字塔里面是无效的吗??

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


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/8/24 18:11:13
  发帖心情 Post By:2018/6/13 14:04:50    Post IP:113.246.165.250[显示全部帖子]

金字塔自带的例子程序,海龟交易里面有这个程序段

WHILE (HIGH>MYENTRYPRICE+0.5*N) AND TURTLEUNITS<4 DO BEGIN
MYENTRYPRICE := IF(OPEN>MYENTRYPRICE+0.5*N ,OPEN ,MYENTRYPRICE+0.5*N ) ;
MYENTRYPRICE := CEILING(MYENTRYPRICE/MINDIFF)*MINDIFF ;
BUY( _DEBUG, POSNUM, LIMITR, MYENTRYPRICE);
TURTLEUNITS := TURTLEUNITS+1 ;
BUYORDERTHISBAR := 1;

END //WHILE

这里面也使用了循环来买入,,这个买入语句也属于交易语句吧??为什么这里就能在一个K线上用循环多次下单呢??

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


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/8/24 18:11:13
  发帖心情 Post By:2018/6/13 14:39:56    Post IP:113.246.165.250[显示全部帖子]

意思就是,循环语句不能用在下单上面???如果我要在同一个K线上多次下单在图表系统里面应该怎么办?

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


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/8/24 18:11:13
  发帖心情 Post By:2018/6/13 14:44:09    Post IP:113.246.165.250[显示全部帖子]

ALLOWREPEAT
表示是否允许指令在同一个周期内反复发出信号

例如:
TBUY(COND,1,MKT),ALLOWREPEAT;
表示满足条件后市价开仓,并允许在固定预警周期内反复开仓.

注意:
该函数只有在TBUY,TSELL,TBUYSHORT,TSELLSHORT,PLAYSOUND,SENDMAIL,SENDMSG这几个函数中使用有效
所属函数组:后台程式化交易(专业版)


这个ALLOWREPEAT只能在后台程式化交易中使用啊??有没有在图表系统上重复下单的方法??

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


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/8/24 18:11:13
  发帖心情 Post By:2018/6/14 11:50:14    Post IP:113.246.165.250[显示全部帖子]

还是没怎么看懂,如果我有这样一个需求,比如价格每升高0.5,就需要卖掉一个单位,,现在我有100个单位??应该怎么写呢??这种情况下,需要一根K线上多次下单的。可以给写出代码吗??
[此贴子已经被作者于2018/6/14 11:51:55编辑过]

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


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/8/24 18:11:13
  发帖心情 Post By:2018/6/14 11:57:21    Post IP:113.246.165.250[显示全部帖子]

我发现我用循环下单,刚才我去看了交易记录,我的图表的循环的确在6月1日下了两个单,这是为什么???

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


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/8/24 18:11:13
  发帖心情 Post By:2018/6/14 13:46:10    Post IP:113.246.165.250[显示全部帖子]

价格每升高0.5,就需要卖掉一个单位,,现在我有100个单位??应该怎么写呢??这种情况下,需要一根K线上多次下单的。可以给写出代码吗??

可以帮我给出这个代码吗??谢谢了。。

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


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/8/24 18:11:13
  发帖心情 Post By:2018/6/14 13:56:14    Post IP:113.246.165.250[显示全部帖子]

金字塔自带的例子程序,海龟交易里面有这个程序段
WHILE (HIGH>MYENTRYPRICE+0.5*N) AND TURTLEUNITS<4 DO BEGIN
    MYENTRYPRICE := IF(OPEN>MYENTRYPRICE+0.5*N ,OPEN ,MYENTRYPRICE+0.5*N ) ;
    MYENTRYPRICE := CEILING(MYENTRYPRICE/MINDIFF)*MINDIFF ;
    BUY( _DEBUG, POSNUM, LIMITR, MYENTRYPRICE);
    TURTLEUNITS := TURTLEUNITS+1 ;
    BUYORDERTHISBAR := 1;
END //WHILE

这是金字塔自带的海龟交易程序的下单例子,使用了循环,就是说一个BUG这个程序只能下一次单。。。如果我把这个程序改成如下形式呢??

IF (HIGH>MYENTRYPRICE+0.5*N) THEN BEGIN
    MYENTRYPRICE := IF(OPEN>MYENTRYPRICE+0.5*N ,OPEN ,MYENTRYPRICE+0.5*N ) ;
    MYENTRYPRICE := CEILING(MYENTRYPRICE/MINDIFF)*MINDIFF ;
    BUY( _DEBUG, POSNUM, LIMITR, MYENTRYPRICE);
    TURTLEUNITS := TURTLEUNITS+1 ;
    BUYORDERTHISBAR := 1;
END

                                IF (HIGH>MYENTRYPRICE+N) THEN BEGIN
    MYENTRYPRICE := IF(OPEN>MYENTRYPRICE+0.5*N ,OPEN ,MYENTRYPRICE+0.5*N ) ;
    MYENTRYPRICE := CEILING(MYENTRYPRICE/MINDIFF)*MINDIFF ;
    BUY( _DEBUG, POSNUM, LIMITR, MYENTRYPRICE);
    TURTLEUNITS := TURTLEUNITS+1 ;
    BUYORDERTHISBAR := 1;
END

IF (HIGH>MYENTRYPRICE+1.5*N) THEN BEGIN
    MYENTRYPRICE := IF(OPEN>MYENTRYPRICE+0.5*N ,OPEN ,MYENTRYPRICE+0.5*N ) ;
    MYENTRYPRICE := CEILING(MYENTRYPRICE/MINDIFF)*MINDIFF ;
    BUY( _DEBUG, POSNUM, LIMITR, MYENTRYPRICE);
    TURTLEUNITS := TURTLEUNITS+1 ;
    BUYORDERTHISBAR := 1;
END 

就是把一个WHILE改成了三个IF,这样可以在一根K线上下三次单吗??


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


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/8/24 18:11:13
  发帖心情 Post By:2018/6/14 14:34:07    Post IP:113.246.165.250[显示全部帖子]

谢谢。。
现在我关于循环的理解如下,请帮我指出错误的地方,因为目前我就只在使用图表,例子只会用图表的例子,如果后台程序有很不同的地方,麻烦指出:

(一)WHILE循环和FOR循环在程序中除了买卖,也就是BUY,SELL,BUYSHORT,SELLSHORT这四个交易函数之外,其他的使用都可以按照日常对程序的理解去使用,比如如下

T:=12 ;
U := 0 ;             
WHILE T>0  DO BEGIN         
    U := U + 1 ;           
    T := T-1 ;          
END

这个程序可以执行12次。。并且得到U为12。。。


(二)WHILE循环和FOR循环在程序中如果使用买卖四个交易函数时,就只能在一条K线上交易一次,换句话说,实际交易中WHILE循环其实只是IF语句。。WHILE循环只是在测试中使用方便。。。

金字塔自带的例子程序,海龟交易里面有这个带WIHLE的程序段

WHILE (HIGH>MYENTRYPRICE+0.5*N) AND TURTLEUNITS<4 DO BEGIN
   MYENTRYPRICE := IF(OPEN>MYENTRYPRICE+0.5*N ,OPEN ,MYENTRYPRICE+0.5*N ) ;
   MYENTRYPRICE := CEILING(MYENTRYPRICE/MINDIFF)*MINDIFF ;
   BUY( _DEBUG, POSNUM, LIMITR, MYENTRYPRICE);
   TURTLEUNITS := TURTLEUNITS+1 ;
   BUYORDERTHISBAR := 1;
END //WHILE

其实在实际交易交易中,以上的WHILE程序段等同于 

                                IF (HIGH>MYENTRYPRICE+0.5*N) THEN BEGIN
   MYENTRYPRICE := IF(OPEN>MYENTRYPRICE+0.5*N ,OPEN ,MYENTRYPRICE+0.5*N ) ;
   MYENTRYPRICE := CEILING(MYENTRYPRICE/MINDIFF)*MINDIFF ;
   BUY( _DEBUG, POSNUM, LIMITR, MYENTRYPRICE);
   TURTLEUNITS := TURTLEUNITS+1 ;
   BUYORDERTHISBAR := 1;
END 

在这里我有个疑问,上面的WHILE循环程序段中,TURTLEUNITS是否等于4???也就是说,是不是整个循环除了交易语句 BUY( _DEBUG, POSNUM, LIMITR, MYENTRYPRICE)只执行了一次,其他的语句仍然是执行了3次吗??

(三)我们可以通过把循环拆成几个IF语句组成的顺序结构,这样就能达到交易几次的目的。。。不过这里面对的麻烦是,如果我需要循环次数很多,那么IF语句组成的顺序结构就会很多。。这时候图表交易系统不能解决的话,采用后台或者VBA语句有什么很好的解决方法吗??最好能够给我有源代码的例子。。谢谢。


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