欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 文华转金字塔

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5123人关注过本帖树形打印复制链接

主题:文华转金字塔

帅哥哟,离线,有人找我吗?
FireScript
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/22 15:17:22    Post IP:180.169.30.6[显示全部帖子]

 IF BARPOS>N THEN
BEGIN
sellshort(holding<0 and BUYPK1,holding,market);
buy(holding=0 and BUYPK1,var1,market);

sell(holding>0 and SELLPK1 ,holding,market);
buyshort(holding=0 and SELLPK1,var1,market);

sellshort(holding<0 and BUYPK2,holding,market);
buy(holding=0 and BUYPK2,var1,market);

sell(holding>0 and SELLPK2 ,holding,market);
buyshort(holding=0 and SELLPK2,var1,market);
END

sellshort(holding=0 and (BUYY1 or BUYY2),holding,market);
sell((SELLY1 or SELLY2 or SELLS2) and holding>0,holding,market);
//下面这部分修改K线颜色,金字塔下无法使用代码实现
//DRAWCOLORKLINE(BKVOL=0 AND SKVOL=0,COLORWHITE,0);
//DRAWCOLORKLINE(SKVOL>0,COLORGREEN,0);
//DRAWCOLORKLINE(BKVOL>0,COLORRED,0);
累计盈亏:NUMPROFIT(1),COLORWHITE;


N是你自己定义的,你需要自行处理下。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/22 16:10:11    Post IP:180.169.30.6[显示全部帖子]

 金字塔里面在图表上只能取得上次开仓位置,但是不区分多空,一般用ENTERBARS  函数。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/23 9:54:23    Post IP:180.169.30.6[显示全部帖子]

 这2个没有直接的函数可以获取。需要间接获取。

思路就是 先追溯到上次开空或者开多条件触发的位置 然后 使用统计函数去计算最高最低值。
llv(l,BARSLAST(开空条件)+1)

hhv(h,BARSLAST(开多条件)+1)


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/24 9:58:30    Post IP:180.169.30.6[显示全部帖子]

 ,对你的代码略做修改。一部分变量我不清楚是你自己定义的还是文华的函数,没差出来具体函数。

BUYPK:=MINSHORT>MAXLONG;
SELLPK:=MAXSHORT<MINLONG;
SELLS:=MINSHORT<MAXLONG AND C<ENTERPRICE*(1-STOPLOSS*0.01) and holding>0;

BUYS:=MAXSHORT>MINLONG AND C>ENTERPRICE*(1+STOPLOSS*0.01) and holding<0;

HH:hhv(h,ENTERBARS+2);//BKHIGH
LL:llv(l,ENTERBARS+2);//SKLOW


PRICESY:=REF(LLV(L,M),BARSLAST(H=HH));
SELLY:=MINSHORT<MAXLONG AND C<=PRICESY AND C>ENTERPRICE*(1+STOPLOSS*0.01*2) and  holding>0;
PRICEBY:=REF(HHV(H,M),BARSLAST(L=LL));
BUYY:=MAXSHORT>MINLONG AND C>=PRICEBY AND C<ENTERPRICE*(1-STOPLOSS*0.01*2) and holding<0;
 
IF BARPOS>N THEN
BEGIN
sellshort(holding<0 and BUYPK1,holding,market);
buy(holding=0 and BUYPK1,var1,market);

sell(holding>0 and SELLPK1 ,holding,market);
buyshort(holding=0 and SELLPK1,var1,market);

sellshort(holding<0 and BUYPK2,holding,market);
buy(holding=0 and BUYPK2,var1,market);

sell(holding>0 and SELLPK2 ,holding,market);
buyshort(holding=0 and SELLPK2,var1,market);
END

sellshort(holding=0 and (BUYY1 or BUYY2 or BUYS2),holding,market);
sell((SELLY1 or SELLY2 or SELLS2) and holding>0,holding,market);
累计盈亏:NUMPROFIT(1),COLORWHITE;


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/24 10:25:05    Post IP:180.169.30.6[显示全部帖子]

N是参数,可以自行调整下值的情况。
STOPLOSS:=1;
N:=20;
M:=100;

N1:=200;

N2:=300;

N3:=800;

N4:=1000;

FUND:=20000;
VAR1 : =MAX(1,INTPART(FUND/(O*Multiplier*0.1)));
E1:=EMA(C,N1);
E2:=EMA(C,N2);
E3:=EMA(C,N3);
E4:=EMA(C,N4);

MINSHORT:=MIN(E1,E2);
MAXLONG:=MAX(E3,E4);
MAXSHORT:=MAX(E1,E2);
MINLONG:=MIN(E3,E4);
BUYPK:=MINSHORT>MAXLONG;
SELLPK:=MAXSHORT<MINLONG;

SELLS:=MINSHORT<MAXLONG AND C<ENTERPRICE*(1-STOPLOSS*0.01) and holding>0;
BUYS:=MAXSHORT>MINLONG AND C>ENTERPRICE*(1+STOPLOSS*0.01) and holding<0;

HH:hhv(h,ENTERBARS+2);//BKHIGH
LL:llv(l,ENTERBARS+2);//SKLOW

PRICESY:=REF(LLV(L,M),BARSLAST(H=HH));
SELLY:=MINSHORT<MAXLONG AND C<=PRICESY AND C>ENTERPRICE*(1+STOPLOSS*0.01*2) and  holding>0;
PRICEBY:=REF(HHV(H,M),BARSLAST(L=LL));
BUYY:=MAXSHORT>MINLONG AND C>=PRICEBY AND C<ENTERPRICE*(1-STOPLOSS*0.01*2) and holding<0;
 
IF BARPOS>N THEN
BEGIN
sellshort(holding<0 and BUYPK,holding,market);
buy(holding=0 and BUYPK,var1,market);

sell(holding>0 and SELLPK ,holding,market);
buyshort(holding=0 and SELLPK,var1,market);

sellshort(holding<0 and BUYPK,holding,market);
buy(holding=0 and BUYPK,var1,market);

sell(holding>0 and SELLPK ,holding,market);
buyshort(holding=0 and SELLPK,var1,market);
END

sellshort(holding=0 and (BUYY or BUYY or BUYS),holding,market);
sell((SELLY or SELLY or SELLS) and holding>0,holding,market);
累计盈亏:NUMPROFIT(1),COLORWHITE;


命数如织,当如磐石。
 回到顶部