金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 5268|回复: 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] 复制代码
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.5)  then 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是不会的
截图202209080918109478.png
回复

使用道具 举报

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] 复制代码
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.5)  then 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-6-8 04:45 , Processed in 0.164601 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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