金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 253|回复: 3

自己编程问题太多,请老师帮忙!

[复制链接]

2

主题

4

帖子

4

积分

Rank: 1

等级: 新手上路

注册:
2023-7-17
曾用名:
发表于 2025-2-9 14:16 | 显示全部楼层 |阅读模式
开仓条件:
1、2 小时图 kdj 指标 k>d 且 d 值小于 85,可以开多单。反之,2小时图 kdj 指标 k<d,且 d 值大于 15,可以开空单。
2、开仓时,该品种没有持仓,也即开新仓时该品种前期持仓已经全部清仓。
3、3 分图均线 5 周期线对应价格向上大于60 周期线对应价格,且最后一根 k 线收盘价大于 60 周期线对应价格,同时 3 分图 kdj 指标的 k 值 大于 d 值,开多单;3 分图均线 5 周期线对应价格小于 60 周期线对应价格,且最后一根 k 线收盘价小于 60 周期线对应价格,同时 3 分图 kdj 指标的 k 值 小于 d 值,开空单;开仓和平仓即时价格滑点可设为 2 跳 或 3 跳。
4、 无论多空开仓,需同时满足 1、2、3 项设置的所有条件。
平仓条件:
5、为 3 分图均线 5 周期线对应价格小于 60 周期线对应价格,且最后一根 k 线收盘价小于 60 周期线对应价格,多单平仓;反之,空单平仓。


下面自己编的,第一行不过!!!
//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!

//适用模式:“走完一根K线以后”
//若用户模式选为“固定时间间隔”,请将"交易条件"中的CLOSE改为OPEN,避免信号闪烁。
//
//中间变量

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;

5均线 :=REF(MA( C, 5) , 1);
60均线:=REF(MA( C, 60) , 1);

手数:=SS;
//交易条件

开多条件:=CROSS(K,D) and d<85 and  C >  5均线 and  5均线 > 60均线 ;//开多条件

平多条件:= C >5均线 and  5均线 > 60均线;//平多条件

开空条件:=CROSS(D,K) and d>15 and  C <5均线 and  5均线 < 60均线;//开空条件

平空条件:= C > 5均线 and  5均线 > 60均线;//平空条件

//交易系统
平空:SELLSHORT(平空条件,手数,MARKET);
平多:SELL(平多条件,手数,MARKET);
开多:BUY(开多条件,手数,MARKET);
开空:BUYSHORT(开空条件,手数,MARKET);

当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;

//注意交易系统先开后平的原则


回复

使用道具 举报

36

主题

9364

帖子

9374

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-10 09:11 | 显示全部楼层
a:=stkindi('','kdj.k',0,24,2)>stkindi('','kdj.d',0,24,2);
a1:=stkindi('','kdj.d',0,24,2)<85;
b:=stkindi('','ma.ma5',0,21,3)>stkindi('','ma.ma60',0,21,3);
b1:=c>stkindi('','ma.ma60',0,21,3);
c1:=stkindi('','kdj.k',0,21,3)>stkindi('','kdj.d',0,21,3);


ka:=stkindi('','kdj.k',0,24,2)<stkindi('','kdj.d',0,24,2);
ka1:=stkindi('','kdj.d',0,24,2)>15;
kb:=stkindi('','ma.ma5',0,21,3)<stkindi('','ma.ma60',0,21,3);
kb1:=c<stkindi('','ma.ma60',0,21,3);
kc1:=stkindi('','kdj.k',0,21,3)<stkindi('','kdj.d',0,21,3);

if a and a1 and b and b1 and c1 and holding<=0 then
begin
        sellshort(1,holding,marketr);
        buy(1,1,marketr);
END

if ka and ka1 and kb and kb1 and kc1  and holding>=0  then
begin
        sell(1,holding,marketr);
        buyshort(1,1,marketr);
END

if kb and holding>0 and kb1 then sell(1,holding,marketr);
if b and holding<0 and b1 then sellshort(1,holding,marketr);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

4

帖子

4

积分

Rank: 1

等级: 新手上路

注册:
2023-7-17
曾用名:
 楼主| 发表于 2025-2-10 11:07 | 显示全部楼层
技术008 发表于 2025-2-10 09:11
a:=stkindi('','kdj.k',0,24,2)>stkindi('','kdj.d',0,24,2);
a1:=stkindi('','kdj.d',0,24,2)stkindi('', ...

先谢谢技术老师的回复,我把公式加载上去,编译也没问题,但就是不显示信号?麻烦再给看一下
回复

使用道具 举报

36

主题

9364

帖子

9374

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-10 11:09 | 显示全部楼层
stkindi要跨周期引用的,kdj还有ma公式中ma5 ma60这些你自己要事先定义好

另外学会去调试输出条件看比如

a:stkindi('','kdj.k',0,24,2)>stkindi('','kdj.d',0,24,2);
这样在图上就能看到2小时k的引用过来是多少

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-3-12 12:27 , Processed in 0.222248 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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