金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 444|回复: 8

求编写止盈止损代码

[复制链接]

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2024-12-10 15:57 | 显示全部楼层 |阅读模式
A股交易 ,基于五分中K线,我需要优化出场条件

条件1:目标盈利止盈;开仓后的2天内,若盈利达到15%;则全部卖出
条件2:最大盈利回撤止盈;当最大盈利大于10%,回撤3%,则全部卖出
条件3:止损退出.当亏损大于4%;则止损退出;
条件4:开仓交易日为T0;若在T2收盘14:50分到15:00之间,1到3没有出发平仓,则到T2收盘时间,自动平仓

//开多条件
IF Sig AND HOLDING=0 THEN BEGIN
  开多:tbuy(10%,100,MKT,close),PERTRADER;
END

//平多条件,A股的T+1机制,不能当日交易;
BUY_DAY:=ref(DATE,ENTERBARS);//开仓日
DAYDIFF:TRADINGDATEDIFF(BUY_DAY,DATE);//开仓后过了几天
SCon1:DAYDIFF>=1;//当天不能交易

//条件1:目标盈利止盈;
IF SCon1
//条件2:最大回撤止盈;
//条件3:止损退出;
//条件4:目标周期退出;

回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-12-10 16:10 | 显示全部楼层
参考如下:
BUY_DAY:REF(DATE,ENTERBARS);//开仓日
DAYDIFF:TRADINGDATEDIFF(BUY_DAY,DATE);//开仓后过了几天

IF DAYDIFF>0 AND DAYDIFF<=2 AND (C-AVGENTERPRICE)/AVGENTERPRICE>0.15 THEN
   SELL(HOLDING>0,HOLDING,MARKETR);                         //条件1
   
IF DAYDIFF>0 AND (HHV(H,ENTERBARS)-AVGENTERPRICE)/AVGENTERPRICE>0.1 AND (HHV(H,ENTERBARS)-C)/AVGENTERPRICE>0.03 THEN
   SELL(HOLDING>0,HOLDING,MARKETR);                         //条件2
   
IF DAYDIFF>0 AND (AVGENTERPRICE-C)/AVGENTERPRICE>0.04 THEN
   SELL(HOLDING>0,HOLDING,MARKETR);                         //条件3
   
IF DAYDIFF=2 AND REMAININGTIME(CLOSETIME(0))<10*60 THEN
   SELL(HOLDING>0,HOLDING,MARKETR);                         //条件4
   
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-12-10 16:28 | 显示全部楼层
截图202412101628008838.png
这个警告是什么意思,我该怎么做?
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-12-10 16:43 | 显示全部楼层
1、你是写后台策略,还是图表策略啊?图表策略中才有holding,且报单语句是buy,不是tbuy啊
2、使用百分比函数PERTRADER,是有风险提示的,这个提示可以忽略。但是你的这个tbuy语句也是错误的啊,第一个参数是条件,第二个参数才是10%。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-12-10 16:47 | 显示全部楼层
技术010 发表于 2024-12-10 16:43
1、你是写后台策略,还是图表策略啊?图表策略中才有holding,且报单语句是buy,不是tbuy啊
2、使用百分比 ...

我写的是后台策略,要用于后台程序话交易的
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-12-10 16:56 | 显示全部楼层
本帖最后由 技术010 于 2024-12-10 17:07 编辑

那你的开仓条件中就不能用holding啊,修改如下:
IF SIG AND TBUYHOLDINGEX('','',2)=0 THEN BEGIN
  开多:TBUY(1,10%,LMT,CLOSE),PERTRADER;
END

BUY_DAY:REF(DATE,TENTERBARS);//开仓日
DAYDIFF:TRADINGDATEDIFF(BUY_DAY,DATE);//开仓后过了几天

IF DAYDIFF>0 AND DAYDIFF<=2 AND (C-TAVGENTERPRICE)/TAVGENTERPRICE>0.15 THEN
   TSELL(TBUYHOLDINGEX('','',0)>0,TBUYHOLDINGEX('','',0),MKT);                         //条件1
   
IF DAYDIFF>0 AND (HHV(H,TENTERBARS)-TAVGENTERPRICE)/TAVGENTERPRICE>0.1 AND (HHV(H,TENTERBARS)-C)/TAVGENTERPRICE>0.03 THEN
   TSELL(TBUYHOLDINGEX('','',0)>0,TBUYHOLDINGEX('','',0),MKT);                           //条件2
   
IF DAYDIFF>0 AND (TAVGENTERPRICE-C)/TAVGENTERPRICE>0.04 THEN
   TSELL(TBUYHOLDINGEX('','',0)>0,TBUYHOLDINGEX('','',0),MKT);                           //条件3
   
IF DAYDIFF=2 AND REMAININGTIME(CLOSETIME(0))<10*60 THEN
   TSELL(TBUYHOLDINGEX('','',0)>0,TBUYHOLDINGEX('','',0),MKT);                           //条件4
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-12-10 22:34 | 显示全部楼层
编译后提示这个
截图202412102234009914.png
回复

使用道具 举报

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-12-10 22:36 | 显示全部楼层
另外请教一个问题,我的模拟账户已经有买入持仓了,每天会关闭并且重启金字塔
所使用的代码是后台交易系统代码
重启之后,系统依然能识别我的交易成本和买入时间么?
这些依赖于开仓时间和成本的止盈止损函数,是否不随金字塔重启而失效?
回复

使用道具 举报

35

主题

9414

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-12-11 08:34 | 显示全部楼层
不会失效,后台都是基于读取账户实际信息和后台交易记录进行的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-6 11:55 , Processed in 0.255170 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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