外汇MT4编程手册

时间:2021-08-14 08:31:53

1、为了最大的方便用户,交易中断的一些变量可以从智能系统输入。

AccountNumber-账号(同义词:AccNum)

Ask –卖价(买方出价)

Balance – 交易账户的余额值

Bars – 图表上条形的数目-说明用数据填充图表程度的非常重要的一个变量。

Bid -买入价(卖方要价)

Close –收盘价格

Credit –信用优先

Equity –账户状况,包括未实现利润

FreeMargin –交易账户的*保证金值-也用来核查账户资金的可用性;

High –期间最高价位

Low -期间最低价位

Margin –用来支撑开仓部位的资金(保证金)

Open –开盘价

Point – 当前金融工具单点上的价值(此点此时智能交易系统系统运行),比如, USD/JPY -

0.01, USD/CHF - 0.0001 等。

PriceAsk –在市场观测窗口上显示的当前卖价。

PriceBid -在市场观测窗口上显示的当前买价。

PriceHigh – 当前24 小时期间的最高买价。

PriceLow -当前24 小时期间的最高卖价。

PriceTime -在市场观测窗口上显示的当前时间。

Time – 价格图表上的条形时间的基准时间;

TotalProfit – 所有开仓部位的总未实现利润;

TotalTrades –开仓部位的总数和交易中断上的延迟订单;

Volume – 交易量(期间交易的数目)

应注意到,Close, Open, High, Low, Volume, Time为历史数据数组(seriesarrays),在上个交易期间允许进入这些数据。

2、内置函数

Abs –返回这个数值的绝对值(模块)

语法:Abs函数 (n个表达式)

参数: 数值

AccountName – 返回包含用户名的文本串 (同义词:AccName )

Alert –产生包含用户定义数据的对话屏

语法: Alert(...)

参数的任何非零数都可能。

Ceil – 返回代表最小接近整数的一个数字,它等于或大于特定的数值。

语法:Ceil( n个表达式 )

参数:数值

CloseOrder –收盘头寸(部位)

语法:收盘头寸(订单、单位、价格、滑动量、色彩)

Parameters: 参数:

order -开仓部位的订单数

lots – 单位数

price –优先收盘价

slippage –最大价格滑动值

color – 图表上交叉点的色彩

Comment –在图表的左上角产生的用户定义数据

语法: Comment(...)

参数的任何非零数都可能。

Cos –计算和返回数值的余弦值,代表用弧度表示的角度。

语法: Cos( n分表达式 )

参数:数值

CurTime –返回从1970 年元月1 日起所经过的秒数。

Day – 返回当月当前日序列号

DayOfWeek –返回当周当前日序列号。1 – 星期日, 2 – 星期一, ... , 7 – 星期六

DeleteOrder –删除前期提交的延迟订单

语法:DeleteOrder( 订单 )

参数: 订单-延迟部位的订单数

Exp – 返回代表特定数值指数的一个数目

语法: Exp( n个表达式)

参数:数值

Floor –返回代表最大接近整数的一个数字,它等于或小于特定的数值。

语法: Floor( n个表达式)

参数:数值

Highest – 返回期间特定数间的 Open, Low, High, Close or Volume (取决于“类型”参数)的最大

值。

语法: Highest( 类型、beginbar、期间 )

Parameters: 参数:

Type 类型 – 一个返回变量,可能去下列数值: MODE_OPEN, MODE_LOW, MODE_HIGH,

MODE_CLOSE, MODE_VOLUMEbeginbar –表示条形的转换,与当前条形有关,并从中取值。

periods期间 – 计算执行依据的期间数

Hour –返回在24 小时期间内当前小时的序列数。

iADX -平均指导动作目录

语法:iADX( 期间、模式、转换)

参数:

period – 计算的期间数;

mode – 数据类型,可以取下列数值:MODE_MAIN(主要指标)、MODE_PLUSDI(line +DI),

MODE_MINUSDI(line -DI).

shift  与当前条形有关的转换 (后退期间数),为数据待取值的依据。

iATR - 平均间距的指标

语法:iATR( 期间、转换)

参数:

period – 计算期间数;

shift – 与当前条形(后退期间数)相关的转换,为数据待取值的依据。

平均移动收敛/发散指标(iBANDS –– 布林带指数

语法: iBANDS(期间,误差,模式,转换)

参数:

period – 计算的期间数;

deviation -误差;

mode – 可以取下列值: MODE_MAIN(主线、滑移)、 MODE_LOW(下边线), MODE_HIGH(上边线).

shift – 与当前条形(后退期间数)相关的转换,为数据待取值的依据。

iCCI – 交易通道指标

语法: iCCI(期间、转换)

参数:

period – 计算的期间数

shift – 与当前条形(后退期间数)相关的转换,为数据待取值的依据。

iMA – 移动平均指标

语法: iMA( 期间、模式、转换)

参数:

period – 计算的期间数

mode – 计算模式,可以取下列值: MODE_SMA, MODE_EMA, MODE_WMA.

shift – 与当前条形(后退期间数)相关的转换,为数据待取值的依据。

iMACD -平均移动收敛/发散指标

语法: iMACD( fast_ema_period, slow_ema_period, signal_period, mode, shift )

参数:

fast_ema_period -计算'快' 平均移动期间(通常12);

slow_ema_period - number of periods for calculation of the 'slow' moving average (usually

26);

signal_period计算'慢' 平均移动期间(通常12);

mode 数据源,可以取下列值:MODE_MAIN (主要指标)、MODE_SIGNAL (信号列);

shift -与当前条形(后退期间数)相关的转换,为数据待取值的依据。

iMFI – 现金流量指标

语法: iMFI( 期间、转换)

参数:

period – 计算期间数;

shift – 与当前条形(后退期间数)相关的转换,为数据待取值的依据。

iMOM – 动量指标

语法:iMOM( 期间、转换)

参数:

period – 计算期间数;

shift – 与当前条形(后退期间数)相关的转换,为数据待取值的依据。

iRSI – 相对强弱指标

语法:iRSI(期间、转换)

参数:

期间 – 计算期间数;

iSAR -抛物线

语法: iSAR(步骤,最大值,转换)

参数:

步骤-增量,通常是0.02;

最大值 – 最大值, 通常是0.02;

iSTO - "随机振荡"指标

语法: iSTO( %K期间、 %D期间、 慢、方法、模式、转换)

参数:

%Kperiod - %K线期间;

%Dperiod - %D线期间;

slowing – 慢值;

method – 计算方法,取下列值:MODE_SMA (简单平均)、MODE_EMA (指数值)、MODE_WMA (权

重值);

mode – 数据源,可以取下列值: MODE_MAIN (主指标线), MODE_SIGNAL (信号指标线);

shift -与当前条形(后退期间数)相关的转换,为数据待取值的依据。

iWPR -威廉氏百分数范围指标

语法:iWPR( 期间、转换)

参数:

期间 – 计算期间数;

shift – 与当前条形(后退期间数)相关的转换,为数据待取值的依据。

IsDemo – 如果智能交易系统系统在试用帐户运行,返回逻辑值,否则会返回错误值.

IsIndirect –如果使用反向方式对特定工具进行计算,会返回正确的逻辑值,否则会返回错误值。

LastTradeTime –返回代表最近交易执行时间的一个数字(SetOrder, DelOrder, CloseOrder,

ModifyOrder),计算从1970 年元月1 日0 点经过的秒钟数。

Log (-特定正数值的对数

语法:日志( n个表达式)

参数: 正数值

Lowest - 特定期间返回开仓,低,高,收盘或交易量最小值(依据"类型"参数而定) ...returns

语法:最低点(类型、beginbar、 期间)

参数:

type – 可以取下列值: MODE_OPEN, MODE_LOW, MODE_HIGH, MODE_CLOSE,

MODE_VOLUME

beginbar –表示条形的转换,与当前条形有关,并从中取值。

periods期间 – 计算执行依据的期间数

Minute –返回当前小时的分钟序列数。

Mod -返回代表着一个接着一个的数值的整数

语法:Mod( n个表达式1, n个表达式2)

参数: 数值1、数值2

ModifyOrder –前期开仓部位或延迟订单修改的特征

语法:ModifyOrder( 订单、价格、止损、获利、色彩)

参数:

order – 开仓或延迟部位的数目或订单;

price – 新的价格 (仅适用于延迟部位!);

stoploss – 新的止损水平线;

takeprofit – 新的获利水平线;

color – 图表上象形图 的色彩

Month –返回当前月的续列号

MoveObject –移动或建立命名对象

语法:MoveObject( 名称、类型、时间、价格、 时间2、时间2)

参数:

name – 文本串形式的名称;

type – 对象类型,可以取下列值:OBJ_HLINE (水平线)、OBJ_VLINE (垂直线), OBJ_TRENDLINE (趋

势线)、 OBJ_SYMBOL (设定象形图)、 OBJ_TEXT (文本串);

time – 参照图表第一时间;

price -参照图表第一价格;

time2 -参照图表第二时间;

price2 -参照图表第二时间

NumberToStr – 返回特定数值转换成特定准确格式的文本串。通过在十进位点数之后的其他4 个数产

生的数值的函数。

语法: NumberToStr(数字、准确性)

参数:

number – 特定数值;

precision – 准确格式、十进位点数的数字

OrderValue – 返回订单特定价值的之一

语法:OrderValue(部位、模式)

参数:

position – 交易终端列表的订单头寸部位,从1 开始;

mode – 返回数据类型,可以取下列值:VAL_TICKET (订单数), VAL_OPENTIME (定定开仓时间),

VAL_TYPE (订单类型), VAL_LOTS (要求单位数目), VAL_SYMBOL (工具名称,以文本串的形式),

VAL_OPENPRICE (开盘价), VAL_STOPLOSS (止损水平线), VAL_TAKEPROFIT (获利水平线),

VAL_CLOSEPRICE (收盘价), VAL_COMISSION (委托交易量), VAL_SWAP (部位展期的展期费用数

额), VAL_PROFIT (交易利润数), VAL_COMMENT (以文本串形式对特殊部位的注解),

VAL_CLOSETIME (订单收盘时间)。

Ord –和OrderValue完全相同。

Period –返回界定的已用期间分钟数

Pow – 返回由nBaseExpression数值提高到nExponentExpression 倍数而产生的数值,参见参数。

语法:Pow( nBaseExpression, nExponentExpression )

参数:数值1、数值2。

Print – 打印由用户在系统日志里界定的数据。

语法: Print(...)

参数的任何非零数均可能。

PrintTrade – 存储日志中特殊部位的细节

语法: PrintTrade( 部位 )

参数:部位  在交易终端里已开仓部位数字

Rand –返回一个产生的伪随机数字。在使用此函数之前,伪随机数字发生器应用Srand函数调整到初始

状态。 如果伪随机数字发生器不用,就在启动程序时一次调整到初始状态。

Round – 返回代表最接近整数的特定数值

语法: Round( n个表达式)

参数: 一个数值

ServerAddress –以文本串的形式返回服务器IP地址

SetArrow –设定图表绘图标志

语法: SetArrow( 时间、价格、标志和色彩)

参数:

time -参照图表第一时间;

price -参照图表第一价格;

symbol -从Wingdings字体设定标志 的数值;

color -图表颜色

SetObjectText -指定文本串到特定的对象

语法: SetObjectText(称,文本,字体, 尺寸,颜色)

参数:

name – 对象名称;

text – 特定文本;

font – 字体命;

size – 字体大小;

color – 文本色彩.

SetOrder –用于开仓或设定延迟订单的主函数。

语法:SetOrder( 操作、单位、价格、滑动、止损、获利、色彩)

参数:

operation – 操作类型,可以取下列值:OP_BUY (开始购买部位), OP_SELL (开始出售部位),

T

OP_BUYLIMIT, OP_SELLLIMIT, OP_BUYSTOP, OP_SELLSTOP (提交延迟订单);

lots – 单位数;

price – 交易优先收盘价;

slippage - OP_BUY 和OP_SELL操作的最大价格滑动;

stoploss – 止损水平线;

takeprofit – 获利水平线;

color – 当提取函数时,图表上箭头的色彩

SetText –把图表种的文本创放到特定的位置

语法:SetText( 时间、价格、字符串、色彩 )

参数:

time -参照图表第一时间;

price -参照图表第一价格;

string – 文本串;

color – 文本色彩

Sin -计算并返回代表弧度角度的数值

语法:Sin( n个表达式)

参数: 数值

Sqrt -计算和返回特定正数值的平方根

语法: Sqrt( n个表达式 )

参数: 正数值

Srand – 设定伪随机数字发生器到初始状态。如果使用发生器,将其在启动程序时一次性设置到初始状

态。 初始设置所用的最佳值就是时间函数回归的数字-在此情况下,产生顺序的随机性就增大。

语法:Srand( 时间)

参数: 正数值

Symbol –返回智能交易系统运行的金融工具名称的文本串。

Tan -计算并返回代表角度弧度的正切数值。

语法: Tan( n个表达式)

参数: 数值

TimeToStr – 返回带有"yyyy.mm.dd hh:mi" 类型的文本串,由代表经过1970 元月1 日起的秒钟数

的特定数值。

语法: TimeToStr( 时间)

参数: 正数值

Year – 返回当年数。