金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3056|回复: 8

请教写法

[复制链接]

43

主题

162

帖子

172

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
发表于 2023-6-9 10:51 | 显示全部楼层 |阅读模式
求条件满足时的那根BAR的开盘价if con=1 then price:=?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-9 10:58 | 显示全部楼层
有多种方式,一种是全局变量,但是一般简单的没必要这样做。你上面那个写法就是全局变量写法的逻辑,即判断条件是否满足,满足时候赋值,再下次满足条件之前记录的值不变。

你可以这样子:
VALUEWHEN(con,open)
用这个函数处理即可
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

43

主题

162

帖子

172

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
 楼主| 发表于 2023-6-9 12:48 | 显示全部楼层
variable:position=0;
variable:con=0;
variable:price=0;

IF REF(BUYCOND,1) THEN BEGIN
        SELLSHORT(1,0,LIMITR,O+HD1*MINDIFF);
        con:=0;
        position:=0;
        price:=0;
        if  position=0  then BEGIN
                BUY(HOLDING=0,CW%,LIMITR,O-HD*MINDIFF);
                con:=con+1;               
                position:=1;
                if con=1 then price:=open;
        end
end       

jdcd:=(ZG-price)/price>=ZY*0.2*con;
if position =1 and con<num and jdcd then BEGIN
        buy(holding>0,jcw%,market);
        con:=con+1;
end
老师帮我看一下问题出在哪里:
1.price没有恒定在第一次开仓的那个价格;
2.开仓或加仓后还未平仓,con的值会递减为0。
回复

使用道具 举报

43

主题

162

帖子

172

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
 楼主| 发表于 2023-6-9 12:52 | 显示全部楼层
输出1:con;
输出2:POSITION;
输出3:price;
截图202306091252034286.png
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-9 12:53 | 显示全部楼层
这种和开平仓时候一致进行的动作,一定要留意一点,条件要一致。

实际你这里并不一致。因为你开仓有一个holding=0的的判断,平仓默认是需要有仓位的。但是全局变量的操作你没有使用到仓位控制。

variable:position=0;
variable:con=0;
variable:price=0;

IF REF(BUYCOND,1)  THEN BEGIN
if  holding<0 then
begin
SELLSHORT(1,0,LIMITR,O+HD1*MINDIFF);
con:=0;
position:=0;
price:=0;
end
if  position=0 and HOLDING=0 then BEGIN
                BUY(1,CW%,LIMITR,O-HD*MINDIFF);
                con:=con+1;               
                position:=1;
                if con=1 then price:=open;
        end
end      

jdcd:=(ZG-price)/price>=ZY*0.2*con;
if position =1 and con<num and jdcd and holding>0 then BEGIN
        buy(holding>0,jcw%,market);
        con:=con+1;
end
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

43

主题

162

帖子

172

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
 楼主| 发表于 2023-6-9 13:11 | 显示全部楼层
IF REF(BHT,1) OR REF(BHT1,1) OR REF(BHT2,1) OR REF(BHT3,1) OR REF(BHT4,1) and holding>0 THEN BEGIN
        SELL(1,0,LIMITR,O-HD1*MINDIFF);
        con:=0;
        position:=0;
        price:=0;
END
IF REF(BUYCOND,1) THEN BEGIN
        if holding<0 then BEGIN               
                SELLSHORT(1,0,LIMITR,O+HD1*MINDIFF);
                con:=0;
                position:=0;
                price:=0;
        end
        if  position=0 and HOLDING=0 then BEGIN
                BUY(1,CW%,LIMITR,O-HD*MINDIFF);
                con:=con+1;               
                position:=1;
                if con=1 then price:=open;
        end
end       

jdcd:=(ZG-price)/price>=ZY*0.2*con;
if position =1 and con<num and jdcd and holding>0 then BEGIN
        buy(1,jcw%,market);
        con:=con+1;
end

con值还是有问题,我没平仓con值归0是什么原因啊?
截图202306091310232361.png
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-9 13:18 | 显示全部楼层
上面代码来看是没问题的。如果还有问题,只能看其余部分代码里的逻辑了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

43

主题

162

帖子

172

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
 楼主| 发表于 2023-6-9 13:23 | 显示全部楼层
涉及con的代码也就是开平仓语句里的,其它的代码会对其造成干扰吗?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-9 13:41 | 显示全部楼层
还有一种可能,我注意到你这里是限价下单的。 你看下历史位置是不是有无效单。因为默认报单价格超出K线最高最低价范畴算无效单,这种无效信号结果就是 仓位没平掉,但是全局变量的重置执行了。



这个只是猜测,具体你最好提供下更多代码,才好进一步判断。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-14 12:46 , Processed in 0.150529 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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