金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4316|回复: 10

请教如何限定条件执行次数

[复制链接]

2

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2023-11-5
曾用名:
发表于 2023-11-6 09:02 | 显示全部楼层 |阅读模式
本帖最后由 技术006 于 2023-11-6 09:19 编辑

    探针多1:=IF(var15=1 or var15=1 AND HIGH>H2,1,0);
    探针多2:=REF(探针多1,1);
    探针多3:IF(探针多2=1,1,0);
    IF 探针多3=1 THEN TSELL(1,SC_P,LMT,DYNAINFO2(20,_P),1,AC,_P);
   
END


请教一下,有两个平仓条件 “var15=1” 和 “var15=1 AND HIGH>H2”,我想第1个平仓条件只执行一次,第2个平仓条件可执行两次,如何实现?例如:多开3手螺纹,“var15=1”时平1手,只触发1次,“var15=1 AND HIGH>H2”时平1手,可多次触发。






回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-11-6 09:19 | 显示全部楼层
本帖最后由 技术006 于 2023-11-6 09:22 编辑

做不到这种精细程度的控制。(并且策略连续执行时,尤其是条件信号稳定时,条件2会连续一直成立,这种情况即使加上ALLOWREPEAT也只是等同于直接分批平仓)
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2023-11-5
曾用名:
 楼主| 发表于 2023-11-6 09:35 | 显示全部楼层
技术006 发表于 2023-11-6 09:19
做不到这种精细程度的控制。(并且策略连续执行时,尤其是条件信号稳定时,条件2会连续一直成立,这种情况 ...

“var15=1”如何只将该条件执行一次,其它的不用实现了
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-11-6 09:42 | 显示全部楼层
后台下单语句本身在下单时,一根k上只会触发一次。所以你上面的代码,本质上两个条件无论谁满足条件也只都只会下一次
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-11-6 09:44 | 显示全部楼层


你2个条件拆分为2,在一个合并的条件是不好区分的。

variable:ct1:=0,ct2:=0;
con1:var15=1;
con2:var15=1 and high>h2;

if holding>0 and con1 and ct1=0 then
begin
ct1:=ct1+1;       
//开仓语句
end


if holding>0 and con2 and ct2<=1 then
begin
ct2:=ct2+1;
//开仓语句
end

if holding=0 then
begin
ct1:=0;
ct2:

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2023-11-5
曾用名:
 楼主| 发表于 2023-11-6 19:58 | 显示全部楼层
技术009 发表于 2023-11-6 09:44
你2个条件拆分为2,在一个合并的条件是不好区分的。

variable:ct1:=0,ct2:=0;

谢谢老师回复,可能我没说清楚,现在用的是后台程序化,用你写的代换后不能用HOLDING,也不能用现在的全局变量方式,提示要求逐K线模式,我现在的策略用的是序列模式。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-11-7 08:44 | 显示全部楼层
全局变量用GLOBALVARIABLE做个替换; holding 用后台的持仓函数替换就行了。

核心逻辑就是用全局变量自己记录触发时候的条件是哪一个。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2023-11-5
曾用名:
 楼主| 发表于 2023-11-7 22:10 | 显示全部楼层
技术009 发表于 2023-11-7 08:44
全局变量用GLOBALVARIABLE做个替换; holding 用后台的持仓函数替换就行了。

核心逻辑就是用全局变量自 ...

GLOBALVARIABLE:Dct1:=0,Dct2:=0;
Dcon1:var15=1;
Dcon2:var15=1 and high>h2;

if TBUYHOLDINGEX(AC,_P,1)>0 and Dcon1 and Dct1=0 then
begin
Dct1:=Dct1+1;      
TSELL(1,1,LMT,DYNAINFO2(20,_P),0,AC,_P);
end


if TBUYHOLDINGEX(AC,_P,1)>0 and Dcon2 and Dct2<=1 then
begin
Dct2:=Dct2+1;
TSELL(1,0,LMT,DYNAINFO2(20,_P),0,AC,_P);
end

if TBUYHOLDINGEX(AC,_P,1)=0 then
begin
Dct1:=0;
Dct2:=0;

END

按老师的指引,修改成后台程序了,数据我看也对,就是没有平仓动作。
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-11-8 08:41 | 显示全部楼层
直接在相关条件的位置增加debugfile调试输出下,TBUYHOLDINGEX(AC,_P,1)>0 and Dcon1 and Dct1=0这个条件的结果。或者是这个条件因子的值。

例如:
DEBUGFILE('D:\TEST.TXT','TBUYHOLDINGEX='&NUMTOSTR(TBUYHOLDINGEX(AC,_P,1),0) & '   Dcon1='&NUMTOSTR(Dcon1,0)& '   Dct1='&NUMTOSTR(Dct1,1),1);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2023-11-5
曾用名:
 楼主| 发表于 2023-11-8 10:48 | 显示全部楼层
技术006 发表于 2023-11-8 08:41
直接在相关条件的位置增加debugfile调试输出下,TBUYHOLDINGEX(AC,_P,1)>0 and Dcon1 and Dct1=0这个条件的 ...



还是不行,正常来说在10.33分应该可以平1手的,触发条件为DCON1,但实际没有平仓
Dcon1:var15=1;
Dcon2:var15=1 and high>h2;


if TBUYHOLDINGEX(AC,_P,1)>0 and Dcon1 and Dct1=0 then
begin
Dct1:=Dct1+1;      
TSELL(1,1,LMT,DYNAINFO2(20,_P),0,AC,_P);
end




if TBUYHOLDINGEX(AC,_P,1)>0 and Dcon2 and Dct2<=1 then
begin
Dct2:=Dct2+1;
TSELL(1,0,LMT,DYNAINFO2(20,_P),0,AC,_P);
end


if TBUYHOLDINGEX(AC,_P,1)=0 then
begin
Dct1:=0;
Dct2:=0;


END
DEBUGFILE('D:\TEST1.TXT','TBUYHOLDINGEX='&NUMTOSTR(TBUYHOLDINGEX(AC,_P,1),0) & 'Dcon1='&NUMTOSTR(Dcon1,0)& 'Dct1='&NUMTOSTR(Dct1,1),1);



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-1 20:57 , Processed in 0.120351 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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