金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 34|回复: 15

请帮忙修改一下交易程序,谢谢

[复制链接]

1

主题

12

帖子

12

积分

Rank: 1

等级: 新手上路

注册:
2024-11-5
曾用名:
发表于 2024-11-13 15:14 | 显示全部楼层 |阅读模式
VARIABLE:CNT=0;
涨率:=10;
RC1:=REF(C,1);
YS:=MOD((10000+100*涨率)*RC1,100);
TDOWN:=((10000+涨率*100)*RC1-YS)/10000;
TUP:=TDOWN+0.01;
TING:=IF(YS>=50,TUP,TDOWN);
涨停:=ABS(C-TING)<0.03 AND H=C;

DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD:=(DIF-DEA)*2;
BPJ:REF(L,BARSLAST(涨停));

DYDI1:L<=BPJ*1.02;

IF DATE<>REF(DATE,1) THEN BEGIN
        CNT:=0;
END

//
INPUT:ZJ(30000,1,100000,1);
下单资金量:=ZJ;
SS1:=INTPART(下单资金量/(C*100))*100;//根据资金ZJ计算的开仓股数
SS:=IF(SS1>0,SS1,100); //实际下单的股数,SS作为开仓股数
IF DYDI1 AND CNT=0 THEN BEGIN
   buy(ss,bpj*1.01);
        CNT:=1;
END

现在遇到的问题是,程序不能按照指定的价格bpj*1.01,去挂单SS股,请管理大神帮我优化程序让它正确运行


回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-11-13 15:15 | 显示全部楼层
INPUT:ZJ(30000,1,100000,1);
下单资金量:=ZJ;
SS1:=INTPART(下单资金量/(C*100))*100;//根据资金ZJ计算的开仓股数
SS:=IF(SS1>0,SS1,100); //实际下单的股数,SS作为开仓股数
IF DYDI1 AND CNT=0 THEN BEGIN
   buy(1,ss,limitr,bpj*1.01);
        CNT:=1;
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

12

帖子

12

积分

Rank: 1

等级: 新手上路

注册:
2024-11-5
曾用名:
 楼主| 发表于 2024-11-13 15:25 | 显示全部楼层
非常谢谢,我明天再运行试试。
回复

使用道具 举报

1

主题

12

帖子

12

积分

Rank: 1

等级: 新手上路

注册:
2024-11-5
曾用名:
 楼主| 发表于 2024-11-13 15:35 | 显示全部楼层
技术008 发表于 2024-11-13 15:15
INPUT:ZJ(30000,1,100000,1);
下单资金量:=ZJ;
SS1:=INTPART(下单资金量/(C*100))*100;//根据资金ZJ计算 ...

另外我发现,这个写法会把涨停当天也默认加入了买入指令,如何优化一下,去除这个错误呢?
回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-11-13 15:36 | 显示全部楼层
开仓条件加一个c<ref(c,1)*1.09
自己判断 只能
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

12

帖子

12

积分

Rank: 1

等级: 新手上路

注册:
2024-11-5
曾用名:
 楼主| 发表于 2024-11-13 15:36 | 显示全部楼层
如图所示,圈出来的是错误指令
截图202411131535516035.png
回复

使用道具 举报

1

主题

12

帖子

12

积分

Rank: 1

等级: 新手上路

注册:
2024-11-5
曾用名:
 楼主| 发表于 2024-11-13 15:39 | 显示全部楼层

那程序会按照今天的满足条件挂单吗?我早上没用buy(1,ss,limitr,bpj*1.01),直接是buy(ss,bpj*1.01),系统直接挂的涨停价格成交了100股。
回复

使用道具 举报

1

主题

12

帖子

12

积分

Rank: 1

等级: 新手上路

注册:
2024-11-5
曾用名:
 楼主| 发表于 2024-11-13 15:40 | 显示全部楼层
成交的价格和数量都不对,按照buy(ss,bpj*1.01),执行的。今早上
截图202411131540081707.png
回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-11-13 15:41 | 显示全部楼层
buy(1,ss,limitr,bpj*1.01)
这个才是完整写法,你可以去看buy函数说明,每个参数的含义都是不一样的不能乱填位置的

用法:
BUY(COND,V,Type,P);
表示当COND条件成立时,
买入V股(手)当前品种,
TYPE表示买入类型,
P表示买入价格或者保护价,所有参数均可以省略。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

12

帖子

12

积分

Rank: 1

等级: 新手上路

注册:
2024-11-5
曾用名:
 楼主| 发表于 2024-11-13 15:42 | 显示全部楼层
好的,谢谢,我明天用模拟盘测试一次
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 00:52 , Processed in 0.288836 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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