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


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

   

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


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

主题:后台程式编写

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/9/19 13:32:14    Post IP:180.169.30.6[显示全部帖子]

 需要非常明确的开平条件。你这里的都不是很明确,代码就没办法写的。
比如开仓:
开多条件:买一价格-均价<=0.004并且多头持仓量小于500手;
“均价” 这个均价姑且认为是持仓均价。但是如果前面都没有开仓 这个价格就是0 。相当于一个开仓的条件 是需要前面有一个开仓的。这就是个逻辑死循环了。


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

这个意思是有持仓就平?那开仓只要成交了 里面就下平仓单了啊?

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


这个撤单没看明白哦。

建议重新整理下思路,你这里没有说明白,就没办法转换成代码的。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/9/19 15:14:47    Post IP:180.169.30.6[显示全部帖子]

 这是根据你图表代码直接修改,加上了追撤单代码:
KD:=DYNAINFO( 28)-DYNAINFO( 11)>=0.004 and TBUYHOLDINGEX('','',1)<=500;//开多

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

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

tbuyshort(KK,500-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,500-TBUYHOLDINGEX('','',1),LMT,DYNAINFO( 28));
end

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


供参考。先用模拟账号测试下。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/9/19 16:28:04    Post IP:180.169.30.6[显示全部帖子]

 代码都差不多:
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


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/9/20 14:33:02    Post IP:180.169.30.6[显示全部帖子]

  1.开空的条件。
KK:=DYNAINFO( 34)-DYNAINFO( 11)<=0.004 and TSELLHOLDINGEX('','',1)<=500;//开空
笔误写反了,改下即可。

2.日志里面很奇怪。有信号下单记录,但是没有下单的回报之类的,你账号好像那时候没登录吧。账号那个地方显示是空。
[此贴子已经被作者于2019/9/20 14:35:47编辑过]


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/9/24 11:26:11    Post IP:180.169.30.6[显示全部帖子]

 具体什么什么问题,简单说明下。你贴图我也不是很明白有啥问题的。另外你这个需要迅速捕捉价格的,一般都是要设置tick基本刷新,否则根本捕捉不到盘口价格的快速变化。

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


命数如织,当如磐石。
 回到顶部