金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 395|回复: 3

求助,跨周期调用数据问题!

[复制链接]

2

主题

4

帖子

4

积分

Rank: 1

等级: 新手上路

注册:
2023-7-17
曾用名:
发表于 2025-2-18 09:29 | 显示全部楼层 |阅读模式
本帖最后由 许琦 于 2025-2-18 09:29 编辑

系统逻辑:
开仓条件:
1、1 小时图 macd 指标大于0,可以在小周期开多单。反之,1小时图 macd 指标小于0,可以在小周期开空单。
2、开仓时,该品种没有持仓,也即开新仓时该品种前期持仓已经全部清仓。
3、5 分图均线 5 周期线对应价格大于60 周期线对应价格,且最后一根 k 线收盘价大于 60 周期线对应价格,同时 5 分图 kdj 指标的 k 值 大于 d 值,开多单;5 分图均线 5 周期线对应价格小于 60 周期线对应价格,且最后一根 k 线收盘价小于 60 周期线对应价格,同时 5 分图 kdj 指标的 k 值 小于 d 值,开空单。
4、 无论多空开仓,需同时满足 1、2、3 项设置的所有条件。
平仓条件:
5、为 5分图均线 5 周期线对应价格小于 60 周期线对应价格,且最后一根 k 线收盘价小于 60 周期线对应价格,多单平仓;反之,空单平仓。

小周期调用大周期数据


DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;

MA5:MA(C,N1);
MA60:MA(C,N2);

手数:=ss;

a:=stkindi('','macd',0,24,1)>0;
a1:=stkindi('','macd',0,24,1)<0;

if ma5>ma60 and c>ma60 and k>d and a then
begin
sellshort(1,holding,marketr);
buy(1,1,marketr);
end

if ma5<ma60 and c<ma60 and k<d and a1 then
begin
sell(1,holding,marketr);
buyshort(1,1,marketr);
end

if ma5<ma60 and c<ma60 and holding>0 then sell(1,holding,marketr);
if ma5>ma60 and c>ma60 and holding<0 then sellshort(1,holding,marketr);

公式编译正常,但加载程序后没有信号,请老师看下问题在哪?谢谢!
变量.png
回复

使用道具 举报

38

主题

9989

帖子

9999

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-18 09:31 | 显示全部楼层
看stkindi函数说明要引用指标下某个指标线的,你macd里面要有一个指标线定义好,这边以macd1为例子

建议看下函数范例,里面有引用均线下某个均线的例子的,引用指标都是引用某个公式下某条指标线这样写的
a:=stkindi('','macd,macd1',0,24,1)>0;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

4

帖子

4

积分

Rank: 1

等级: 新手上路

注册:
2023-7-17
曾用名:
 楼主| 发表于 2025-2-18 10:11 | 显示全部楼层
谢谢老师回复,,根据我的理解,把a和a1改成下面的形式,编译正常信号还是显示不出来?还得请您再看看

a:=stkindi('','macd,diff',0,24,1)>stkindi('','macd,dea',0,24,1);
a1:=stkindi('','macd,diff',0,24,1)<stkindi('','macd,dea',0,24,1);

回复

使用道具 举报

38

主题

9989

帖子

9999

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-18 10:12 | 显示全部楼层
a:stkindi('','macd,diff',0,24,1);

这样输出看下引用过来的diff值有没有
另外macd公式中要有diff定义,定义必须写成diff:的形式
不可以写diff:=的形式
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-20 05:04 , Processed in 0.118509 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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