金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
12
返回列表 发新帖
楼主: 我心依旧

请教老师,为什么回测开多平多一个价格?

[复制链接]

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-25 10:45 | 显示全部楼层
INITIAL_PRICE:=ref(close,1);
variable:flag1=0,flag2=0;
// 计算 BBI(布林通道中轨)
BBI := (HHV(H,20) + LLV(L,20) + CLOSE)/3;

// 计算 KDJ
RSV:= (CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);


// 当前价格与基准价比较
PRICE_CHANGE := (CLOSE - INITIAL_PRICE) / INITIAL_PRICE;

// 卖出条件
IF PRICE_CHANGE >= 0.08 and flag1=0 and time<145500 THEN BEGIN
    sell(1,holding/2, marketr); // 卖出二分之一持仓
    flag1:=1;

END

IF PRICE_CHANGE >= 0.20 and flag1=1 and time<145500 THEN BEGIN
    sell(1,holding/1, marketr);  // 卖出所有持仓
    flag1:=0;
END

IF PRICE_CHANGE <= -0.06 and flag2=0 and time<145500 THEN BEGIN
    sell(1,holding/2, marketr); // 卖出二分之一持仓
    flag2:=1;
   
END

IF PRICE_CHANGE <= -0.10 and flag2=1 and time<145500 THEN BEGIN
    sell(1,holding/1, marketr);  // 卖出所有持仓
    flag2:=0;
END

// BBI 和K 线、 D线交易逻辑
IF CLOSE > BBI AND C > D and holding<=5000 and time<145500 THEN BEGIN
    buy(1,500, marketr); // 买入 500 股,价格不得高于昨收盘价的 1.07 倍
END

IF BBI < CLOSE AND C < D and time<145500 THEN BEGIN
    平3:sell(1,holding, marketr); // 卖出前次买入的 500 股
END
//在kdj指标中定义cond:cross(d,k)
IF stkindi('','kdj.cond',0,7,0) and time<145500 THEN BEGIN
    sell(1,holding, marketr);
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-25 10:46 | 显示全部楼层
本地测试和你不一样,建议自己图上信号位置输出条件学习分析下

类似后面一个图,平仓语句前面可以给他起一个名字这样知道是哪一个平仓语句,然后前面输出下条件看下这个条件情况

本帖子中包含更多资源

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

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

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-25 10:46 | 显示全部楼层
代码策略这东西,重要的维护分析啥的还是需要您自己花一点时间去看下

工作人员可能写的和你想的有时候有出入,这时候您自己要学会去分析条件图上看
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

5

主题

26

帖子

26

积分

Rank: 1

等级: 新手上路

注册:
2025-1-26
曾用名:
 楼主| 发表于 2025-2-25 10:51 | 显示全部楼层
止损止盈条件都很严格,不可能买入就卖出啊!
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-25 10:52 | 显示全部楼层
所以你可以输出条件看下在平仓条件前面
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-25 10:52 | 显示全部楼层
而且我本地信号和你那边不一样
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-25 10:53 | 显示全部楼层
电话我
021-20339087
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

5

主题

26

帖子

26

积分

Rank: 1

等级: 新手上路

注册:
2025-1-26
曾用名:
 楼主| 发表于 2025-2-25 11:01 | 显示全部楼层
老师,我现在把跨周期清仓的条件去除了,回测变正常了。

是否我跨周期设置有什么问题?
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-25 11:03 | 显示全部楼层
//在kdj指标中定义cond:cross(d,k)
IF stkindi('','kdj.cond',0,7,0) and time<145500 THEN BEGIN
    sell(1,holding, marketr);
END


这也就一个跨周期啊,而且这个是周线得kdj指标,你可以前面输出这个引用过来得指标看对不对

所以电话我把
一直建议你要试着自己去图上调试输出看,否者你永远不知道为什么得
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-25 11:11 | 显示全部楼层
//在kdj指标中定义cond:cross(k,d);
aa:stkindi('','kdj.cond',0,7,0);
IF stkindi('','kdj.cond',0,7,0) and time<145500 THEN BEGIN
    sell(1,holding, marketr);
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-17 05:56 , Processed in 0.095733 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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