金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3874|回复: 6

请老师帮忙看看这代码哪里错了

[复制链接]

25

主题

91

帖子

91

积分

等级: 免费版

注册:
2022-11-17
曾用名:
发表于 2022-11-18 22:49 | 显示全部楼层 |阅读模式
老师,能辛苦帮我修改一下这个策略代码吗?金字塔系统编译正常,但不开仓,我不知道哪里错了。感谢



input:ss(1,1,100,1),N1(5,1,100,1),N2(10,1,100,1),N3(30,1,100,1);
//准备需要的中间变量
EMA5:EMA(CLOSE,N1);
EMA10:EMA(CLOSE,N2);
EMA30:EMA(CLOSE,N3);
Y:=REF(C,1) ;
A:="EMA5#DAY";
B:="EMA10#DAY";
X:="EMA30#DAY";
//多头建仓条件 ;
//符合在日线周期当前价格在30日均线之上且日线周期5日和10日均线金叉并且当前周期5日和10日均线金叉时,如果手里有空单,平掉全部空单;最新价格买入ss手多单;
Long:=CLOSE>X  AND  CROSS(A,B) AND CROSS(EMA5,EMA10) ;
if Long then
        begin
        sellshort(holding<0,holding,thisclose);
        buy(holding=0,1,thisclose);
        end
//多头平仓条件       
//当前周期5日和10日均线死叉且当前价格小于前1根K线收盘价时,平全部多单;
LongX:=CROSS(EMA10,EMA5)  AND  CLOSE<Y    AND Holding>0;
if LongX then
        begin
        sell(1,0,Limitr,c);
        END

       

回复

使用道具 举报

37

主题

9972

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-11-20 19:36 | 显示全部楼层
本帖最后由 技术006 于 2022-11-21 13:26 编辑

A:="EMA5#DAY";
B:="EMA10#DAY";
X:="EMA30#DAY";

这个不对,应该是指标名称.ema5  
注意不能自己引用自己。。这种引用都应该是被引用公式和当前公式2个
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

25

主题

91

帖子

91

积分

等级: 免费版

注册:
2022-11-17
曾用名:
 楼主| 发表于 2022-11-21 11:32 来自手机 | 显示全部楼层
A:=“EMA(CLOSE,N1)#DAY”; B:=“EMA(CLOSE,N2)#DAY”; X:=“EMA(CLOSE,N3)#DAY;             老师,是这样改吗?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-11-21 13:20 | 显示全部楼层
错了。调用的目标必须是指标,你这里不对。

2楼已经写给你看了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

25

主题

91

帖子

91

积分

等级: 免费版

注册:
2022-11-17
曾用名:
 楼主| 发表于 2022-11-21 17:39 | 显示全部楼层
input:ss(1,1,100,1),N1(5,1,100,1),N2(10,1,100,1),N3(30,1,100,1);
//准备需要的中间变量
MA5:MA(CLOSE,N1);
MA10:MA(CLOSE,N2);
MA30:MA(CLOSE,N3);
Y:=REF(C,1) ;
A:="MA.MA5#DAY";
B:="MA.MA10#DAY";
X:="MA.MA30#DAY";
//多头建仓条件 ;
//符合在日线周期当前价格在30日均线之上且日线周期5日和10日均线金叉并且当前周期5日和10日均线金叉时,如果手里有空单,平掉全部空单;最新价格买入ss手多单;
Long:=CLOSE>X  AND  CROSS(A,B) AND CROSS(MA5,MA10) ;
if Long then
        begin
        sellshort(holding<0,holding,thisclose);
        buy(holding=0,1,thisclose);
        end
//多头平仓条件      
//当前周期5日和10日均线死叉且当前价格小于前1根K线收盘价时,平全部多单;
LongX:=CROSS(MA10,MA5)  AND  CLOSE<Y    AND Holding>0;
if LongX then
        begin
        sell(1,0,Limitr,c);
        END


老师,我改了指标引用后还是不能自动开单。能帮我改改吗?
回复

使用道具 举报

37

主题

9972

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-11-21 20:58 | 显示全部楼层
你本地有ma公式,(因为默认是系统的,它的变量应该是ma1,ma2....ma4).
A:"MA.MA5#DAY";
B:"MA.MA10#DAY";
X:"MA.MA30#DAY";
改成上面的代码,如果没有变量结果显示,说明ma5这类的不存在。引用其他公式,就像叫外卖,我们要告诉外卖员小区名称和门牌号。那么小区名称就是公式名称,门牌号就是里面的被引用公式里的变量。如果我楼栋不存在,那么外卖是不是不能送到家里?小区名和门牌号是通过点连接的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

25

主题

91

帖子

91

积分

等级: 免费版

注册:
2022-11-17
曾用名:
 楼主| 发表于 2022-11-21 23:08 | 显示全部楼层
对欸,老师您这么一说真是豁然开朗,系统里默认的是M1、M2、M3、M4,根本没有M5、M10,我自己找很久想不到这个原因。改了以后就能正常开仓平仓了。只是开仓次数很少,按理说这种简单策略开平仓次数很多的。我再找找原因。再次感谢您。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 00:41 , Processed in 0.150053 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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