金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 7845|回复: 38

帮忙改一下老师

[复制链接]

13

主题

134

帖子

134

积分

等级: 免费版

注册:
2021-8-2
曾用名:
发表于 2021-8-19 22:17 | 显示全部楼层 |阅读模式
INPUT:N1(5,1,200,1),N2(10,1,200,1),N3(20,1,200,1),ss(1,1,200,1),N(20,1,300,1),M(40,1,300,1);//SS是手数,N是止盈的点数,

ma5:ma(c,N1);
ma10:ma(c,N2);
ma20:ma(c,N3);  去掉 MA 20 这个条件只留上面的 5和10


多止损:l<ref(l,1)-1*mindiff and  TORDERPRICE(1,1)>0;//最新价小于前一个k最低价-1跳 止损;且前面有开仓信号
空止损:h>ref(h,1)+1*mindiff and TORDERPRICE(1,3)>0;//最新价大于前一个k最高价+1跳 止损


//完善止盈止损的判断。1.判断上次信号到底是什么信号 2.判断当前后台程序化前面有无开仓
多止盈:TTYPE(1)=1 and  c-TORDERPRICE(1,1) >=N*MINDIFF  and  TORDERPRICE(1,1)>0;//盈利20跳 止盈
空止盈:TTYPE(1)=3 and  TORDERPRICE(3,1)-c>=N*MINDIFF and TORDERPRICE(1,3)>0;


tsell(多止损  and tbuyholdingex('','',1)>0,tbuyholdingex('','',1),mkt);
tsellshort(空止损 and tsellholdingex('','',1)>0,tsellholdingex('','',1),mkt);

tsell(多止盈 and tbuyholdingex('','',1)>0,tbuyholdingex('','',1),mkt);
tsellshort(空止盈 and tsellholdingex('','',1)>0,tsellholdingex('','',1),mkt);


cond1:=c>ma20 and cross(ma5,ma10) AND (h-l)<=M*MINDIFF and c>max(ref(c,1),ref(o,1)) and o>ref(o,1);//条件1: 收盘价在20均线上,5日上穿20日均线,最高最低价差值小于等于M 个最小变动价位;收盘价大于昨日开盘价和收盘价;开盘价大于昨日开盘价
cond2:=c<ma20 and cross(ma10,ma5)  AND (h-l)<=M*MINDIFF and c<min(ref(c,1),ref(o,1)) and o<ref(o,1);           去掉 MA 20 这个条件只留上面的 5和10

//开多,开空条件
kd:ref(cond1,1) and c>ref(h,1);//前一个k满足cond1 且当前k最新价格大于前一个k的最高价
kk:ref(cond2,1) and c<ref(l,1);//前一个k满足cond2 且当前k最新价格大于前一个k的最高价

t:time0-timetot0(dynainfo(207));//距离最K结束的时间(秒)  仅在最后一个K正常输出。


tbuy(kd,ss,lmt,ref(h,1)+1*mindiff);//开多
tbuyshort(kk,ss,lmt,ref(l,1)-1*mindiff);//开空


if c<ref(h,1) and TISPRVREMAIN(1) and t<=2 then TCANCELEX(1,1,'',STKLABEL);// 不满足突破条件了,在K线结束前2秒进行撤单操作。
if c>ref(l,1) and TISPRVREMAIN(3) and t<=2 then TCANCELEX(1,3,'',STKLABEL);

if TENTERBARS(1)=1 and TISPRVREMAIN(1)  then TCANCELEX(1,1,'',STKLABEL);
if TENTERBARS(1)=1 and TISPRVREMAIN(3)  then TCANCELEX(1,3,'',STKLABEL);

回复

使用道具 举报

13

主题

134

帖子

134

积分

等级: 免费版

注册:
2021-8-2
曾用名:
 楼主| 发表于 2021-8-19 22:19 | 显示全部楼层
去掉C>MA20  C<MA20

5穿越10  就可以了;
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-8-20 08:38 | 显示全部楼层
[PEL] 复制代码
INPUT:N1(5,1,200,1),N2(10,1,200,1),ss(1,1,200,1),N(20,1,300,1),M(40,1,300,1);//SS是手数,N是止盈的点数,

ma5:ma(c,N1);
ma10:ma(c,N2);

多止损:l<ref(l,1)-1*mindiff and  TORDERPRICE(1,1)>0;//最新价小于前一个k最低价-1跳 止损;且前面有开仓信号
空止损:h>ref(h,1)+1*mindiff and TORDERPRICE(1,3)>0;//最新价大于前一个k最高价+1跳 止损

//完善止盈止损的判断。1.判断上次信号到底是什么信号 2.判断当前后台程序化前面有无开仓
多止盈:TTYPE(1)=1 and  c-TORDERPRICE(1,1) >=N*MINDIFF  and  TORDERPRICE(1,1)>0;//盈利20跳 止盈
空止盈:TTYPE(1)=3 and  TORDERPRICE(3,1)-c>=N*MINDIFF and TORDERPRICE(1,3)>0;

tsell(多止损  and tbuyholdingex('','',1)>0,tbuyholdingex('','',1),mkt);
tsellshort(空止损 and tsellholdingex('','',1)>0,tsellholdingex('','',1),mkt);

tsell(多止盈 and tbuyholdingex('','',1)>0,tbuyholdingex('','',1),mkt);
tsellshort(空止盈 and tsellholdingex('','',1)>0,tsellholdingex('','',1),mkt);


cond1:=cross(ma5,ma10) AND (h-l)<=M*MINDIFF and c>max(ref(c,1),ref(o,1)) and o>ref(o,1);//条件1: 收盘价在20均线上,5日上穿20日均线,最高最低价差值小于等于M 个最小变动价位;收盘价大于昨日开盘价和收盘价;开盘价大于昨日开盘价
cond2:=cross(ma10,ma5)  AND (h-l)<=M*MINDIFF and c<min(ref(c,1),ref(o,1)) and o<ref(o,1);          

//开多,开空条件
kd:ref(cond1,1) and c>ref(h,1);//前一个k满足cond1 且当前k最新价格大于前一个k的最高价
kk:ref(cond2,1) and c<ref(l,1);//前一个k满足cond2 且当前k最新价格大于前一个k的最高价

t:time0-timetot0(dynainfo(207));//距离最K结束的时间(秒)  仅在最后一个K正常输出。


tbuy(kd,ss,lmt,ref(h,1)+1*mindiff);//开多
tbuyshort(kk,ss,lmt,ref(l,1)-1*mindiff);//开空


if c<ref(h,1) and TISPRVREMAIN(1) and t<=2 then TCANCELEX(1,1,'',STKLABEL);// 不满足突破条件了,在K线结束前2秒进行撤单操作。
if c>ref(l,1) and TISPRVREMAIN(3) and t<=2 then TCANCELEX(1,3,'',STKLABEL);

if TENTERBARS(1)=1 and TISPRVREMAIN(1)  then TCANCELEX(1,1,'',STKLABEL);
if TENTERBARS(1)=1 and TISPRVREMAIN(3)  then TCANCELEX(1,3,'',STKLABEL);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

13

主题

134

帖子

134

积分

等级: 免费版

注册:
2021-8-2
曾用名:
 楼主| 发表于 2021-11-1 12:16 | 显示全部楼层
你好 009 老师

还得麻烦你帮我做一个2个周期程序,谢谢


大体意思是  日线出现趋势信号后,30分钟出现开仓信号,开仓。

我大体思路我都已经编写了指标,麻烦您看一下·
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-11-1 13:26 | 显示全部楼层
你已经写了的部分代码贴下啊。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

13

主题

134

帖子

134

积分

等级: 免费版

注册:
2021-8-2
曾用名:
 楼主| 发表于 2021-11-8 14:41 | 显示全部楼层

MA40:MA(C,40);



DRAWTEXT(C>MA40&&O>MA40+5*MINPRICE&&L>MA40&&C>REF(C,1)&&C>REF(O,1)&&O>=REF(O,1)&&H>REF(H,1),L-2,'多'),VALIGN0;//延续的加号为A2





DRAWTEXT(C<MA40&&O<MA40-5*MINPRICE&&H<MA40&&C<REF(C,1)&&(H-O)>(C-L)/2&&C<REF(O,1)&&H<REF(H,1)&& O<MA40-1*MINPRICE,H+2,'空'),VALIGN0;


这个做成MA 是个变量吧。

出现多信号,高于信号K线高点一跳挂单。出现空信号,低信号K线低点一跳挂单

止盈为变量 50-100

止损为逐根 提损  多单为低点两个点止损,空为高点2个点止损。

撤单:当根未成交,当根最后2秒撤单 (比如3分钟  2分58秒撤单)

补充内容 (2021-11-8 14:46):
还有一个变量:信号K线的大小:信号K不能大于X,否则不出信号。

补充内容 (2021-11-8 14:49):
还忘记一个· 有仓,出信号不再开仓
回复

使用道具 举报

13

主题

134

帖子

134

积分

等级: 免费版

注册:
2021-8-2
曾用名:
 楼主| 发表于 2021-11-8 14:43 | 显示全部楼层
这是个跨周期, 先试一下单周期的看看如何·

辛苦你了009 老师
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-11-8 14:47 | 显示全部楼层

当前的信号逻辑是你上面这2句代码的逻辑?
那跨周期调用的信号是怎样的计算逻辑?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

13

主题

134

帖子

134

积分

等级: 免费版

注册:
2021-8-2
曾用名:
 楼主| 发表于 2021-11-8 14:50 | 显示全部楼层
这是个单周期的·  我先试试

是的 信号的过滤就是上面我弄好的过滤

补充内容 (2021-11-8 14:51):
先看看单周期可行吗。
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-11-8 14:59 | 显示全部楼层
你跨周期的调用,调用的信号也是要有一套逻辑的啊。你不说难道我随便写个调用了啊,比如调用大周期的ma5>ma10?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 12:45 , Processed in 0.306670 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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