金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2052|回复: 5

关于后台程序保本策略的问题

[复制链接]

75

主题

193

帖子

193

积分

等级: 免费版

注册:
2023-4-11
曾用名:
发表于 2023-6-28 13:10 | 显示全部楼层 |阅读模式
[PEL] 复制代码
 { ----------------------------------------以下为保本模块---------------------------------------- } 
 
 STR1:=STKLABEL&'_H';


//初始化全局变量

IF TBUYHOLDINGEX( '','' ,1 )>0 AND EXTGBDATA(STR1)<DYNAINFO(7) THEN BEGIN
	
   EXTGBDATASET(STR1,DYNAINFO(7));

END

DYK:DYNAINFO(  7)-多均价;

MAXPRO1:EXTGBDATA(STR1)-多均价;

IF 多可用=1 AND ABS(MAXPRO1)>=10 AND DYK<=2 AND EXTGBDATA(STR1 )>0 THEN BEGIN
	
TSELL(1,1,LMT,多均价);

EXTGBDATASET( STR1,0);

END
 
 
 STR2:=STKLABEL&'_L'; 

IF TSELLHOLDINGEX( '','' ,1 )>0 AND EXTGBDATA(STR2)<DYNAINFO(7) THEN BEGIN
	
EXTGBDATASET(STR2,DYNAINFO(7));

END

 
KYK:ABS(空均价-DYNAINFO(  7));

MAXPRO2:ABS(空均价-EXTGBDATA(STR2));

空单回撤:IF(空可用=1,KYK/MAXPRO2,0);
 
IF 空可用=1 AND ABS(MAXPRO2)>=10 AND KYK<=2 AND EXTGBDATA(STR2 )>0 THEN BEGIN
	
TSELLSHORT(1,1,LMT,空均价);

EXTGBDATASET( STR1,0);

END 



老师,请帮忙检查下,上述保本平仓策略是否写法正确,在实际盘中触发感觉是乱的,多数不能有效执行,麻烦老师了。


补充内容 (2023-6-28 13:23):
当前持仓为0时,是否需要把MAXPRO1和DYK,以及MAXPRO2和KYK重置为0?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-28 13:38 | 显示全部楼层
开仓位置是否有给全局变量赋值?如果有,赋值又是怎样赋值的?




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

使用道具 举报

75

主题

193

帖子

193

积分

等级: 免费版

注册:
2023-4-11
曾用名:
 楼主| 发表于 2023-6-28 23:01 | 显示全部楼层
技术009 发表于 2023-6-28 13:38
开仓位置是否有给全局变量赋值?如果有,赋值又是怎样赋值的?

{ ----------------------------------------以下为全局变量---------------------------------------- }

input:n(5,1,100,1);//参数定义

多可用:tbuyholdingex('','',1);

空可用:tsellholdingex('','',1);

多均价:tavgenterpriceex2('','',0);

空均价:tavgenterpriceex2('','',1);

全部的都在这里了
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-29 09:21 | 显示全部楼层
我没看到你开仓语句。你如果是手工开仓,你要考虑到一个你加仓 或者其他干预仓位时候 持仓均价会变化的问题。这个变化是会影响到这里的逻辑的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

75

主题

193

帖子

193

积分

等级: 免费版

注册:
2023-4-11
曾用名:
 楼主| 发表于 2023-6-29 09:42 | 显示全部楼层
技术009 发表于 2023-6-29 09:21
我没看到你开仓语句。你如果是手工开仓,你要考虑到一个你加仓 或者其他干预仓位时候 持仓均价会变化的问题 ...

VARIABLE:HIGHPRICE=0;
EMA13:=EMA(C,10),COLORWHITE;
EMA21:=EMA(C,21),COLORYELLOW;
EMA34:=EMA(C,34),COLORFF00FF;
EMA60:=MA(C,55),COLORFFCC66;
X1:=(C+L+H)/3;
X2:=EMA(X1,5);
X3:=EMA(X2,4);
MID:=(3*CLOSE+LOW+OPEN+HIGH)/6;
AA:(20*MID+19*REF(MID,1)+18*REF(MID,2)+17*REF(MID,3)+16*REF(MID,4)+15*REF(MID,5)+14*REF(MID,6)+13*REF(MID,7)+12*REF(MID,8)+11*REF(MID,9)+10*REF(MID,10)+9*REF(MID,11)+8*REF(MID,12)+7*REF(MID,13)+6*REF(MID,14)+5*REF(MID,15)+4*REF(MID,16)+3*REF(MID,17)+2*REF(MID,18)+REF(MID,20))/210,COLORRED;
DK:=IF(X2>X3 AND C>EMA13 AND CROSS(C,AA),1,0);
KK:=IF(X2<X3 AND C<EMA13 AND CROSS(AA,C),1,0);

//开多单
  IF DK THEN BEGIN
   多开:TBUY(1,1,MKT);
  END

没有进行过手工开单,是不是要改成1秒钟轮循模式?现在是1分钟周期收盘模式。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-29 09:47 | 显示全部楼层
你这种肯定不能走完K的。否则价格更新 写入不到你这里的全局变量里的。
你改成轮训模式。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-28 05:32 , Processed in 0.093895 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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