金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3957|回复: 4

关于平仓及反手的问题

[复制链接]

4

主题

17

帖子

17

积分

Rank: 1

等级: 新手上路

注册:
2022-7-12
曾用名:
发表于 2022-7-12 22:33 | 显示全部楼层 |阅读模式
老师您好,我的策略是开仓信号发出后开仓,平仓信号发出后平仓然后反向开仓,现有策略加载在图上好像不能满足我的设想?有一下两个问题希望解答:
    1.你看图上7月12日附近,开多以后有平多信号,但是没有开空信号,不知什么原因
    2.每次开仓后朝有利方向走,没走多远就平仓了,是止盈幅度设置问题,还是回撤止盈设置有问题?

//参数设置:
INPUT:P(1){建仓量},P1(1,0,50,5){初始止损幅度},P2(3,2,100,10){止盈幅度},P3(45,5,60,5){回撤止盈};
VARIABLE:MAXPROFIT=0,{有仓位时最大获利幅度}              
WIN1:=0;                                                            
WIN2:=0;//止盈、止损、回撤控制

//信号模块:该模块主用于多空头及平仓信号的量化                                             
MA10:MA(CLOSE,10),PRECISION0,;                                                  
MA20:MA(CLOSE,20),PRECISION0,;                        
平空开多:=CROSS(MA10,MA20);                                                                                          
平多开空:=CROSS(MA20,MA10);  

//图表日内交易模块:
  IF HOLDING=0 THEN BEGIN
     //多头开仓
     IF {交易时间 AND} 平空开多 THEN BEGIN
         BUY(1,P,MARKETR);
         MAXPROFIT:=0;
     END

     //空头开仓
     IF {交易时间 AND} 平多开空 THEN BEGIN
         BUYSHORT(1,P,MARKETR);
         MAXPROFIT:=0;
     END
END

IF HOLDING>0 THEN BEGIN
     //多头平仓
     IF 平多开空 THEN
         SELL(1,HOLDING,MARKETR);

     //盈亏计算
     IF ENTERBARS>0 THEN BEGIN
         WIN1:=(C-AVGENTERPRICE)/AVGENTERPRICE*100; //记录最大盈利
             IF WIN1>MAXPROFIT THEN
                 MAXPROFIT:=WIN1;
         WIN2:=(MAXPROFIT-WIN1)/MAXPROFIT*100;
     END

     //多头初始浮亏 P1% 止损
     IF WIN1<-P1 THEN
         SELL(1,HOLDING,MARKETR);

     //多头利润大于 P2% 止盈
     IF WIN1>P2 THEN
         SELL(1,HOLDING,MARKETR);

     //多头获利后回撤 P3%止盈
     IF WIN2>P3 AND OPENPROFIT>0 THEN
         SELL(1,HOLDING,MARKETR);
END

IF HOLDING<0 THEN BEGIN

     //空头平仓
     IF 平空开多 THEN
         SELLSHORT(1,HOLDING,MARKETR);

     //盈亏计算
     IF ENTERBARS>0 THEN BEGIN
         WIN1:=(AVGENTERPRICE-C)/AVGENTERPRICE*100; //记录最大盈利
             IF WIN1>MAXPROFIT THEN
               MAXPROFIT:=WIN1;
         WIN2:=(MAXPROFIT-WIN1)/MAXPROFIT*100;
     END

     //空头初始浮亏超过 P1% 止损
     IF WIN1<-P1 THEN
         SELLSHORT(1,HOLDING,MARKETR);

     //空头利润大于 P2%止盈
     IF WIN1>P2 THEN
         SELLSHORT(1,HOLDING,MARKETR);

     //空头回撤 P3% 止盈
     IF WIN2>P3 AND OPENPROFIT>0 THEN
         SELLSHORT(1,HOLDING,MARKETR);
END




360截图20220712221321022.jpg
回复

使用道具 举报

4

主题

17

帖子

17

积分

Rank: 1

等级: 新手上路

注册:
2022-7-12
曾用名:
 楼主| 发表于 2022-7-12 22:37 | 显示全部楼层
每次开仓后有盈利,幅度不大就平仓了,这样难以抓住周期内的大行情,不知该怎么改一下
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-7-13 08:02 | 显示全部楼层
这个范例是从高点回撤了指定的百分百就平仓的。你调整下回撤比例看看效果吧。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

4

主题

17

帖子

17

积分

Rank: 1

等级: 新手上路

注册:
2022-7-12
曾用名:
 楼主| 发表于 2022-7-13 20:33 | 显示全部楼层
技术009 发表于 2022-7-13 08:02
这个范例是从高点回撤了指定的百分百就平仓的。你调整下回撤比例看看效果吧。

好的,那关于第一个问题,我现在平多开空是一个信号,平空开多是另一个信号,我的目的是有仓位时,有了出场信号就平仓然后反向开仓,以现在回测时图上显示的来看,只能平不能反向开仓,这是为什么?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-7-14 09:10 | 显示全部楼层
你这个语句你没有写在一起啊。
反手的2个语句都必须在一个条件下才能触发的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-3 13:43 , Processed in 0.176586 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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