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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 后台版本下单问题

   

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


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

主题:后台版本下单问题

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


加好友 发短信
等级:论坛游侠 帖子:101 积分:0 威望:0 精华:0 注册:2013/2/21 13:26:34
后台版本下单问题  发帖心情 Post By:2019/8/27 9:42:47    Post IP:101.95.184.190[只看该作者]

 下单出现漏单或不执行的情况,数据补充无误,程序无误(图表改后台,图表界面执行无误),应该是下单开平仓模块书写问题

 

if   KD1  and    tholding=0   then  begin
    tbuy(1 ,hand,mkt),ORDERQUEUE; 
      tholding=1 ; 
    end
    
if  PD1  and    tholding=1   and  pd1<>kd1  then begin
   tSell( 1,hand,mkt),ORDERQUEUE;   
     tholding=0   ;

    end

 

 

 

 

 

  if KK1    and    tholding=0  and    KK1<>PK1   then begin
    tBUYSHORT(1 ,hand,mkt),ORDERQUEUE;  
      tholding=1   ;
    end
      
      
    if PK1 and    tholding=1    then begin
    tSELLSHORT(1 ,hand,mkt) ,ORDERQUEUE; 
      tholding=0  ;
    end  


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/27 10:06:19    Post IP:180.169.30.6[只看该作者]

说漏洞肯定要有一个明确的判断依据才行。 后台漏单这种,你是拿图表信号来确定它漏单的,还是怎么判断漏洞的。后台我们建议进行一些必要的调试输出,就是把开平仓条件的情况直接输出输出。参考debugfile函数。
[此贴子已经被作者于2019/8/27 10:08:55编辑过]


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/27 10:11:20    Post IP:180.169.30.6[只看该作者]

 不过你这里代码书写上是有点问题。
 tholding=1 ;
类似这种都是无效的。这函数是直接读取持仓情况的。你赋值肯定无效的。
另外如果要判断持仓什么的,建议用这2个函数:
TBUYHOLDINGEX
TSELLHOLDINGEX
 


[此贴子已经被作者于2019/8/27 10:11:58编辑过]


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


加好友 发短信
等级:论坛游侠 帖子:101 积分:0 威望:0 精华:0 注册:2013/2/21 13:26:34
  发帖心情 Post By:2019/8/27 10:23:31    Post IP:101.95.184.190[只看该作者]

用申请全局变量的方式可以么  比如改成这样

 

globalvariable:a1=0;

globalvariable:a2=0;

 

if   KD1  and    a1=0   then  begin
    tbuy(1 ,hand,mkt),ORDERQUEUE; 
      a1=1 ; 
    end
    
if  PD1  and   a1=1   and  pd1<>kd1  then begin
   tSell( 1,hand,mkt),ORDERQUEUE;   
    a1=0   ;

    end

 

 

 

 

 

  if KK1    and    a2=0  and    KK1<>PK1   then begin
    tBUYSHORT(1 ,hand,mkt),ORDERQUEUE;  
     a2=1   ;
    end
      
      
    if PK1 and   a2=1    then begin
    tSELLSHORT(1 ,hand,mkt) ,ORDERQUEUE; 
     a2=0  ;
    end  


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/27 10:31:54    Post IP:180.169.30.6[只看该作者]

  a1=1 ; 改成 a1:=1;

其他几个地方也是。
你这里的思路我大致能看出来。用全局变量是可以的。不过
ORDERQUEUE 建议测试时候先不用这个,等代码逻辑处理好了再加上去进一步调试,以免ORDERQUEUE触发的一些特殊情况影响下单


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


加好友 发短信
等级:论坛游侠 帖子:101 积分:0 威望:0 精华:0 注册:2013/2/21 13:26:34
  发帖心情 Post By:2019/8/27 18:00:49    Post IP:101.95.184.190[只看该作者]

globalvariable:a1:=0;

globalvariable:a2:=0;

 

if   KD1  and    a1:=0   then  begin
    tbuy(1 ,hand,mkt),ORDERQUEUE; 

      a1:=1 ; 
    end
    
if  PD1  and   a1:=1   and  pd1<>kd1  then begin
   tSell( 1,hand,mkt),ORDERQUEUE;   
    a1:=0   ;

    end

 

 

对否?


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


加好友 发短信
等级:论坛游侠 帖子:101 积分:0 威望:0 精华:0 注册:2013/2/21 13:26:34
  发帖心情 Post By:2019/8/27 18:04:41    Post IP:101.95.184.190[只看该作者]

if   KD1   and    a1:=0    and  tHOLDING=0   then  begin
    tbuy(1 ,hand,mkt,close),ORDERQUEUE;
     a1:=hand ;
     end
   
if  PD1  and    a1>0  and  pd1<>kd1  then begin
   tSell( 1,a1,mkt),ORDERQUEUE;  
    a1:=0   ;
    end

 

 

用的多品种后台,哪种方法是对的


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


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

 

if   KD1  and    a1=0   then  begin
    tbuy(1 ,hand,mkt),ORDERQUEUE; 

      a1:=1 ; 
    end
    
if  PD1  and   a1=1   and  pd1<>kd1  then begin
   tSell( 1,hand,mkt),ORDERQUEUE;   
    a1:=0   ;

    end

 

改成上面这样。



a1=1这个是等于的判断  a1:=1 这个是赋值语句。



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


加好友 发短信
等级:论坛游侠 帖子:101 积分:0 威望:0 精华:0 注册:2013/2/21 13:26:34
  发帖心情 Post By:2019/9/2 9:27:07    Post IP:101.95.184.190[只看该作者]

内容被屏蔽

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


加好友 发短信
等级:论坛游侠 帖子:101 积分:0 威望:0 精华:0 注册:2013/2/21 13:26:34
  发帖心情 Post By:2019/9/2 10:11:08    Post IP:101.95.184.190[只看该作者]

图表程序改后台,模拟中出现问题:图表和后台的成交信号对不上。程序底稿模块一样,都是close走完k线后发单,

 

图表的开平模块是

 

if   KD    and   HOLDING=0      then  begin
    buy(1 ,hand,MARKETR),ORDERQUEUE;
 
    end
   
if  PD      and  pd<>kd  then begin
   Sell( 1,hand,MARKETR),ORDERQUEUE;  
  
    end 
   

   if KK    and   HOLDING=0    and    KK<>PK  then begin
    BUYSHORT(1 ,hand,MARKETR),ORDERQUEUE; 
  
    end
     
     
    if PK    then begin
    SELLSHORT(1 ,hand,MARKETR) ,ORDERQUEUE;
 
    end  

 

 

改成后台之后是

 

GLOBALVARIABLE:a1=0;
GLOBALVARIABLE:a2=0;


hand:=6000000/CLOSE/MULTIPLIER;

if   KD1  and    a1=0   then  begin
    tbuy(1 ,hand,mkt),ORDERQUEUE; 
      a1:=1 ; 
    end
    
if  PD1  and    a1=1   and  pd1<>kd1  then begin
   tSell( 1,hand,mkt),ORDERQUEUE;   
     a1:=0   ; 
    end 
       if KK1    and    a2=0  and    KK1<>PK1   then begin
    tBUYSHORT(1 ,hand,mkt),ORDERQUEUE;  
     a2:=1   ;
    end
      
      
    if PK1 and    a2=1    then begin
    tSELLSHORT(1 ,hand,mkt) ,ORDERQUEUE; 
      a2:=0  ;
    end  


 图表程序一直没有问题,但是目前改后台后一直对不上(数据补充也是正确的)  ,中间有暂停预警后启动(是否会影响平仓和持仓记录),还是后台模块的书写有问题?   

 


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