金字塔决策交易系统

用户名  找回密码
 

微信登录

微信扫一扫,快速登录

帖子
查看: 6320|回复: 13

能协助改为金字塔模型吗?

[复制链接]

55

主题

179

帖子

179

积分

等级: 免费版

注册:
2021-11-18
曾用名:
发表于 2022-9-6 16:50 | 显示全部楼层 |阅读模式
一个文化8的模型,想问如何转为金字塔PEL啊。可以不考虑WH8的AUTOFINANCE那个资金问题,就开仓平仓如何改写啊?
//-----头寸参数-----
MON:=50000;
TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR,26),NODRAW;
TTC:=INTPART((MON*0.1/(UNIT*ATR))),NODRAW;
TC:IF(TTC<1,1,TTC);
MTC:=3*TC;
SKYYZS:REF(C,1)+1.5*ATR,NODRAW;
BKYYZS:REF(C,1)-1.5*ATR,NODRAW;
BKZS:IF(BKVOL>0,LLV(C,10)+5/100*ATR*BARSBK,NULL);
SKZS:IF(SKVOL>0,HHV(C,10)-5/100*ATR*BARSSK,NULL);
HLCMA:MA((HIGH+LOW+CLOSE)/3,20),NODRAW;
TRUEHIGH1:=IF(HIGH>REF(C,1),HIGH,REF(C,1));
TRUELOW1:=IF(LOW<=REF(C,1),LOW,REF(C,1));
TRUERANGE1:=IF(ISLASTBAR,H-L,TRUEHIGH1-TRUELOW1);
UPBAND:HLCMA+MA(TRUERANGE1,3);
DNBAND:HLCMA-MA(TRUERANGE1,3);
LIQUIDPOINT:HLCMA;
CROSS(HLCMA>REF(HLCMA,1)&&C>UPBAND,0.5)&&ISLASTBK=0&&ISLASTSK=0,BK(TC);
C<LIQUIDPOINT,SP(BKVOL);
CROSS(HLCMA<REF(HLCMA,1)&&C<DNBAND,0.5)&&ISLASTBK=0&&ISLASTSK=0,SK(TC);
C>LIQUIDPOINT,BP(SKVOL);
BKJC:IF(BKVOL>0&&BKVOL<MTC,BKPRICE+0.5*ATR,NULL),NODRAW;
SKJC:IF(SKVOL>0&&SKVOL<MTC,SKPRICE-0.5*ATR,NULL),NODRAW;
C>=BKPRICE+0.5*ATR&&BKVOL<MTC&&ISLASTBK,BK(TC);
C<=SKPRICE-0.5*ATR&&SKVOL<MTC&&ISLASTSK,SK(TC);
CLOSE<=BKYYZS,SP(BKVOL);
CLOSE>=SKYYZS,BP(SKVOL);
C<=BKZS,SP(BKVOL);
C>=SKZS,BP(SKVOL);
TRADE_AGAIN(1);
CLOSEKLINE(2,3);
AUTOFINANCING;
TRADE_OTHER('AUTO');
SETSIGPRICETYPE(BK,LIMIT_ORDER);
SETSIGPRICETYPE(SK,LIMIT_ORDER);
SETSIGPRICETYPE(BP,LIMIT_ORDER);
SETSIGPRICETYPE(SP,LIMIT_ORDER);
SETMOVEOPIPRICE(LIMIT_ORDER);
SETMOVEOPIPRICE(LIMIT_ORDER);






回复

举报

55

主题

179

帖子

179

积分

等级: 免费版

注册:
2021-11-18
曾用名:
 楼主| 发表于 2022-9-6 19:38 | 显示全部楼层
想问老师可以协助吗?谢谢
回复

举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-7 08:55 | 显示全部楼层
[PEL] 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
MON:=50000;
TRx:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TRX,26),NODRAW;
TTC:=INTPART((MON*0.1/(MULTIPLIER*ATR))),NODRAW;
TC:IF(TTC<1,1,TTC);
MTC:=3*TC;
SKYYZS:REF(C,1)+1.5*ATR,NODRAW;
BKYYZS:REF(C,1)-1.5*ATR,NODRAW;
BKZS:IF(holding>0,LLV(C,10)+5/100*ATR*ENTERBARS,0);
SKZS:IF(holding<0,HHV(C,10)-5/100*ATR*ENTERBARS,0);
HLCMA:MA((HIGH+LOW+CLOSE)/3,20),NODRAW;
TRUEHIGH1:=IF(HIGH>REF(C,1),HIGH,REF(C,1));
TRUELOW1:=IF(LOW<=REF(C,1),LOW,REF(C,1));
TRUERANGE1:=IF(ISLASTBAR,H-L,TRUEHIGH1-TRUELOW1);
UPBAND:HLCMA+MA(TRUERANGE1,3);
DNBAND:HLCMA-MA(TRUERANGE1,3);
LIQUIDPOINT:HLCMA;
 
if CROSS(HLCMA>REF(HLCMA,1)&&C>UPBAND,0.5then buy(holding=0,tc,market);
if C<LIQUIDPOINT then sell(1,holding,market);
if CROSS(HLCMA<REF(HLCMA,1)&&C<DNBAND,0.5) then buyshort(holding=0,tc,market);
 
if C>LIQUIDPOINT then sellshort(1,holding,market);
 
BKJC:IF(holding>0&&holding<MTC,ENTERPRICE+0.5*ATR,0),NODRAW;
SKJC:IF(holding<0&&abs(holding)<MTC,ENTERPRICE-0.5*ATR,0),NODRAW;
 
if C>=ENTERPRICE+0.5*ATR&&holding<MTC then buy(1,TC,market);
if C<=ENTERPRICE-0.5*ATR&&abs(holding)<MTC then buyshort(1,TC,market);
 
if CLOSE<=BKYYZS or C<=BKZS then sell(1,holding,market);
if CLOSE>=SKYYZS or C>=SKZS then sellshort(1,holding,market);

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

举报

55

主题

179

帖子

179

积分

等级: 免费版

注册:
2021-11-18
曾用名:
 楼主| 发表于 2022-9-7 17:13 | 显示全部楼层
WH8模型里面有个TRADE_AGAIN(1)的函数,说是同一指令行可以连续出N个信号。而且一根K线只能支持一个信号。

上面改的模型中,经常有开仓、平仓信号同时存在,想问PEL有什么指令是类似效果的吗?
回复

举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-8 09:04 | 显示全部楼层
那个仅仅是指同一行的代码,不是指这个K上只能出一个或者多个信号。金字塔默认同一行 只能在一个K上 只能触发一次信号。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

举报

55

主题

179

帖子

179

积分

等级: 免费版

注册:
2021-11-18
曾用名:
 楼主| 发表于 2022-9-8 09:18 | 显示全部楼层
2个问题:
1、WH8的TRADE_AGAIN(2)的意思是,第11行代码,在第20根K线上发出信号,那么下一次发出信号(假设在第30根吧),还可以由第11行发出(第2次),但是再下一次信号,就不能由第11行代码发出了。同时用了这个语句的话,一段代码在一根K线上就只能发出一个信号,不允许发出多个信号。这个有类似实现吗?

2、这个是我现在迫切解决的,就是我把上面修改的PEL模型加载到K线上去,在一根K线上,又开仓、又直接平仓,而且是连续几根K线都是这样开仓、又直接在当根K线上平仓。而WH8上就是1根K只开仓了一次,比较符合情况。我想知道这怎么解决吗?
具体可见图,这里下跌的过程,一根K上不断的开空、平空。而加载在WH8是不会的

本帖子中包含更多资源

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

x
回复

举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-8 09:29 | 显示全部楼层
我再看下TRADE_AGAIN(2)这个函数
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

举报

55

主题

179

帖子

179

积分

等级: 免费版

注册:
2021-11-18
曾用名:
 楼主| 发表于 2022-9-8 09:48 | 显示全部楼层
关于第2个问题,我想问下,是不是由于Enterbars这种函数没有加进开仓条件去

导致一根K线上,前面的语句开仓了,然后后面的语句又立刻满足条件平仓?可是我这里是用market(次周期开盘价进行回测),当根K线上开的仓,怎么会立刻就平仓信号发出?
想问下一般是要怎么写这个开平仓语句?
回复

举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-8 10:09 | 显示全部楼层
[PEL] 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
MON:=50000;
TRx:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TRX,26),NODRAW;
TTC:=INTPART((MON*0.1/(MULTIPLIER*ATR))),NODRAW;
TC:IF(TTC<1,1,TTC);
MTC:=3*TC;
SKYYZS:REF(C,1)+1.5*ATR,NODRAW;
BKYYZS:REF(C,1)-1.5*ATR,NODRAW;
BKZS:IF(holding>0,LLV(C,10)+5/100*ATR*ENTERBARS,0),NODRAW;
SKZS:IF(holding<0,HHV(C,10)-5/100*ATR*ENTERBARS,0),NODRAW;
HLCMA:MA((HIGH+LOW+CLOSE)/3,20),NODRAW;
TRUEHIGH1:=IF(HIGH>REF(C,1),HIGH,REF(C,1));
TRUELOW1:=IF(LOW<=REF(C,1),LOW,REF(C,1));
TRUERANGE1:=IF(ISLASTBAR,H-L,TRUEHIGH1-TRUELOW1);
UPBAND:HLCMA+MA(TRUERANGE1,3);
DNBAND:HLCMA-MA(TRUERANGE1,3);
LIQUIDPOINT:HLCMA;
  
if CROSS(HLCMA>REF(HLCMA,1)&&C>UPBAND,0.5then buy(holding=0,tc,market);
if C<LIQUIDPOINT then sell(1,holding,market);
if CROSS(HLCMA<REF(HLCMA,1)&&C<DNBAND,0.5) then buyshort(holding=0,tc,market);
  
if C>LIQUIDPOINT then sellshort(1,holding,market);
  
BKJC:IF(holding>0&&holding<MTC,ENTERPRICE+0.5*ATR,0),NODRAW;
SKJC:IF(holding<0&&abs(holding)<MTC,ENTERPRICE-0.5*ATR,0),NODRAW;
  
if C>=ENTERPRICE+0.5*ATR&&holding<MTC then buy(1,TC,market);
if C<=ENTERPRICE-0.5*ATR&&abs(holding)<MTC then buyshort(1,TC,market);
  
if CLOSE<=BKYYZS or C<=BKZS then sell(1,holding,market);
if (CLOSE>=SKYYZS or C>=SKZS) and (SKYYZS<>0 and SKZS<>0) then sellshort(1,holding,market);
 
hd:holding;
这样应该不会在一个K上 同方向即可又平了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-8 10:18 | 显示全部楼层
其他平仓来的代码 最好还是能有文字形式的描述比较好,否则有效效果 是依赖于平台本身的某些机制实现的,从代码上解读是存在偏差的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

举报

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

本版积分规则

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

GMT+8, 2025-8-14 17:18 , Processed in 0.092352 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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