金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
12
返回列表 发新帖
楼主: 106379

关于内外盘取值

[复制链接]

28

主题

197

帖子

197

积分

Rank: 4

等级: 专业版

注册:
2025-9-29
曾用名:
 楼主| 发表于 2026-2-12 13:23 | 显示全部楼层
资深技术05 发表于 2026-2-12 13:14
啥意思,取整都是舍掉小数位,到个数的。

舍掉个位取整到十位。
回复

使用道具 举报

2

主题

6180

帖子

6180

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2026-2-12 13:40 | 显示全部楼层
p:vol;
px:10*floor(vol/10);


回复

使用道具 举报

28

主题

197

帖子

197

积分

Rank: 4

等级: 专业版

注册:
2025-9-29
曾用名:
 楼主| 发表于 2026-2-12 14:18 | 显示全部楼层
资深技术05 发表于 2026-2-12 13:40
p:vol;
px:10*floor(vol/10);

我想将股票池设置成为在开盘以后,每隔1分钟筛选一次,并且将原先筛选出来的股票删除清空,重新筛选出一批新的股票要怎么设置才能实现?
回复

使用道具 举报

2

主题

6180

帖子

6180

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2026-2-12 14:45 | 显示全部楼层
股票池这里的设置大致按照这样设置就可以了:

本帖子中包含更多资源

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

x
回复

使用道具 举报

28

主题

197

帖子

197

积分

Rank: 4

等级: 专业版

注册:
2025-9-29
曾用名:
 楼主| 发表于 2026-2-13 10:06 | 显示全部楼层
资深技术05 发表于 2026-2-12 14:45
股票池这里的设置大致按照这样设置就可以了:

请问如何给交易模型的交易次数设个限制,比如每天只能买入一次或者两次,其他时候再次符合买入标准也不再买入了要怎么才能实现呢?这个模型可以用于图表回测。麻烦再给一个可以用于后台实盘交易的模型。
回复

使用道具 举报

2

主题

6180

帖子

6180

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2026-2-13 10:13 | 显示全部楼层
参考这个帖子:
https://www.weistock.com/bbs/for ... &extra=page%3D3

但是要注意 这些次数仅针对单品种的。
回复

使用道具 举报

28

主题

197

帖子

197

积分

Rank: 4

等级: 专业版

注册:
2025-9-29
曾用名:
 楼主| 发表于 2026-2-13 10:25 | 显示全部楼层
资深技术05 发表于 2026-2-13 10:13
参考这个帖子:
https://www.weistock.com/bbs/forum.php?mod=viewthread&tid=55&extra=page%3D3

单品种就是说我只能交易一个品种吗?如果一个模型同时交易多个品种怎么办?
回复

使用道具 举报

2

主题

6180

帖子

6180

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2026-2-13 13:35 | 显示全部楼层
如果是图表,肯定没办法约束不同品种在一起的交易次数的,图表窗口是完全隔离独立的。

如果是后台,多品种使用前面链接提供的范例是可以使用的,只是不够稳健,存在一些边界情况,比如你下单失败之类的情况,它也会算一次 这种无法很好的识别。





回复

使用道具 举报

28

主题

197

帖子

197

积分

Rank: 4

等级: 专业版

注册:
2025-9-29
曾用名:
 楼主| 发表于 2026-2-13 15:11 | 显示全部楼层
资深技术05 发表于 2026-2-13 13:35
如果是图表,肯定没办法约束不同品种在一起的交易次数的,图表窗口是完全隔离独立的。

如果是后台,多品 ...

// 初始化交易计数器(使用EXTGB超全局变量)
IF DATE <> REF(DATE,1) THEN BEGIN
    EXTGBDATASET('TODAY_TRADE_COUNT', 0);
    DEBUGFILE('D:\trade_log.txt', '==== 交易日重置计数器 ==== %.0f', DATE);
END;

// 下单前检查
MAX_TRADES := 5;  // INPUT参数化
IF TENTERBARS(0)=0 AND EXTGBDATA('TODAY_TRADE_COUNT') < MAX_TRADES THEN BEGIN
    TBUY(1, MKT);
    EXTGBDATASET('TODAY_TRADE_COUNT', EXTGBDATA('TODAY_TRADE_COUNT') + 1);
    DEBUGFILE('D:\trade_log.txt', '%.0f %s 开仓 当日计数%.0f',
        TIME, STKLABEL, EXTGBDATA('TODAY_TRADE_COUNT'));
END;
Counter_Name := 'TRADE_' + STKLABEL;
IF DATE <> REF(DATE,1) THEN EXTGBDATASET(Counter_Name, 0);

// 信号触发逻辑
IF CROSS(MA5,MA10) AND EXTGBDATA(Counter_Name) < 3 THEN BEGIN
    TBUY(1, MKT);
    EXTGBDATASET(Counter_Name, EXTGBDATA(Counter_Name) + 1);
END;
麻烦帮我看一下,AI给的这个可以吗?
回复

使用道具 举报

2

主题

6180

帖子

6180

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2026-2-13 15:19 | 显示全部楼层
不对。你这个重置逻辑:DATE <> REF(DATE,1)   在第一个K上会一直触发。如果你在此期间下单了,是不会被记录的。

其他语句中的语法错误也有好几个。  你就参考前面帖子里的就行,逻辑是一样的,只需要再补一个不在收盘K开仓的条件就行了,因为收盘K会一直重置记录,肯定没法限制下单了。
[PEL] 复制代码
//点击工具--数据管理--全局变量,创建一个全局变量NUM,初始值设为3,表示交易次数限定为3次。
 
//该策略适用于后台程序化交易
//该策略适用于分钟周期
//使用单值全局变量,来限定一天只交易3次
CS:=3;//限定一天最多交易3次
MA5:MA(CLOSE, 5);
MA20:MA(CLOSE, 20);
COND1:=CROSS(MA5,MA20);
COND2:=CROSS(MA20,MA5);
 
IF COND2 AND THOLDING>0 THEN TSELL(1,1,LMT,CLOSE);       //平仓
NUM:=EXTGBDATA('NUM');                                                     //获取单值全局变量,来控制当天交易次数
IF COND1 AND THOLDING=0 AND NUM< CS and not(TIME=CLOSETIME(0))  THEN                   //开仓
BEGIN
   TBUY(1,1,LMT,CLOSE);
    EXTGBDATASET('NUM',NUM+1);
END
IF TIME=CLOSETIME(0) THEN EXTGBDATASET('NUM',0); // CLOSETIME(0)是取商品期货最后一节的交易时间,收盘时,NUM赋值为0。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-13 16:31 , Processed in 0.144013 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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