文华财经T8自动化交易程序策略模型指标公式源码

文华财经T8自动化交易程序策略模型指标公式源码:

//定义变量

//资金管理与仓位控制

8CS:=INITMONEY;//初始资金

8QY:=MONEYTOT;//实际权益

8QY1:=MIN(MA(8QY,5*R),MA(8QY,2*R));

FXBL:=N1;

DBKS:8QY1*N1;//计算单笔允许亏损额度

BZDKS:=MAX(AA-BB,N*1T)*UNIT;

SZDKS:=MAX(BB-AA,N*1T)*UNIT;

BKKK:=DBKS/BZDKS;

SKKK:=DBKS/SZDKS;//计算手数

BKK:=IF(BKKK>=0.8,ROUND(BKKK,0),1);

SKK:=IF(SKKK>=0.8,ROUND(SKKK,0),1);

BKS:IF(X=0,1,IF(BKK>1&&((CJ&&(CLOSEMINUTE<120))||TNUMSEQWIN>5),ROUND(BKK/2,0),BKK));//确定开多仓手数

SKS:IF(X=0,1,IF(SKK>1&&((CJ&&(CLOSEMINUTE<120))||TNUMSEQWIN>5),ROUND(SKK/2,0),SKK));//确定开空仓手数

//持仓成本计算

BARSBK1:=IFELSE(BARSBK>=1,BARSBK,0);

BARSSK1:=IFELSE(BARSSK>=1,BARSSK,0);

BARSBP1:=IFELSE(BARSBP>=1,BARSBP,0);

BARSSP1:=IFELSE(BARSSP>=1,BARSSP,0);

BKJJ0:LOOP2(ISLASTBK&&COUNTSIG(LOWER_LONG,BARSBK+1)=0,LONG_AVPRICE ,LOOP2(ISLASTBK&&REF(VALUEWHEN(BKVOL<>REF(BKVOL,1),BKVOL<REF(BKVOL,1)),BARSBK1+1)&&BARSBK>BARSBK1&&COUNTSIG(LOWER_LONG,BARSBK+1)>0,(REF(LONG_AVPRICE,BARSSP1+1)*REF(BKVOL,BARSBK1+1)+BKPRICE*REF(BKVOL,BARSBK-1))/BKVOL,REF(BKJJ0,BARSBK1))),NODRAW;//向上取数据合约整数BK均价

SKJJ0:LOOP2(ISLASTSK&&COUNTSIG(LOWER_SHORT,BARSSK+1)=0,SHORT_AVPRICE,LOOP2(ISLASTSK&&REF(VALUEWHEN(SKVOL<>REF(SKVOL,1),SKVOL<REF(SKVOL,1)),BARSSK1+1)&&BARSSK>BARSSK1&&COUNTSIG(LOWER_SHORT,BARSSK+1)>0,(REF(SHORT_AVPRICE,BARSBP1+1)*REF(SKVOL,BARSSK1+1)+SKPRICE*REF(SKVOL,BARSSK-1))/SKVOL,REF(SKJJ0,BARSSK1))),NODRAW;//向下取数据合约整数SK均价

//开仓指令

ISLASTBK=0&&BKVOL=0&&BB1&&C<=BKJJ,BK;//开多指令

ISLASTSK=0&&SKVOL=0&&SS1&&C>=SKJJ,SK;//开空指令

//平仓指令

//通用清仓条件

QQ01:=(BKVOL>0||ISLASTBK)&&BARSBK1>0&&QB1;

QQ02:=(SKVOL>0||ISLASTSK)&&BARSSK1>0&&QS1;

QQ11:=(BKVOL>0||ISLASTBK)&&BARSBK1>0&&QB2;

QQ12:=(SKVOL>0||ISLASTSK)&&BARSSK1>0&&QS2;

QQ21:=(BKVOL>0||ISLASTBK)&&BARSBK1>0&&QB3;

QQ22:=(SKVOL>0||ISLASTSK)&&BARSSK1>0&&QS3;

//清仓指令

QQ01||QQ02,SP;

QQ11||QQ12,SP;

QQ21||QQ22,SP;

QQ01||QQ02,SP;

QQ11||QQ12,SP;

QQ21||QQ22,SP;

//平仓

(BKVOL>0||ISLASTBK)&&PB1,SP;

(SKVOL>0||ISLASTSK)&&PS1,BP;

(BKVOL>0||ISLASTBK)&&PB2,SP;

(SKVOL>0||ISLASTSK)&&PS2,BP;

(BKVOL>0||ISLASTBK)&&PB3,SP;

(SKVOL>0||ISLASTSK)&&PS3,BP;

//止盈减仓

ISLASTBK&&BKVOL>0&&ZYB1,LOWER_LONG(BKVOL*IF(BKVOL>WW,2/3,1/2));

ISLASTSK&&SKVOL>0&&ZYS1,LOWER_SHORT(SKVOL*IF(SKVOL>WW,2/3,1/2));

ISLASTBK&&BKVOL>0&&ZYB2,LOWER_LONG(BKVOL*1/2);

ISLASTSK&&SKVOL>0&&ZYS2,LOWER_SHORT(SKVOL*1/2);

BKVOL>0&&VALUEWHEN(BKVOL<>REF(BKVOL,1),BKVOL<REF(BKVOL,1))&&ZYB3,SP;

SKVOL>0&&VALUEWHEN(SKVOL<>REF(SKVOL,1),SKVOL<REF(SKVOL,1))&&ZYS3,BP;

(BKVOL>0||ISLASTBK)&&ZYB4,SP;

(SKVOL>0||ISLASTSK)&&ZYS4,BP;

//信号执行

T_COMMAND(IF(ISLASTBK=0&&BKVOL=0&&BB1&&C<=BKJJ,BKS,IF(ISLASTSK=0&&SKVOL=0&&SS1&&C>=SKJJ,SKS,NULL)));

SETSIGPRICETYPE(BK,CMPETITV_ORDER,CANCEL_ORDER);

SETSIGPRICETYPE(SK,CMPETITV_ORDER,CANCEL_ORDER);

TRACING_ORDER(BP,PASSIVE_ORDER,60);

TRACING_ORDER(SP,PASSIVE_ORDER,60);

AUTOFILTER;

相关推荐
LucianaiB2 分钟前
【金仓数据库征文】_AI 赋能数据库运维:金仓KES的智能化未来
运维·数据库·人工智能·金仓数据库 2025 征文·数据库平替用金仓
prinrf('千寻)17 分钟前
nacos设置权重进行负载均衡不生效
运维·负载均衡
Lary_Rock31 分钟前
Android 编译问题 prebuilts/clang/host/linux-x86
android·linux·运维
绵绵细雨中的乡音44 分钟前
Linux进程学习【基本认知】
linux·运维·学习
珹洺2 小时前
Linux操作系统从入门到实战(三)Linux基础指令(上)
linux·运维·服务器
剁椒排骨2 小时前
win11什么都不动之后一段时间黑屏桌面无法显示,但鼠标仍可移动,得要熄屏之后才能进入的四种解决方法
运维·windows·经验分享·计算机外设·win11·win10
angushine2 小时前
让Docker端口映射受Firewall管理而非iptables
运维·docker·容器
归寻太乙2 小时前
Linux环境变量
linux·运维·服务器
m0Java门徒2 小时前
面向对象编程核心:封装、继承、多态与 static 关键字深度解析
java·运维·开发语言·intellij-idea·idea
Sapphire~3 小时前
Linux-06 ubuntu 系统截图软件使用简单记录
linux·运维·ubuntu