金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 222|回复: 11

交易次数问题

[复制链接]

38

主题

87

帖子

87

积分

Rank: 2

等级: 标准版

注册:
2021-6-30
曾用名:
发表于 2024-11-11 12:12 | 显示全部楼层 |阅读模式
请问如何实现以下逻辑:
条件:满足A条件(突破)开多,如果B条件成立(突破失败,往下回落)平多开空。如果又拉升,此时又重新满足了A条件,再次开多。

如果直接用:交易次数=0,开仓后交易次数=交易次数+1来实现的话,那么第一次满足A条件就会多次开仓。如何实现控制在第二次满足A条件时再开仓呢?

谢谢!
回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-11-11 13:01 | 显示全部楼层
用全局变量来控制
variable:n=0;

if n=1 and 条件 then buy(1,1,marketr);
if n=0 and 条件 then n:=1;

这样只有第二次满足条件时候才会开仓
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

38

主题

87

帖子

87

积分

Rank: 2

等级: 标准版

注册:
2021-6-30
曾用名:
 楼主| 发表于 2024-11-11 16:59 | 显示全部楼层
技术008 发表于 2024-11-11 13:01
用全局变量来控制
variable:n=0;

请问buy(1,1,marketr)中的第一个1,到底代表哪些条件成立呢?
回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-11-11 17:21 | 显示全部楼层
第一个1就是条件满足,因为写在if里面了所以buy这类条件就直接1了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

38

主题

87

帖子

87

积分

Rank: 2

等级: 标准版

注册:
2021-6-30
曾用名:
 楼主| 发表于 2024-11-13 22:24 | 显示全部楼层
技术008 发表于 2024-11-11 17:21
第一个1就是条件满足,因为写在if里面了所以buy这类条件就直接1了

if 开多条件 and 交易次数=0 then BEGIN
        buy(1,ss,market);
        交易次数=交易次数+1;
end

请问这样写的策略为什么还是有两次开仓呢?


补充内容 (2024-11-13 22:24):


补充内容 (2024-11-13 22:24):
回复

使用道具 举报

38

主题

87

帖子

87

积分

Rank: 2

等级: 标准版

注册:
2021-6-30
曾用名:
 楼主| 发表于 2024-11-13 22:25 | 显示全部楼层
补充图。
截图202411132224561791.png
回复

使用道具 举报

14

主题

223

帖子

308

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-18
曾用名:
发表于 2024-11-14 09:24 | 显示全部楼层
2楼的示例,您没有吃透,本例在2楼的基础上,加了注释,供您参考

用全局变量来控制是第几次突破
variable:n=0;//记录突破次数

if 开多条件 and n=1 and holding=0 then begin
buy(1,1,market);
n:=0;//第二次突破开仓后,n初始化为0
end
if 开多条件 and n=0 and holding=0 then n:=1;//没有持仓后,第一次突破后,n置1,开启开多仓开关
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

38

主题

87

帖子

87

积分

Rank: 2

等级: 标准版

注册:
2021-6-30
曾用名:
 楼主| 发表于 2024-12-6 17:18 | 显示全部楼层
技术007 发表于 2024-11-14 09:24
2楼的示例,您没有吃透,本例在2楼的基础上,加了注释,供您参考

用全局变量来控制是第几次突破

不好意思,我还是没能理解。
先说另一个问题:

//全局变量
variable:交易次数=0;
//交易系统
if 交易次数<2 and 开多条件  then begin
开多:BUY(1,手数,MARKET);
交易次数=交易次数+1;
end

这样写的程序,我理解应该只有第一次和第二次开仓,为什么有交易日出现了4次开仓呢?



补充内容 (2024-12-6 17:19):


补充内容 (2024-12-6 17:19):
回复

使用道具 举报

38

主题

87

帖子

87

积分

Rank: 2

等级: 标准版

注册:
2021-6-30
曾用名:
 楼主| 发表于 2024-12-6 17:19 | 显示全部楼层
如图
截图202412061719262704.png
回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-6 17:19 | 显示全部楼层
本帖最后由 技术008 于 2024-12-6 17:22 编辑

你在图上看下呢,有4个开仓信号吗有的话你输出这个全局变量看下,是不是哪里又给他减小了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 18:48 , Processed in 0.241533 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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