金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 8110|回复: 20

如何实现后台策略某条件在后台程序化启动时只执行一次

[复制链接]

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
发表于 2022-7-5 16:51 | 显示全部楼层 |阅读模式
如题:如何实现后台策略某个条件在后台程序化启动时只执行一次
条件T:=1;
目标:条件在后台程序化启动时T:=0;且只执行一次。
换句话说,如何判断后台程化开始了,或者后台程序化结束了。我给某个变量赋一恒定的值

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-7-5 18:13 | 显示全部楼层
用全局变量  记录时间。后续执行时候判断时间是否大于,大于则实际不执行。 思路是这样的,你可以先试下。如果不行 我再给你写个范例。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2022-7-5 18:50 | 显示全部楼层
技术009 发表于 2022-7-5 18:13
用全局变量  记录时间。后续执行时候判断时间是否大于,大于则实际不执行。 思路是这样的,你可以先试下。 ...

老师,辛苦下麻烦写个实例。我好学习下。


补充内容 (2022-7-5 19:54):
由于PEL语言的限制。这,看来简单,实际非常复杂。
回复

使用道具 举报

37

主题

9959

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-7-6 08:11 | 显示全部楼层

GLOBALVARIABLE:flag=0;

if 某个条件=1 and flag=0 then BEGIN
        ....
        ....
        flag:=1;       
       
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2022-7-6 11:22 | 显示全部楼层
技术006 发表于 2022-7-6 08:11
GLOBALVARIABLE:flag=0;

if 某个条件=1 and flag=0 then BEGIN

谢谢,原来这么简单。这真的叫会者不难,难者不会。谢谢老师。我采用的是VARIABLE:flag=0;区别就在此。
回复

使用道具 举报

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2022-7-6 18:42 | 显示全部楼层
老师好!
1:不能对锁。请指教问题出在哪?
2:若对锁合约设置可位连续合约就更好,而不是现在选择连续合约自动替换为主力合约。


补充内容 (2022-7-6 18:43):
2:若对锁合约可设置为连续合约就更好,而不是现在选择连续合约自动替换为主力合约。

补充内容 (2022-7-6 19:09):
后台能否实现平仓转对锁?请老师示例。谢谢

补充内容 (2022-7-7 05:56):
3、如何先平老仓,再平今仓。

截图202207061841121590.png
回复

使用道具 举报

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2022-7-7 06:48 | 显示全部楼层
1:优先平老仓的后台程序实现
switch0:hold0;//获取的拟下单数(多单)

Is_orderBuy:=TISREMAINEX(1,'',STKLABEL);//开多未成交单

Is_orderSell:=TISREMAINEX(2,'',STKLABEL);//平多未成交单

Is_orderBuyshort:=TISREMAINEX(3,'',STKLABEL);//开空未成交单

Is_orderSellshort:=TISREMAINEX(4,'',STKLABEL);//平空未成交单

//-----------------------账户多头持仓-----------------------

TbuyH0:=tbuyholdingex('',STKLABEL,0)+Is_orderSell;//取:当日买持-多头平仓未成交单

TbuyH1:=tbuyholdingex('',STKLABEL,1)+Is_orderSell;//取:全部买持-多头平仓未成交单

TbuyHY:=TbuyH1-TbuyH0;//多头老仓()

//-----------------------账户空头持仓-----------------------

TsellH0:=tsellholdingex('',STKLABEL,0)+Is_orderSellshort;//取:当日卖持-空头平仓未成交单

TsellH1:=tsellholdingex('',STKLABEL,1)+Is_orderSellshort;//取:全部卖持-空头平仓未成交单

TsellHY:=TsellH1-TsellH0;//空头老仓()

//------------------------------------------优先平老仓后平今仓下单程序-------------------------------------------------

if switch0>0 then BEGIN

   if TbuyHY>=switch0 then BEGIN

            CLOSEPOSMODE:1;

                tsell(1,switch0,mkt);

   end         

   if TbuyHY>0&&TbuyHY<switch0 then BEGIN

            CLOSEPOSMODE:1;

                tsell(1,TbuyHY,mkt);

            CLOSEPOSMODE:0;

                tsell(1,switch0-TbuyHY,mkt);

   end

   if TbuyHY<=0 then BEGIN

            CLOSEPOSMODE:0;

                tsell(1,switch0,mkt);

   end                  

                //tsell(1,switch0,mkt);

                //EXTGBDATASET(mswitch0,0);

end

2:平仓对锁的实现:就是将准备平今空仓的改为开多仓;就是将准备平今多仓的改为开空仓。
回复

使用道具 举报

37

主题

9959

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-7-7 08:02 | 显示全部楼层
平仓对锁代码无关,平仓对锁的机制是在触发下单后,在下单出口位置进行变化。所以你上面即使用连续合约照样可以完成对锁。因为连续下单时会自动对应到当前的主力。
而平仓对锁只能手工更改模式。只平模式:平仓指令时,正常平,开仓转为平反向仓位。只开模式:开仓指令时正常开,平仓时转为开反向仓位。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2022-7-7 08:12 | 显示全部楼层
技术006 发表于 2022-7-7 08:02
平仓对锁代码无关,平仓对锁的机制是在触发下单后,在下单出口位置进行变化。所以你上面即使用连续合约照样 ...

谢谢老师。还有疑问
1、我策略选择的连续合约,还需设置:日内平仓对锁的品种吗?
2、我后台直接将需要平今多写成开空仓,替代自带的对锁,老师认为可行吗?
3、上述我写的优先平老仓的代码正确吗?
回复

使用道具 举报

37

主题

9959

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-7-7 08:23 | 显示全部楼层
1.是,设置中指定的具体品种就是用开针对转换的。
2.不行,有很多边界情况,除非你觉得你有能力进行逻辑处理。
3.不对,哪个函数标识是针对图表理论持仓的,基本没有什么意义。除了上期所外,其他的市场实际上都是遵循先开先平原则。只是手续费按照高的收。所以还是躲不过去的。除非你没有今仓
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-6-3 14:02 , Processed in 0.104916 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表