金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2467|回复: 9

问题1跳空平多信号不执行

[复制链接]

27

主题

136

帖子

136

积分

等级: 免费版

注册:
2022-7-28
曾用名:
发表于 2023-9-20 16:03 | 显示全部楼层 |阅读模式
INPUT:M(50,5,300,30),N(1.1,0.1,10,0.1),D(8,1,100,5),SS(1,1,100,1),G(4,3,60,1);
VARIABLE:X:=50;
MID : =MA(CLOSE,M);//布林中轨
UPPER:MID + N*STD(CLOSE,M);//布林上轨

LOWER:MID - N*STD(CLOSE,M);//布林下轨
CYC:=ENTERBARS+1,NOAXIS;//开仓至今的周期数
HC30:REF(HHV(C,D),1);//30周期收盘价高点
LC30:REF(LLV(C,D),1);//30周期收盘价低点
//手数:=SS;

开多平空条件:=C>HC30 ;//收盘价大于30周期收盘价最高值,且最高价上穿上轨
开空平多条件:=C<LC30 ;//收盘价小于30周期收盘价最高值,且最低价下穿下轨

FKJH:OPEN-REF(CLOSE,1);
tk: if(FKJH<1,0,1);
跳空平空:SELLSHORT(tk>1 AND HOLDING>0,0,LIMITR,o);//SELLSHORT跳空平空
跳空平多:SELL(tk<0 AND HOLDING>0,0,LIMITR,o);//SELL跳空平多

VARIABLE:DUOKONG=0;
TSFS:=0;     {停损反手,1-反手 0-不反手}
ORDVOL:=1;     {开仓手数}
ZSDS:=4;     {止损点数}
//以下变量用于移动止盈,,移动止盈只能保证你尽可能稳健盈利,却不能保证盈利最大化,如果不想使用,可是将总开关设置为0
VARIABLE:YDZY=1;     {移动止盈总开关,1为开,0为关}
VARIABLE:HIGHPRICE=0,LOWPRICE=0; {保存开仓后的最高价、最低价}
VARIABLE:DHCDS=12,KHCDS=12;  {多、空单回撤2.7点数}
VARIABLE:DYLDS=6,KYLDS=6;   {多、空单盈利点数,当盈利点数达到这个标准后,如果回撤达到上面的参数值就平仓}
VARIABLE:Z3B1:=0;     {赚3保1开关}
DUOKONG:=1;


//持有空单
IF HOLDING<0 THEN BEGIN
IF 开多平空条件 THEN BEGIN   //平空单
  空平:SELLSHORT(1,0,MARKETR),ORDERQUEUE;
END

//止损
IF C-ENTERPRICE>=ZSDS THEN BEGIN
  空损:SELLSHORT(1,0,MARKETR),ORDERQUEUE;
END

//移动止盈
IF YDZY=1 THEN BEGIN
  //每周期判断是否创新低
  IF L<LOWPRICE THEN BEGIN
   LOWPRICE:=L;
  END

  //如果盈利超过10点之后回撤达到3点,就平仓,保住盈利

  IF ENTERPRICE-LOWPRICE>=KYLDS THEN BEGIN
  IF L-LOWPRICE>=KHCDS THEN BEGIN  //回撤超过3点
    空赢:SELLSHORT(1,0,MARKETR);
   END
  END
END

//赚3保1
IF Z3B1=1 THEN BEGIN
  IF ENTERPRICE-LOWPRICE>=3 THEN BEGIN
   IF ENTERPRICE-L<=3 THEN BEGIN    //原数据1.2
    空保:SELLSHORT(1,0,MARKETR);
   END
  END
END
END
//开多单
IF HOLDING=0 THEN BEGIN
IF DUOKONG=1 OR DUOKONG=2 THEN BEGIN
  IF 开多平空条件 THEN BEGIN
   多开:BUY(1=1,ORDVOL,LIMITR,HC30);
   HIGHPRICE:=ENTERPRICE;  //将开仓价保存到最高价
  END
END
END
//持有多单
IF HOLDING>0 THEN BEGIN
IF 开空平多条件 THEN BEGIN  {平多单}
  多平:SELL(1,0,LIMITR,C),ORDERQUEUE;
END

//多单管理
//止损
IF ENTERPRICE-C>=ZSDS THEN BEGIN
  多损:SELL(1,0,MARKETR),ORDERQUEUE;
END
//移动止盈
IF YDZY=1 THEN BEGIN
  //每周期判断是否创新高
  IF H>HIGHPRICE THEN BEGIN
   HIGHPRICE:=H;
  END

  //如果盈利超过10点之后回撤达到3点,就平仓,保住盈利
  IF HIGHPRICE-ENTERPRICE>=DYLDS THEN BEGIN
   IF HIGHPRICE-H>=DHCDS THEN BEGIN  //回撤超过3点
    多赢:SELL(1,0,MARKETR);
   END
  END
END
//赚3保1
IF Z3B1=1 THEN BEGIN
  IF HIGHPRICE-ENTERPRICE>=3 THEN BEGIN
   IF H-ENTERPRICE<=3 THEN BEGIN//原数据1.2
    多保:SELL(1,0,MARKETR);
   END
  END
END
END
//开空单
IF HOLDING=0 THEN BEGIN
IF DUOKONG=1 OR DUOKONG=3 THEN BEGIN
  IF 开空平多条件 THEN BEGIN
   空开:BUYSHORT(1=1,ORDVOL,LIMITR,LC30);
   LOWPRICE:=ENTERPRICE;
  END
END
END

当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:=ASSET,NOAXIS;
可用现金:=CASH(0),LINETHICK0;






补充内容 (2023-9-20 16:09):
问题2移动止损怎么在收盘价交易,怎么不即时交易。
问题3模拟账户交易同一K线重复开仓。

本帖子中包含更多资源

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

x
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-20 16:08 | 显示全部楼层
你标记的 地方 不是有一个平多信号了吗?

你说的没执行是什么意思,实际交易没触发这个“多损”信号?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

27

主题

136

帖子

136

积分

等级: 免费版

注册:
2022-7-28
曾用名:
 楼主| 发表于 2023-9-20 16:12 | 显示全部楼层
应该是    跳空平多    的开盘价交易信号


补充内容 (2023-9-20 16:15):
跳空平多:SELL(tk<0 AND HOLDING>0,0,LIMITR,o);//SELL跳空平多
回复

使用道具 举报

27

主题

136

帖子

136

积分

等级: 免费版

注册:
2022-7-28
曾用名:
 楼主| 发表于 2023-9-20 16:16 | 显示全部楼层
跳空平多:SELL(tk<0 AND HOLDING>0,0,LIMITR,o);//SELL跳空平多
这行代码没有执行吗
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-20 16:26 | 显示全部楼层
跳空平多:SELL(tk<=0 AND HOLDING>0,0,LIMITR,o);//SELL跳空平多

tk的值不是0就是1. 你写小于0  永远满足不了。


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

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-20 16:35 | 显示全部楼层
“问题3模拟账户交易同一K线重复开仓。”代码逻辑上不存在这个问题。
建议你看下日志中触发多次信号的是否是相同语句。目前为止图表上从来没出现过相同语句的多次下单。

“问题2移动止损怎么在收盘价交易,怎么不即时交易。”需要设置固定间隔模式才是即时信号触发下单。

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

使用道具 举报

27

主题

136

帖子

136

积分

等级: 免费版

注册:
2022-7-28
曾用名:
 楼主| 发表于 2023-9-20 16:36 | 显示全部楼层
技术009 发表于 2023-9-20 16:26
跳空平多:SELL(tk0,0,LIMITR,o);//SELL跳空平多

tk的值不是0就是1. 你写小于0  永远满足不了。

><0是平空平多,是表达意思不对吗
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-20 16:37 | 显示全部楼层
“><0” 没有这种表达方式。。。

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

使用道具 举报

27

主题

136

帖子

136

积分

等级: 免费版

注册:
2022-7-28
曾用名:
 楼主| 发表于 2023-9-20 16:57 | 显示全部楼层
回复

使用道具 举报

27

主题

136

帖子

136

积分

等级: 免费版

注册:
2022-7-28
曾用名:
 楼主| 发表于 2023-9-20 16:59 | 显示全部楼层
技术009 发表于 2023-9-20 16:35
“问题3模拟账户交易同一K线重复开仓。”代码逻辑上不存在这个问题。
建议你看下日志中触发多次信号的是否 ...

谢谢


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-30 06:06 , Processed in 0.107264 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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