文华财经策略编写下单组件编写新增函数.docx

上传人:b****1 文档编号:3047427 上传时间:2023-05-05 格式:DOCX 页数:23 大小:21.53KB
下载 相关 举报
文华财经策略编写下单组件编写新增函数.docx_第1页
第1页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第2页
第2页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第3页
第3页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第4页
第4页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第5页
第5页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第6页
第6页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第7页
第7页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第8页
第8页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第9页
第9页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第10页
第10页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第11页
第11页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第12页
第12页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第13页
第13页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第14页
第14页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第15页
第15页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第16页
第16页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第17页
第17页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第18页
第18页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第19页
第19页 / 共23页
文华财经策略编写下单组件编写新增函数.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

文华财经策略编写下单组件编写新增函数.docx

《文华财经策略编写下单组件编写新增函数.docx》由会员分享,可在线阅读,更多相关《文华财经策略编写下单组件编写新增函数.docx(23页珍藏版)》请在冰点文库上搜索。

文华财经策略编写下单组件编写新增函数.docx

文华财经策略编写下单组件编写新增函数

文华wh3中策略编写、下单组件编写新增函数汇总2

二.下单组件编写新增函数

1.引用数据函数

 

AvPrice(Code)

某合约当前均价。

用法:

AvPrice(Code)返回合约Code的当前均价,Code为某合约的合约代码

例:

VARavprice;//定义一个变量avpriceavprice=AvPrice("m1109");//price的值为合约m1109的当前均价

 

High(Code)

某合约当前最高价。

用法:

High(Code)返回合约Code的当前最高价,Code为某合约的合约代码

例:

VARhigh;//定义一个变量high

high=High("m1109");//high的值为合约m1109的当前最高价

 

Low(Code)

某合约当前最低价。

用法:

Low(Code)返回合约Code的当前最低价,Code为某合约的合约代码

例:

VARlow;//定义一个变量low

low=Low("m1109");//low的值为合约m1109的当前最低价

 

Position(Code,strContent)

某合约的盘口数据。

用法:

Position(Code,strContent)返回某合约某种盘口数据Code

为某合约的合约代码(字符串),strContent为所要取得容,

可选以下容

"bid1","bid2","bid3","bid4","bid5",

"ask1","ask2","ask3","ask4","ask5",

"bidvol1","bidvol2","bidvol3","bidvol4","bidvol5",

"askvol1","askvol2","askvol3","askvol4","askvol5",

分别表示买1-买5卖1-卖5买1量-买5量卖1量-卖5量。

例:

VARbid1;

bid1=Position("m1109","bid1");//bid1为豆粕1009的当前买1价

 

Price(Code)

某合约当前价格。

用法:

Price(Code)返回合约Code的当前价格,Code为某合约的合约代码

例:

VARprice;//定义一个变量price

price=Price("m1109");//price的值为合约m1109的当前价格

 

Volume(Code)

某合约当前成交量。

用法:

Volume(Code)返回合约Code的当前成交量,Code为某合约的合约代码

例:

VARvolume;//定义一个变量volume

volume=Volume("m1109");//volume的值为合约m1109的当前成交量

MinPrice

某合约最小变动价位。

用法:

MinPrice(Code)返回合约Code的最小变动价位,Code为某合约的合约代码

例:

VARminprice;//定义一个变量minprice

minprice=MinPrice("m1009");//minprice的值为合约m1009的最小变动价位

2.逻辑判断函数

SamePeriod(Code,PeriodStr,T1,T2)

判断两个时间是否是同一个周期。

用法:

SamePeriod(Code,PeriodStr,T1,T2)如果T1,T2是同一个周期返回1,

否则返回0,Code:

合约的合约代码,PeriodStr可以取以下值的其中之一:

"min1","min3","min5","min10","min15","min30","1hour","3hour",

"8hour","1day","week","month",T1和T2是以总秒数表示的时间

例:

IF(SamePeriod("m1109","min10",LastOrderTime(),Time("09:

00:

00"))合约为m1109,周期为10分钟情况下,如果最后一次下单时间与09:

00:

00在同一个周期

3.辅助函数

 

CurrentTime()

当前时间。

用法:

CurrentTime()返回当前时间

例:

VARCurTime; 

CurTime=CurrentTime();//定义一个变量CurTime,CurTime的值为当前时间。

注意返回值是1970年1月1日至今的总秒数

 

DateToStr(nSec)

日期转换为字符串。

用法:

DateToStr(nSec)把整形数值表示的时间nSec转换为字符串,nSec为时间的总秒数,返回的字符串格式为:

YY:

MM:

DD

例:

MessageOut(DateToStr(CurrentTime()));//输出当前日期

 

Exit()

退出程序。

用法:

Exit()退出程序。

例:

Exit();退出程序。

当组件设置为循环时,遇到Exit将停止循环,请谨慎使用。

当组件未设置为循环执行时,应该使用RETURN语句退出。

 

Itoa(Value)

数字转换为字符。

用法:

Itoa(Value)将Value转换成字符串,Value的为整形数值

例:

VARstr;str="数字"+Itoa(5);//str的值为"数字5"

 

MessageOut(Content)

输出容。

用法:

MessageOut(Content),输出Content的容。

注意:

Content可以是字符串也可以是数字

 

ReadGlobal(strName)

返回已注册的整形变量的值

用法:

ReadGlobal(strName);返回注册的strName的值,strName为已注册的整形变量的注册名称(字符串)。

如果strName未被注册过,返回0

例:

WriteGlabal("limit",20);

VARlimitValue;

limitValue=ReadGlobal("limit");limitValue的值为20。

 

ReadGlobalF(strNameF)

返回已注册的浮点型变量的值

用法:

ReadGlobalF(strNameF);返回注册的strNameF的值,strNameF为已注册的浮点型变量的注册名称(字符串),如果strNameF未被注册过,返回0.0f

例:

WriteGlabalF("Rate",0.5);

VARfRate;

fRate=ReadGlobal(Rate);fRate的值为0.5。

 

ReadGlobalStr(NameStr)

返回已注册的字符串变量的值

用法:

ReadGlobalStr(NameStr);返回注册的NameStr的值,NameStr为已注册的字符串变量的注册名称。

如果NameStr未被注册过,返回(空字符串)

例:

WriteGlabalStr("showStr","上升");

VARstr;

str=ReadGlobal(showStr);//str的值为"上升"。

 

Time(strTime)

转换字符串为时间。

用法:

Time(strTime)转换字符串strTime为时间(以总秒数表示),strTime的格式应为HH:

MM:

SS,其中0<=HH<24,0<=MM<60,0<=SS<60,如果不满足此条件,返回0

例:

time:

Time("09:

15:

00")

 

TimeToStr(nSec)

时间转换为字符串。

用法:

TimeToStr(nSec)把整形数值表示的时间nSec转换为字符串,nSec为时间的总秒数,返回的字符串格式为:

HH:

MM:

SS

例:

MessageOut(TimeToStr(CurrentTime())),输出当前时间

 

WriteGlabal(Name,Value)

注册一个整形变量。

用法:

WriteGlabal(Name,Value)。

Name为整形变量的注册名称(字符串),Value为整形变量的值

例:

WriteGlabal("Period",5)注册一个整形变量,注册名称为"Period",值为5。

 

WriteGlabal(NameF,ValueF)

注册一个浮点形变量

用法:

WriteGlabal(NameF,ValueF)。

NameF为浮点形变量的注册名称(字符串),ValueF为浮点形变量的值

例:

WriteGlabalF("Rate",0.5)注册一个浮点形变量,注册名称为"Rate",值为0.5。

 

WriteGlabalStr(NameStr,ValueStr)

注册一个字符串变量

用法:

WriteGlabalStr(NameStr,ValueStr)。

NameStr为字符串变量的注册名称(字符串),ValueStr为字符串变量的值

例:

WriteGlabalStr("showStr","上升")注册一个字符串变量,注册名称为"showStr",值为"上升"。

4.数学运算函数

 

ABS(Value)

取整形绝对值。

用法:

ABS(Value)返回Value的绝对值,Value是整形值

例:

VARX;

X=ABS(5);//X的值为5

 

ABSF(ValueF)

取浮点型的绝对值。

用法:

ABSF(ValueF)返回ValueF的绝对值,ValueF是浮点值

例:

VARX; 

X=ABSF(-1.5);//X的值为1.5

5、指令状态函数

 

F_BuyPosition

模型某合约多头持仓。

用法:

F_BuyPosition()返回模型的多头持仓

例:

VARfmlBVol; 

fmlBVol=F_BuyPosition();//定义一个变量fmlBVol,fmlBVol为模型的多头持仓。

 

F_SellPosition

模型某合约空头持仓。

用法:

F_SellPosition()返回模型的空头持仓

例:

VARfMLSVol;

fmlSVol=F_SellPosition();定义一个变量fmlSVol,fmlSVol为模型的空头持仓。

 

F_BuyAvgPrice

模型某合约多头持仓成本价。

用法:

F_BuyAvgPrice()返回模型多头持仓成本价

例:

VARprice;

price=F_BuyAvgPrice();定义一个变量price,price的值为值为模型多头持仓

 

F_SellAvgPrice

模型某合约空头持仓成本价。

用法:

F_SellAvgPrice()返回模型空头持仓成本价

例:

VARprice;

price=F_SellAvgPrice()定义一个变量price,price的值为模型空头持仓成本价

 

F_DealCode

取得当前模型的合约编码。

用法:

F_DealCode()返回模型所加载K图表的合约的合约编码(字符串)

例:

VARDealCode;

DealCode=F_DealCode();//变量DealCode的容为模型当前合约的合约编码.

 

F_Period

取得当前模型的周期。

用法:

F_Period()返回当前模型的周期(字符串)

例:

VARperiod;

period=F_Period();//变量period的容为当前模型所使用的周期.

 

F_InitBuyVol

取已经初始化的多头持仓。

用法:

F_InitBuyVol()返回模型初始化的多头持仓(整数).

例:

VARinitBuyVol;//定义一个变量记录初始多头持仓

initBuyVol=F_InitBuyVol();//取出初始多头持仓赋值给initBuyVol

 

F_InitSellVol

取已经初始化的空头持仓。

用法:

F_InitSellVol()返回模型初始化的空头持仓(整数).

例:

VARinitSellVol;//定义一个变量记录初始空头持仓

initSellVol=F_InitSellVol();//取出初始空头持仓赋值给initSellVol

 

F_FreshSig

刷新当前信号。

用法:

F_FreshSig()取一个新信号(如果模型已经发出了多个信号,取最早发出的信号,信号消失也是一种信号)返回1表示取到新信号,返回0表示失败即已经没有新信号可取。

取到新信号以后可以配合F_Sig,F_SigVol,F_SigValid,F_SigTime,F_SigPos使用

例:

IF(F_FreshSig())//如果取得了新的信号

 

F_Sig

取当前的信号(BK|SK|BP|SP|BPK|SPK)。

用法:

F_Sig()返回当前的信号是什么类型(BK|SK|BP|SP|BPK|SPK)例:

IF(F_Sig()==BPK&&F_SigValid()==1)//如果信号是BPK且不是信号消失状态

 

F_SigPrice

取当前信号发生时的价格。

用法:

F_SigPrice()取当前的信号发生时刻的价格.

例:

IF(F_SigPrice()>3500)//如果信号发生的价格大于3500

 

F_SigVol

取当前信号的手数。

用法:

F_SigVol()取当前的信号的手数,如果当前信号是BPK(5),则返回5.

例:

IF(F_SigVol()==VarOpi)//如果信号的仓位等于变量VarOpi

F_SigValid当前信号是发出的,还是消失的

用法:

F_SigValid()返回模型信号存在两种类型之一(信号发出,信号消失),返回1表示信号发出,返回0表示信号消失。

例:

IF(F_Sig()==BPK&&F_SigValid()==1)//如果信号是BPK且不是信号消失状态F_SigTime当前信号的发出时间。

用法:

F_SigTime()返回当前信号的发出时间(以总秒数表示),

例:

IF(SamePeriod("m1009","min10",LastOrderTime(),F_SigTime())//如果取得新信号的时间与上次交易的时间是同一个周期F_SigPos

当前信号在模型中是第几个有指令的语句。

用法:

F_SigPos()如果当前信号是模型中第5个含信号的语句发出的,返回5

例:

IF(F_SigPos()==5)//如果当前信号是第5行发出的F_Close当前模型某根K线的收盘价。

用法:

F_Close(n)返回倒数第n+1根K线的收盘价 

例:

VARc;

c=F_Close(0);//c为最后一根K线收盘价F_Open当前模型某根K线的开盘价。

用法:

F_Open(n)返回倒数第n+1根K线的开盘价 

例:

VARc;

c=F_Open(0);//c为最后一根K线开盘价F_High当前模型某根K线的最高价。

用法:

F_High(n)返回倒数第n+1根K线的最高价 

例:

VARc;

c=F_High(0);//c为最后一根K线最高价F_Low当前模型某根K线的最低价。

用法:

F_Low(n)返回倒数第n+1根K线的最低价 

例:

VARc;

c=F_Low(0);//c为最后一根K线最低价F_Volume当前模型某根K线的成交量。

用法:

F_Volume(n)返回倒数第n+1根K线的成交量 

例:

VARc;

c=F_Volume(0);//c为最后一根K线成交量F_Opi当前模型某根K线的持仓量。

用法:

F_Opi(n)返回倒数第n+1根K线的持仓量 

例:

VARc;

c=F_Opi(0);//c为最后一根K线持仓量F_Avprice

当前模型某根K线的均价。

用法:

F_Avprice(n)返回倒数第n+1根K线的均价 

例:

VARc;

c=F_Avprice(0);//c为最后一根K线均价F_Variant当前模型某变量在某根K线上的值。

用法:

F_Variant(varname,n)返回模型中变量varname在倒数第n+1根K线的值

nvarname变量名类型为字符串

例:

//example.trd

...

MA5:

=MA(CLOSE,5); 

...

//example.stg

VARma5;

ma5=F_Variant("MA5",0);//c收盘价5个周期简单平均移动的最后一根K线值

6.下单接口函数

 

LastOrderTime()

最后一次下单的时间。

用法:

LastOrderTime()返回最后一次下单的时间,以总秒数表示

例:

IF(LastOrderTime()-CurrentTime()>=300)如果距离上次下单时间超过5分钟

T_IsExchangeOpen查询合约所属交易所的状态。

用法:

T_IsExchangeOpen(Code)返回合约Code所属的交易所的开闭盘状态,开盘返回1,闭盘返回0,查询失败返回-1。

例:

VARStatus;

Status=T_IsExchangeOpen("m1009");//Status为合约m1009所属交易所当前的开闭盘状态。

当Status为1时,说明该交易所开盘;当Status为0时,说明该交易所闭盘;当Status为-1时,说明当前查询失败。

 

T_BuyPosition(Code)

交易系统某合约多头持仓。

用法:

T_BuyPosition(Code)返回交易系统中合约Code的多头持仓,Code为某合约的合约代码。

例:

VARBuyVol;

BuyVol=T_BuyPosition("m1109");//BuyVol为交易系统中合约代码为m1109的合约的多头持仓。

 

T_BuyAvgPrice(Code)

交易系统某合约多头持仓成本价。

用法:

T_BuyAvgPrice(Code)返回交易系统合约Code的多头持仓成本价,Code为某合约合约代码。

例:

VARBuyPrice;BuyPrice=T_BuyAvgPrice("m1109");//定义一个变量BuyPrice,BuyPrice的值为交易系统合约m1109多头持仓成本价

 

T_BuyProfitLoss(code)

交易系统某合约的多头盈亏。

用法:

T_BuyProfitLoss(code)返回交易系统合约code的多头盈亏

例:

VARBuyEarn;

BuyEarn=T_BuyProfitLoss("m1109");//定义一个变量BuyEarn,BuyEarn的值为交易系统合约m1109的多头盈亏

 

T_SellPosition(Code)

交易系统某合约空头持仓。

用法:

T_SellPosition(Code)返回交易系统中合约Code的空头持仓,Code为某合约的合约代码。

例:

VARSellVol;

SellVol=T_SellPosition("m1109");//SVol为交易系统中合约代码为m1109的合约的空头持仓。

 

T_SellAvgPrice(code)

交易系统某合约空头持仓成本价。

用法:

T_SellAvgPrice(code)返回交易系统合约code的空头持仓成本价,code为某合约合约代码。

例:

VARSellPrice;

SellPrice=T_SellAvgPrice("m1109");//定义一个变量SellPrice,SellPrice的值为交易系统合约m1109空头持仓成本价

 

T_SellProfitLoss(code)

交易系统某合约的空头盈亏。

用法:

T_SellProfitLoss(code)返回交易系统合约code的空头盈亏

例:

VARSellEarn;

SellEarn=T_SellProfitLoss("m1109")定义一个变量SellEarn,SellEarn的值为交易系统合约m1109的空头盈亏

 

T_Deal(Code,bs,kp,vol,price)

发出委托。

用法:

T_Deal(Code,bs,kp,vol,price),发出委托。

Code(字符串):

合约编码,bs(整数0,1):

0买1卖,kp(整数0,1,2):

0开1平2平今Vol(整数):

下单手数,Price(整数或小数):

下单价格,0为市价返回唯一委托标识OrderID(字符串)

例:

VARorderID=T_Deal("m1109",0,0,5,2900);发出委托:

m1109买开5手限价2900

 

T_FreeMargin(Type)

可用资金。

用法T_FreeMargin(Type),返回可用资金。

 Type(整数0,1)0期货1股票,返回可用资金数(小数)

例:

VARmargin;

margin=T_FreeMargin(0);//返回当前期货的可用资金数

 

T_Equity(Type)

权益。

用法T_Equity(Type),返回权益。

 Type(整数0,1)0期货1股票,返回权益(小数)

例:

VARmargin;

margin=T_Equity(0);//返回当前期货的权益数

 

T_MaxOpen(Code,margin,bs)

某品种最大可开仓手数。

用法:

T_MaxOpen(Code,margin,bs),某品种最大可开仓手数。

Code(字符串):

合约编码,margin(小数):

保证金比例 bs(整数0,1):

0买1卖 返回该品种在当前可用资金,当前价格下的可开仓手数(整数)

例:

VARvol;

vol=T_MaxOpen("m1109",0.1,0);//变量vol为m1109的 在保证金比例为0.1下的可开仓手数

 

T_OrderState(OrderID)

查询委托状态。

用法:

T_OrderState(OrderID)根据委托唯一标识OrderID(字符串)查委托状态,返回值含义:

-1查询失败0挂单 1成交2被撤单 3部份成交4其它

例:

IF(T_OrderState(X)=0)如果委托X是挂单

 

T_OpenOrder(Code,Type)

查询挂单数量。

用法:

T_OpenOrder(Code,Type)返回未成交委托数量,Code:

交易编码,Type:

0所有方向;1买开;2卖平;3卖开;4买平

例:

IF(LastOrderTime()-CurrentTime>=300&&T_OpenOrder(ru1009,1)>0) 

T_OpenOrder("ru1009",1)//如果距离上次下单超过5分钟,且存在买开挂单,撤掉剩余买开委托合约X的未成交委托数量

 

T_DeleteOrder(OrderID)

委托撤单。

用法:

T_DeleteOrder(OrderID)根据委托唯一标识orderID(字符串)撤单,返回0撤单发出成功,返回其它失败

例:

IF(T_DeleteOrder

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2