金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 文书平

仓位

[复制链接]

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-1-29 21:04 | 显示全部楼层
前高预警屏蔽:FILTER(前高预警,20);
IF -10<=HOLDING and HOLDING <=10  THEN BEGIN
IF HOLDING<=10 and  前高预警 AND   前高预警屏蔽 and ENTERBARS>0 THEN BEGIN   //平空单
  前高预警多平1:SELL(1,holding,MARKET),ORDERQUEUE;
END
  IF -10<=HOLDING  and  前高预警 AND   前高预警屏蔽    THEN BEGIN
  前高预警空开1:BUYSHORT(1,ORDVOL,MARKET);
前高预警挂空:BUYSHORT(前高预警   and -10<holding ,ORDVOL,LIMITR,c22+5*MINDIFF),IGNORECHECKPRICE;//以前10周期内最高价减5个点开空
h1:=h20;
l1:=l20;
end       
       
end


唯一不同的地方,什么原因确实不懂!


BETWEEN(HOLDING,-10,10)
-10<=HOLDING and HOLDING <=10
-10<=HOLDING <=10
截图202301292051065831.png
截图202301292051213559.png
截图202301292051355859.png
截图202301292058309812.png
截图202301292058492209.png
截图202301292102123584.png
截图202301292103419813.png
回复

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-1-29 21:08 | 显示全部楼层
-10<=HOLDING or HOLDING<=10
截图202301292108044587.png
回复

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-1-29 21:14 | 显示全部楼层
并且
同时
截图202301292114184660.png
回复

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-1-29 21:19 | 显示全部楼层
-10<=HOLDING or HOLDING<=10
截图202301292118431917.png
回复

使用道具 举报

37

主题

9981

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-1-29 21:42 | 显示全部楼层
本帖最后由 技术006 于 2023-1-29 22:32 编辑

你代码逻辑不同,结果怎么可能会相同,不要本末倒置。

1. -10<=HOLDING or HOLDING<=10  这种写法HOLIDNG=100时,它也是成立的。因为-10<=HOLDING成立
2.-10<=HOLDING and HOLDING<=10 这种才是表示的范围
你自己单独弄个两句测试代码,。自己在图表上自己看。这种基础类的语法理解不了,建议你从好好学习下基础语法。
或者你自己多空分别判断。多头的范围是0<=HOLDING or HOLDING<=10 ;空头同理。

3.用BETWEEN和-10<=HOLDING and HOLDING <=10效果应该是一样的。BETWEEN函数就是基于后者的逻辑提供的。除非你代码改的有问题。

4.-10<= HOLDING<=10这种错误表达式就不要浪费时间。它作为条件就是一直成立。有没有都是一样的效果。


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

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-1-29 22:55 | 显示全部楼层
技术006 发表于 2023-1-29 21:42
你代码逻辑不同,结果怎么可能会相同,不要本末倒置。

1. -10

BETWEEN 和 -10<=HOLDING or HOLDING<=10 效果一模一样,没有0.1的差别你看我的截图
回复

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-1-29 22:59 | 显示全部楼层
BUYSHORT(-10<=HOLDING-ORDVOL,if(-10>=HOLDING-ORDVOL,10+holding,ORDVOL),MARKET); 前面关注点在and上面  这里正负改一下 但不影响上面的问题。
IF BETWEEN(HOLDING,-10,10)  THEN BEGIN   //(这里是一个前提条件,真正的判断在下面的HOLDING)
IF HOLDING<=10 and  前高预警 AND   前高预警屏蔽 and ENTERBARS>0 THEN BEGIN
回复

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-1-29 23:12 | 显示全部楼层
技术006 发表于 2023-1-29 21:42
你代码逻辑不同,结果怎么可能会相同,不要本末倒置。

1. -10

if -10<=HOLDING or HOLDING<=10 THEN BEGIN   ;//当持有空单且大于-10手 或者持有多单小于10手.作为图表交易,这里只能单方向限制手数。
我这里我理解为有空单或者有多单的情况下,但有不会同时持有的:

IF HOLDING<=10 and  前高预警 AND   前高预警屏蔽 and ENTERBARS>0 THEN BEGIN
//这里是持有多单的情况下平仓 跟空单无关,不能同时持有。
IF -10<=HOLDING  and  前高预警 AND   前高预警屏蔽    THEN BEGIN
//这里是持有空单且小于-10的情况下 跟多单又无关了。
后台交易可以多空同时持有可能情况不一样,但是这里,望老师再理理?
回复

使用道具 举报

107

主题

813

帖子

813

积分

等级: 免费版

注册:
2022-12-12
曾用名:
 楼主| 发表于 2023-1-29 23:18 | 显示全部楼层
目前的情况是手数完全限制在10手以内,包含10手且回测和图形都正常,但是用AND就是另外一种情况。
BETWEEN 和 -10<=HOLDING or HOLDING<=10 的效果没有一丝差别。

BUYSHORT(-10<=HOLDING-ORDVOL,if(-10>=HOLDING-ORDVOL,10+holding,ORDVOL),MARKET); //空单持有限制边界
BUYSHORT(HOLDING+ORDVOL<=10,if(HOLDING+ORDVOL>=10,10-holding,ORDVOL),MARKET);//多单持有限制边界
回复

使用道具 举报

37

主题

9981

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-1-30 00:03 | 显示全部楼层
本帖最后由 技术006 于 2023-1-30 00:20 编辑

后台直接根据多空方向直接分别读取多空的持仓就行,条件处理的逻辑上是想通的。不过你图表策略都写成这个样子,还想着后台?贪多嚼不烂。不要太高估自己能力。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-12 19:42 , Processed in 0.142634 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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