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


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

   

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


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

主题:后台程式编写

帅哥哟,离线,有人找我吗?
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(平空,空单持仓量,买一价格)

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


谢谢老师!




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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2019/9/19 13:28:04    Post IP:180.169.30.6[只看该作者]

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

 

什么意思?追撤单需要给定条件。



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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 。相当于一个开仓的条件 是需要前面有一个开仓的。这就是个逻辑死循环了。


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

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

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


这个撤单没看明白哦。

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


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
bill163
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2019/9/19 14:58:26    Post IP:180.169.30.6[只看该作者]

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

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

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

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

 

 

这个你太理想化了,行情活跃时跳动比较快时,委托刚发出去,就要发撤单指令。
和柜台之间交互要有预留时间的。



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


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


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
bill163
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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个价位。

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2019/9/19 15:46:32    Post IP:180.169.30.6[只看该作者]

上面的代码建议你自己学习使用。

你撤单需求不符合实际交易情况,太过理想化,需要考虑撤单造成的时间间隔。柜台之间的交互必须预留时间。



编程无捷径,技巧靠积累。
 回到顶部
总数 27 1 2 3 下一页