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


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

   

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


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

主题:后台程式编写

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


加好友 发短信
等级:新手上路 帖子:31 积分:0 威望:0 精华:0 注册:2019/3/18 9:09:10
后台程式编写  发帖心情 Post By:2019/9/19 13:19:43    Post IP:112.20.161.236[显示全部帖子]

老师好,如下策略需求,帮忙编写,感谢~

开多条件:买一价格-均价<=0.004并且多头持仓量小于500手;
KD:=DYNAINFO( 28)-DYNAINFO( 11)<=0.004 and holding<=500 and  holding >0;

开空条件:均价-卖一价格<=0.004并且空头持仓量小于500手;

平多:有多单就挂卖一价
平空:有空的那就挂买一价

//交易系统

buy(开多条件,500-多头持仓量,买一价)
buyshort(开空条件,500-空头持仓量,卖一价)

sell(平多,多单持仓量,卖一价格)
sellshort(平空,空单持仓量,买一价格)

//撤单追价系统
保持开多价格是买一,开空价格是卖一
保持平多价格是卖一,平空价格是买一;


谢谢老师!




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


加好友 发短信
等级:新手上路 帖子:31 积分:0 威望:0 精华:0 注册:2019/3/18 9:09:10
  发帖心情 Post By:2019/9/19 14:26:26    Post IP:112.20.161.236[显示全部帖子]

老师,撤单追价系统我举例说明:

比如现在买一是3.87,卖一是3.90,我要开多挂单3.87(买一)

如果这个时候价格上涨0.01,买一从3.87到了3.88,那需要撤开多单3.87,重新挂3.88

我的策略核心就是买和买都不主动,都等着对手盘砸给我。

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


加好友 发短信
等级:新手上路 帖子:31 积分:0 威望:0 精华:0 注册:2019/3/18 9:09:10
  发帖心情 Post By:2019/9/19 14:30:52    Post IP:112.20.161.236[显示全部帖子]

老师,
问题2解释:均价请用DYNAINFO( 11)
问题3解释:平仓条件就是有多单就挂卖一价,有空单就挂买一价。
比如3.87(买一)多单成交了,就立即挂3.88卖一价格平,买卖都等对方砸给我,不主动成交。

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


加好友 发短信
等级:新手上路 帖子:31 积分:0 威望:0 精华:0 注册:2019/3/18 9:09:10
  发帖心情 Post By:2019/9/19 14:41:22    Post IP:112.20.161.236[显示全部帖子]

老师,图标程式化没有撤单追价,下面的编写代码供参考。

KD:=DYNAINFO( 28)-DYNAINFO( 11)>=0.004 and holding<=500 and  holding >0;

KK:=DYNAINFO( 34)-DYNAINFO( 28)>=0.004 and holding>=-500 and holding<0 ;

buy(KD,500-HOLDING,limitr,DYNAINFO( 28));

buyshort(KK,500-HOLDING,limitr,DYNAINFO( 34));

SELL(HOLDING >0,HOLDING ,limitr,DYNAINFO( 34));

SELLSHORT(HOLDING <0 ,HOLDING,limitr,DYNAINFO( 28));
[此贴子已经被作者于2019/9/19 14:42:06编辑过]

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


加好友 发短信
等级:新手上路 帖子:31 积分:0 威望:0 精华:0 注册:2019/3/18 9:09:10
  发帖心情 Post By:2019/9/19 15:42:13    Post IP:112.20.161.236[显示全部帖子]

老师好,看起来没错。

1.平仓的也一样要写入撤单系统,保持平多是在卖一,平空是在买一。


2.这2个平仓,需要明确下,可能会导致刚开仓就平仓。
这个只要平多是卖一价委托,平空是买一价委托就行。
目的就是开多成交后立即挂卖一平仓,赚取1个价位。

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


加好友 发短信
等级:新手上路 帖子:31 积分:0 威望:0 精华:0 注册:2019/3/18 9:09:10
  发帖心情 Post By:2019/9/19 16:14:11    Post IP:112.20.161.236[显示全部帖子]

老师,我们做的不是商品期货,波动太快。

平仓的也一样要写入撤单系统,保持平多是在卖一,平空是在买一。帮忙加下哈~


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


加好友 发短信
等级:新手上路 帖子:31 积分:0 威望:0 精华:0 注册:2019/3/18 9:09:10
  发帖心情 Post By:2019/9/19 16:37:16    Post IP:112.20.161.236[显示全部帖子]

问题1:
tbuy(1,500-TBUYHOLDINGEX('','',1),LMT,DYNAINFO( 28));
end

老师好,上一句应该是去掉’500-‘吧 ?
应该理解为,撤单后直接挂单多头持仓量

问题2:
上面的策略可能会出现挂单量大于可挂的量。
比如挂多单500张,成交200张,这时挂200张平多单,
2分钟后又有100张成交,这是要再挂100张平多,这里的100策略中没有计算逻辑
应该是多仓持有量-平多委托单量

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


加好友 发短信
等级:新手上路 帖子:31 积分:0 威望:0 精华:0 注册:2019/3/18 9:09:10
  发帖心情 Post By:2019/9/20 14:09:00    Post IP:112.20.161.236[显示全部帖子]

老师好,今日实盘测试,如下问题请老师帮忙解决,谢谢!

1.买一价1.475有挂多单正确。
2.卖一价1.476没有挂单(有问题);
3.买一价格上浮到1.476,多单没有撤单1.475并挂1.476(有问题);
4.多单1.475成交后没有立即挂卖一价格平仓(有问题);
上传了3个附件

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:pleaceorder.txt



[此贴子已经被作者于2019/9/20 14:10:42编辑过]

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


加好友 发短信
等级:新手上路 帖子:31 积分:0 威望:0 精华:0 注册:2019/3/18 9:09:10
  发帖心情 Post By:2019/9/20 14:15:27    Post IP:112.20.161.236[显示全部帖子]

代码如下:

KD:=DYNAINFO( 11)-DYNAINFO( 28)<=0.004 and TBUYHOLDINGEX('','',1)<=500;//开多

KK:=DYNAINFO( 34)-DYNAINFO( 11)<=0.004 and TSELLHOLDINGEX('','',1)>=500;//开空

tbuy(KD,100-TBUYHOLDINGEX('','',1),LMT,DYNAINFO( 28));//开多

tbuyshort(KK,100-TSELLHOLDINGEX('','',1),LMT,DYNAINFO( 34));//开空

TSELL(TBUYHOLDINGEX('','',1) >0,TBUYHOLDINGEX('','',1) ,LMT,DYNAINFO( 34));//这2个平仓,需要明确下,可能会导致刚开仓就平仓。
TSELLSHORT(TSELLHOLDINGEX('','',1) >0 ,TSELLHOLDINGEX('','',1),LMT,DYNAINFO( 28));


if TGLOBALSUBMITEX(1,'','' ,1)>0 and DYNAINFO( 28)<>TORDERPRICE(1,1) then //如果挂单价不等于买一,撤单 按照买一挂单。
begin
TCANCEL(1,1);    //撤多头单
tbuy(1,100-TBUYHOLDINGEX('','',1),LMT,DYNAINFO( 28));
end

if TGLOBALSUBMITEX(3,'','' ,1)>0 and  DYNAINFO( 34)<>TORDERPRICE(3,1) then
begin
TCANCEL(1,3);//撤空头单   
tbuyshort(1,100-TSELLHOLDINGEX('','',1),LMT,DYNAINFO( 34));
end

if TGLOBALSUBMITEX(2,'','' ,1)>0 and DYNAINFO( 34)<>TORDERPRICE(2,1) then //如果挂单价不等于卖一,撤单 按照卖一挂单。
begin
TCANCEL(1,2);    //撤平多头单
tsell(1,TBUYHOLDINGEX('','',1),LMT,DYNAINFO( 34));
end

if TGLOBALSUBMITEX(4,'','' ,1)>0 and  DYNAINFO( 28)<>TORDERPRICE(4,1) then
begin
TCANCEL(1,4);//撤平空头单  
tsellshort(1,TSELLHOLDINGEX('','',1),LMT,DYNAINFO( 28));
end


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


加好友 发短信
等级:新手上路 帖子:31 积分:0 威望:0 精华:0 注册:2019/3/18 9:09:10
  发帖心情 Post By:2019/9/24 10:59:44    Post IP:112.20.160.134[显示全部帖子]

老师好,实际跑起来不行,如截图。我们分次建立模型,所以条件修改如下,这样会简单些~


开多条件:买一价格-均价<=0.004 并且多单持仓量为0;
开空条件:均价-卖一价格<=0.004 并且空单持仓量为0;

平多:有多单持仓就挂卖一价
平空:有空单成交就挂买一价

//交易系统

buy(开多条件,100,买一价)
buyshort(开空条件,100,卖一价)

sell(平多,多单持仓量,卖一价格)
sellshort(平空,空单持仓量,买一价格)

//撤单追价系统
保持开多价格是买一,开空价格是卖一
保持平多价格是卖一,平空价格是买一;


此主题相关图片如下:批注 2019-09-24 105059.png
按此在新窗口浏览图片


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