金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 226|回复: 4

老师帮我看,哪里有错,帮忙改一下

[复制链接]

5

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2025-7-17
曾用名:
发表于 2025-7-29 11:37 | 显示全部楼层 |阅读模式
老师帮我看,哪里有错,帮忙改一下
会开多又马上平多


INPUT:N(89,1,100,10);
INPUT:P1(3,2,40,4);
INPUT:P2(3,2,40,4);
INPUT:QTY(2,1,100,1);
INPUT:B(60,1,100,5);
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;
BU:=J>B;
SE:=J<(100-B);
TBUY((BU AND TBUYHOLDING(1)=0),QTY,MKT);
TSELL((SE AND TBUYHOLDING(1)>0),0,MKT);
GLOBALVARIABLE:基准价=TENTERPRICE;
平多 := TBUYHOLDING(1)>0 AND CLOSE > 基准价 * 1.007;
开多 := TBUYHOLDING(1)>0 AND CLOSE < 基准价 * 0.995;
TSELL(平多, 1, MKT);
IF TEXITVOL>=1 THEN 基准价 := TEXITPRICE;
TBUY(开多, 1, MKT);
IF TENTERVOL>=1 THEN 基准价 := TENTERPRICE;

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-7-29 13:32 | 显示全部楼层
你这个基准价更新方式有点问题
[PEL] 复制代码
INPUT:N(89,1,100,10);
INPUT:P1(3,2,40,4);
INPUT:P2(3,2,40,4);
INPUT:QTY(2,1,100,1);
INPUT:B(60,1,100,5);
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;
BU:=J>B;
SE:=J<(100-B);
TBUY((BU AND TBUYHOLDING(1)=0),QTY,MKT);
TSELL((SE AND TBUYHOLDING(1)>0),0,MKT);
GLOBALVARIABLE:基准价=0;
平多 := TBUYHOLDING(1)>0 AND CLOSE > 基准价 * 1.007 AND 基准价<>0;
开多 := TBUYHOLDING(1)>0 AND CLOSE < 基准价 * 0.995 AND 基准价<>0;

TSELL(平多, 1, MKT);
IF TEXITVOL>=1 and TTYPE(1)=3  THEN 基准价 := TEXITPRICE;

TBUY(开多, 1, MKT);
IF TENTERVOL>=1 and TTYPE(1)=1  THEN 基准价 := TENTERPRICE;


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

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2025-7-29 13:38 | 显示全部楼层
说明下你的实际需求是什么?


上面的代码中
这两句代码的条件,再发生首次平仓后,会恒成立。等同于没有条件限制。每根k都会赋值处理
IF TEXITVOL>=1 THEN 基准价 := TEXITPRICE;
IF TENTERVOL>=1 THEN 基准价 := TENTERPRICE;

而TENTERPRICE这类函数在市价委托时,没有成交之前是0。那么基准价会被赋值成0作为计算使用。

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

使用道具 举报

5

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2025-7-17
曾用名:
 楼主| 发表于 2025-8-6 22:51 | 显示全部楼层
技术006 发表于 2025-7-29 13:38
说明下你的实际需求是什么?

老师,我想要
第一次开多后就记录成交价作为基准价,然后上涨0.7%就平多1手,再更新成交价为基准价,下跌0.5%开多1手,就是网格交易。
初始开多2手,如果连平2手多,就会马上再开多2手。
如果方向转变就平多止损。
再转开空2手,下跌0.7%平空一手,上涨0.5%开空1手。
与多单同理。
谢谢
看JM01就漏了一单,
1236平多
1236*.995=1229
1229*0.995=1222
实际在1221才开多
1221*.995=1215
实际在1215开多


本帖子中包含更多资源

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

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-8-7 08:54 | 显示全部楼层
本帖最后由 技术008 于 2025-8-7 09:59 编辑

你意思自己记录的基准价和实际开仓价格不一样??这个没有办法你记录只能记录当时最新价,而mkt市价报单是无法控制成交价的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-15 13:56 , Processed in 0.109730 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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