文华财经策略编写下单组件编写新增函数Word文档下载推荐.docx

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

文华财经策略编写下单组件编写新增函数Word文档下载推荐.docx

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

文华财经策略编写下单组件编写新增函数Word文档下载推荐.docx

ask4"

ask5"

bidvol1"

bidvol2"

bidvol3"

bidvol4"

bidvol5"

askvol1"

askvol2"

askvol3"

askvol4"

askvol5"

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

VARbid1;

bid1=Position("

//bid1为豆粕1009的当前买1价

Price(Code)

某合约当前价格。

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

VARprice;

//定义一个变量price

price=Price("

//price的值为合约m1109的当前价格

Volume(Code)

某合约当前成交量。

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

VARvolume;

//定义一个变量volume

volume=Volume("

//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("

LastOrderTime(),Time("

09:

00:

00"

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

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("

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"

上升"

str=ReadGlobal(showStr);

//str的值为"

Time(strTime)

转换字符串为时间。

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

SS,其中0<

=HH<

24,0<

=MM<

60,0<

=SS<

60,如果不满足此条件,返回0

time:

Time("

15:

TimeToStr(nSec)

时间转换为字符串。

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

HH:

SS

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

WriteGlabal(Name,Value)

注册一个整形变量。

WriteGlabal(Name,Value)。

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

Period"

5)注册一个整形变量,注册名称为"

,值为5。

WriteGlabal(NameF,ValueF)

注册一个浮点形变量

WriteGlabal(NameF,ValueF)。

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

0.5)注册一个浮点形变量,注册名称为"

,值为0.5。

WriteGlabalStr(NameStr,ValueStr)

注册一个字符串变量

WriteGlabalStr(NameStr,ValueStr)。

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

)注册一个字符串变量,注册名称为"

,值为"

4.数学运算函数

ABS(Value)

取整形绝对值。

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

VARX;

X=ABS(5);

//X的值为5

ABSF(ValueF)

取浮点型的绝对值。

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

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()返回模型多头持仓成本价

price=F_BuyAvgPrice();

定义一个变量price,price的值为值为模型多头持仓

F_SellAvgPrice

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

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

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表示信号消失。

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

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

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线的开盘价 

c=F_Open(0);

//c为最后一根K线开盘价F_High当前模型某根K线的最高价。

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

c=F_High(0);

//c为最后一根K线最高价F_Low当前模型某根K线的最低价。

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

c=F_Low(0);

//c为最后一根K线最低价F_Volume当前模型某根K线的成交量。

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

c=F_Volume(0);

//c为最后一根K线成交量F_Opi当前模型某根K线的持仓量。

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

c=F_Opi(0);

//c为最后一根K线持仓量F_Avprice

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

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

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("

//Status为合约m1009所属交易所当前的开闭盘状态。

当Status为1时,说明该交易所开盘;

当Status为0时,说明该交易所闭盘;

当Status为-1时,说明当前查询失败。

T_BuyPosition(Code)

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

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

VARBuyVol;

BuyVol=T_BuyPosition("

//BuyVol为交易系统中合约代码为m1109的合约的多头持仓。

T_BuyAvgPrice(Code)

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

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

VARBuyPrice;

BuyPrice=T_BuyAvgPrice("

//定义一个变量BuyPrice,BuyPrice的值为交易系统合约m1109多头持仓成本价

T_BuyProfitLoss(code)

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

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

VARBuyEarn;

BuyEarn=T_BuyProfitLoss("

//定义一个变量BuyEarn,BuyEarn的值为交易系统合约m1109的多头盈亏

T_SellPosition(Code)

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

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

VARSellVol;

SellVol=T_SellPosition("

//SVol为交易系统中合约代码为m1109的合约的空头持仓。

T_SellAvgPrice(code)

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

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

VARSellPrice;

SellPrice=T_SellAvgPrice("

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

T_SellProfitLoss(code)

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

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

VARSellEarn;

SellEarn=T_SellProfitLoss("

)定义一个变量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("

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股票,返回权益(小数)

margin=T_Equity(0);

//返回当前期货的权益数

T_MaxOpen(Code,margin,bs)

某品种最大可开仓手数。

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

合约编码,margin(小数):

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

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

VARvol;

vol=T_MaxOpen("

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