金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3588|回复: 4

新买专业用户初次编写后台策略请老师指导

[复制链接]

6

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2022-5-29
曾用名:
发表于 2022-6-19 20:24 | 显示全部楼层 |阅读模式
新买专业用户初次编写后台策略请老师指导,是否这样编写,谢谢!帐户:'1000';
品种:'M09';
VARIABLE:A=0;//全局变量
//条件判断
Z:=ZIG(3,0.3);
多1:=Z>REF(Z,1) and REF(Z,1)<REF(Z,2) ;
空1:=Z<REF(Z,1) and REF(Z,1)>REF(Z,2) ;
多2:=Z>REF(Z,1) and REF(Z,1)>REF(Z,2) and REF(Z,2)<REF(Z,3);
空2:=Z<REF(Z,1) and REF(Z,1)<REF(Z,2) and REF(Z,2)>REF(Z,3) ;
N11:=BARSLAST(多1);
N12:=BARSLAST(多2);
N21:=BARSLAST(空1);
N22:=BARSLAST(空2);
B11:=REF(C,(N11+1));//多1价
B12:=REF(C,(N12+1));//多2价
B21:=REF(C,(N21+1));//空1价
B22:=REF(C,(N22+1));//空2价
多11:=N11<N21 and (B21-B11)>12*MINDIFF and (DYNAINFO(7)-B11)>0 and (DYNAINFO(7)-B11)<3*MINDIFF;
多12:=N11<N21 and (B22-B12)>12*MINDIFF and (DYNAINFO(7)-B12)>0 and (DYNAINFO(7)-B12)<3*MINDIFF;
空21:=N21<N11 and (B11-B21)>12*MINDIFF and (DYNAINFO(7)-B21)>0 and (DYNAINFO(7)-B21)<3*MINDIFF;
空22:=N21<N11 and (B22-B12)>12*MINDIFF and (DYNAINFO(7)-B22)>0 and (DYNAINFO(7)-B22)<3*MINDIFF;
//多空条件:
多:=多1=1 and 多11=1 or 多2=1 and 多12=1;
空:=空1=1 and 空21=1 or 空2=1 and 空22=1;
VARIABLE:VMIN = 090000;//用于隔夜高开或低开时间差
IF (ABS(O-REF(C,1))>=20*MINDIFF AND TIME>090000 AND TIME<090400) THEN VMIN := 093000;
//固定止盈条件判断
固定止盈:DYNAINFO(7)-TAVGENTERPRICEEX2(帐户,品种,0)>=50*MINDIFF;
//固定止损条件判断
固定止损:TAVGENTERPRICEEX2(帐户,品种,0)-DYNAINFO(7)>=20*MINDIFF;
//开多仓条件:
开多:=多 AND THOLDING=0 AND TIME>VMIN AND TIME<145500;
//平多仓条件:
移平多:=IF(THOLDING>0,HHV(HIGH,TTYPEBAR(1,1))-10*MINDIFF,L-10*MINDIFF);
//多单移动止损线
//PARTLINE(THOLDING>0, 移平多, COLORRGB(255,0,0)); 这个在后台不显示
//平多仓
平多仓:=(THOLDING>0 AND 空) OR (THOLDING>0 AND 移平多>C) or (THOLDING>0 AND 固定止盈);
//开空仓条件:
开空:=空 AND THOLDING=0 AND TIME>VMIN AND TIME<145500;
//平空仓条件:
移平空:=IF(THOLDING<0,LLV(LOW,TTYPEBAR(1,3))+10*MINDIFF,H+10*MINDIFF);
//空单移动止损线
//PARTLINE(THOLDING<0,移平空, COLORRGB(0,255,0)); 这个在后台不显示
//平空仓
平空仓:=(THOLDING<0 AND 多) OR (THOLDING<0 AND 移平空<C) or (THOLDING<0 AND 固定止损);

TSELLSHORT(平空仓,THOLDING,LMT,C);//平空仓
TBUY(开多,1,LMT,C);//开多
TSELL(平多仓,THOLDING,LMT,C);//平多仓
TBUYSHORT(开空,1,LMT,C);//开空
//收盘前平仓
TSELL(TIME>145500 AND THOLDING>0,THOLDING,LMT,C-MINDIFF*2);
TSELLSHORT(TIME>145500 AND THOLDING<0,THOLDING,LMT,C+MINDIFF*2);



回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-6-19 20:38 | 显示全部楼层
不需要variable全局变量,就普通变量就可以了,然后tholding是净持仓。图表是不支持锁仓所以只有一个holding,后台没有这种限制所以你用净持仓的话他是多空总的结果了
你要了解下这是自己要的效果吗??一般后台我们直接用tbuyholding(1)和tsellholding(1)来具体的表明多头和空头持仓的

帐户:'1000';
品种:'M09';
//条件判断
Z:=ZIG(3,0.3);
多1:=Z>REF(Z,1) and REF(Z,1)<REF(Z,2) ;
空1:=Z<REF(Z,1) and REF(Z,1)>REF(Z,2) ;
多2:=Z>REF(Z,1) and REF(Z,1)>REF(Z,2) and REF(Z,2)<REF(Z,3);
空2:=Z<REF(Z,1) and REF(Z,1)<REF(Z,2) and REF(Z,2)>REF(Z,3) ;
N11:=BARSLAST(多1);
N12:=BARSLAST(多2);
N21:=BARSLAST(空1);
N22:=BARSLAST(空2);
B11:=REF(C,(N11+1));//多1价
B12:=REF(C,(N12+1));//多2价
B21:=REF(C,(N21+1));//空1价
B22:=REF(C,(N22+1));//空2价
多11:=N11<N21 and (B21-B11)>12*MINDIFF and (DYNAINFO(7)-B11)>0 and (DYNAINFO(7)-B11)<3*MINDIFF;
多12:=N11<N21 and (B22-B12)>12*MINDIFF and (DYNAINFO(7)-B12)>0 and (DYNAINFO(7)-B12)<3*MINDIFF;
空21:=N21<N11 and (B11-B21)>12*MINDIFF and (DYNAINFO(7)-B21)>0 and (DYNAINFO(7)-B21)<3*MINDIFF;
空22:=N21<N11 and (B22-B12)>12*MINDIFF and (DYNAINFO(7)-B22)>0 and (DYNAINFO(7)-B22)<3*MINDIFF;
//多空条件:
多:=多1=1 and 多11=1 or 多2=1 and 多12=1;
空:=空1=1 and 空21=1 or 空2=1 and 空22=1;
VMIN:=090000;//用于隔夜高开或低开时间差
IF (ABS(O-REF(C,1))>=20*MINDIFF AND TIME>090000 AND TIME<090400) THEN VMIN := 093000;
//固定止盈条件判断
固定止盈:DYNAINFO(7)-TAVGENTERPRICEEX2(帐户,品种,0)>=50*MINDIFF;
//固定止损条件判断
固定止损:TAVGENTERPRICEEX2(帐户,品种,0)-DYNAINFO(7)>=20*MINDIFF;
//开多仓条件:
开多:=多 AND THOLDING=0 AND TIME>VMIN AND TIME<145500;
//平多仓条件:
移平多:=IF(THOLDING>0,HHV(HIGH,TTYPEBAR(1,1))-10*MINDIFF,L-10*MINDIFF);
//多单移动止损线
//PARTLINE(THOLDING>0, 移平多, COLORRGB(255,0,0)); 这个在后台不显示
//平多仓
平多仓:=(THOLDING>0 AND 空) OR (THOLDING>0 AND 移平多>C) or (THOLDING>0 AND 固定止盈);
//开空仓条件:
开空:=空 AND THOLDING=0 AND TIME>VMIN AND TIME<145500;
//平空仓条件:
移平空:=IF(THOLDING<0,LLV(LOW,TTYPEBAR(1,3))+10*MINDIFF,H+10*MINDIFF);
//空单移动止损线
//PARTLINE(THOLDING<0,移平空, COLORRGB(0,255,0)); 这个在后台不显示
//平空仓
平空仓:=(THOLDING<0 AND 多) OR (THOLDING<0 AND 移平空<C) or (THOLDING<0 AND 固定止损);

TSELLSHORT(平空仓,THOLDING,LMT,C);//平空仓
TBUY(开多,1,LMT,C);//开多
TSELL(平多仓,THOLDING,LMT,C);//平多仓
TBUYSHORT(开空,1,LMT,C);//开空
//收盘前平仓
TSELL(TIME>145500 AND THOLDING>0,THOLDING,LMT,C-MINDIFF*2);
TSELLSHORT(TIME>145500 AND THOLDING<0,THOLDING,LMT,C+MINDIFF*2);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2022-5-29
曾用名:
 楼主| 发表于 2022-6-20 20:48 | 显示全部楼层
谢谢老师指导!
回复

使用道具 举报

6

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2022-5-29
曾用名:
 楼主| 发表于 2022-6-20 20:57 | 显示全部楼层
技术008 发表于 2022-6-19 20:38
不需要variable全局变量,就普通变量就可以了,然后tholding是净持仓。图表是不支持锁仓所以只有一个holdin ...

谢谢老师指导!老师这个策略可以在模拟盘上测试吗?
回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-6-20 21:18 | 显示全部楼层
本帖最后由 技术008 于 2022-6-20 21:20 编辑

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-31 12:05 , Processed in 0.112258 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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