Trade交易操作包含了发送交易请求,修改订单,平仓, 发送挂单交易请求,修改挂单,删除挂单操作API函数
函数 | 返回值类型 | 说明 |
---|---|---|
TradeSend | bool | 发送交易操作请求函数,止损和止盈为点数模式 |
TradeSendAsync | bool | 发送异步交易操作请求函数,止损和止盈为点数模式 |
TradePriceSend | bool | 发送交易操作请求函数,止损和止盈为价格模式 |
TradePriceSendAsync | bool | 发送异步交易操作请求函数,止损和止盈为价格模式 |
Buy | bool | 发送Buy方向交易操作请求函数 |
BuyAsync | bool | (异步)发送Buy方向交易操作请求函数 |
Sell | bool | 发送Sell方向交易操作请求函数 |
SellAsync | bool | (异步)发送Sell方向交易操作请求函数 |
TradeModifyByTicket | bool | 修改指定持仓单的止损价和止盈价操作函数 |
TradeModifyByTicketAsync | bool | (异步)修改指定持仓单的止损价和止盈价操作函数 |
TradeModifyByIndex | bool | 修改指定持仓单列表序号的止损价和止盈价操作函数 |
TradeModifyByIndexAsync | bool | (异步)修改指定持仓单列表序号的止损价和止盈价操作函数 |
TradeModifyZeroByTicket | bool | 清除指定持仓单的止损价或者止盈价操作 |
TradeModifyZeroByTicketAsync | bool | (异步)清除指定持仓单的止损价或者止盈价操作 |
TradeModifyZeroByIndex | bool | 清除指定持仓单列表序号的止损价或者止盈价操作 |
TradeModifyZeroByIndexAsync | bool | (异步)清除指定持仓单列表序号的止损价或者止盈价操作 |
TradeModify | void | 根据指定条件范围批量修改止损价和止盈价 |
TradeModifySL | void | 根据指定条件批量修改止损价 |
TradeModifySLAsync | void | (异步根据指定条件批量修改止损价 |
TradeModifyAsync | void | (异步)根据指定该范围批量修改止损价和止盈价 |
TradeModifyZero | void | 根据指定条件范围清除订单的止损价或者止盈价 |
TradeModifyZeroAsync | void | (异步)根据指定条件范围清除订单的止损价或者止盈价 |
TradeCloseByTicket | bool | 对指定持仓单进行平仓操作 |
TradeCloseByTicketAsync | bool | (异步)对指定持仓单进行平仓操作 |
TradeClose | void | 根据指定条件范围进行平仓操作 |
TradeClose | void | (异步)根据指定条件范围进行平仓操作 |
TradeSend
向交易服务器发送
同步交易操作请求
,也就是同步开仓函数,每完成一个交易请求,在进行下一个交易请求.
bool TradeSend(string symbol, // 交易品种
int type, // 订单方向
double volume, // 下单手数
int sl, //止损点数
int tp, // 止盈点数
int deviation, // 滑点值
string comment, // 注释
ulong magic) // 程序唯一识别码
如果相同的交易品种(symbol),订单方向(type),程序识别码(magic),注释(comment),如果4个条件都相同,就不会在开相同的订单, 你可以通过修改注释,进行再次开仓,或者理解为加仓操作
参数
symbol: 交易品种的名称,比如 "EURUSD"
type: 下单的方向,如果是buy方向,输入: 0, 如果是sell方向输入: 1
volume: 设下单的手数,下单手数范围: SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN)
和 SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX)
的返回值范围之间
sl: 止损点数,最终的止损价格会在下单价格基础上自行计算
tp: 止盈点数,最终的止盈价格会在下单价格基础上自行计算
deviation: 滑点值,可允许的下单目标价格误差,比如滑点设置为10
,下单目标价: 1.00001
, 此时市场最新报价1.00011
,那么最终成交价就是1.00011, 如果设置为0
,默认不设置滑点,会根据市场最新价格匹配交易价格
comment: 订单注释,在成功完成下单后会添加一个注释,用来标记该订单
magic: 程序唯一识别码,表示当前脚本运行时,当前脚本所有订单的唯一识别标记,用来管理当前脚本下所有订单
TradeSendAsync
向交易服务器发送
异步交易操作请求
,可以在同一时间发送多个订单请求
bool TradeSend(string symbol, // 交易品种
int type, // 订单方向
double volume, // 下单手数
int sl, //止损点数
int tp, // 止盈点数
int deviation, // 滑点值
string comment, // 注释
ulong magic) // 程序唯一识别码
如果相同的交易品种(symbol),订单方向(type),程序识别码(magic),注释(comment),如果4个条件都相同,就不会在开相同的订单, 你可以通过修改注释,进行再次开仓,或者理解为加仓操作
参数
symbol: 交易品种的名称,比如 "EURUSD"
type: 下单的方向,如果是buy方向,输入: 0, 如果是sell方向输入: 1
volume: 设下单的手数,下单手数范围: SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN)
和 SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX)
的返回值范围之间
sl: 止损点数,最终的止损价格会在下单价格基础上自行计算
tp: 止盈点数,最终的止盈价格会在下单价格基础上自行计算
deviation: 滑点值,可允许的下单目标价格误差,比如滑点设置为10
,下单目标价: 1.00001
, 此时市场最新报价1.00011
,那么最终成交价就是1.00011, 如果设置为0
,默认不设置滑点,会根据市场最新价格匹配交易价格
comment: 订单注释,在成功完成下单后会添加一个注释,用来标记该订单
magic: 程序唯一识别码,表示当前脚本运行时,当前脚本所有订单的唯一识别标记,用来管理当前脚本下所有订单
TradePriceSend
向交易服务器发送
同步交易操作请求
,也就是同步开仓函数,每完成一个交易请求,在进行下一个交易请求,stoploss是止损价(不是点数), takeprofit是止盈价(不是点数)
bool TradePriceSend(string symbol, // 交易品种
int type, // 订单方向
double volume, // 下单手数
double stoploss, //止损价
double takeprofit, // 止盈价
int deviation, // 滑点值
string comment, // 注释
ulong magic) // 程序唯一识别码
如果相同的交易品种(symbol),订单方向(type),程序识别码(magic),注释(comment),如果4个条件都相同,就不会在开相同的订单, 你可以通过修改注释,进行再次开仓,或者理解为加仓操作
参数
symbol: 交易品种的名称,比如 "EURUSD"
type: 下单的方向,如果是buy方向,输入: 0, 如果是sell方向输入: 1
volume: 设下单的手数,下单手数范围: SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN)
和 SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX)
的返回值范围之间
stoploss: 止损价格, 注意止损价格必须在合理的范围,如果是Buy方向: 止损价格不能超过Ask
价格,如果是Sell方向,止损价格不能低于Bid
的价格
takeprofit: 止盈价格, 注意止盈价格必须在合理的范围,如果是Buy方向: 止盈损价格不能低于Ask
价格,如果是Sell方向,止盈价格不能高于Bid
的价格
deviation: 滑点值,可允许的下单目标价格误差,比如滑点设置为10
,下单目标价: 1.00001
, 此时市场最新报价1.00011
,那么最终成交价就是1.00011, 如果设置为0
,默认不设置滑点,会根据市场最新价格匹配交易价格
comment: 订单注释,在成功完成下单后会添加一个注释,用来标记该订单
magic: 程序唯一识别码,表示当前脚本运行时,当前脚本所有订单的唯一识别标记,用来管理当前脚本下所有订单
TradePriceSendAsync
向交易服务器发送
异步交易操作请求
,也就是异步开仓函数,可以在同一时间发送多个订单请求,stoploss是止损价(不是点数), takeprofit是止盈价(不是点数)
bool TradePriceSend(string symbol, // 交易品种
int type, // 订单方向
double volume, // 下单手数
double stoploss, //止损价
double takeprofit, // 止盈价
int deviation, // 滑点值
string comment, // 注释
ulong magic) // 程序唯一识别码
如果相同的交易品种(symbol),订单方向(type),程序识别码(magic),注释(comment),如果4个条件都相同,就不会在开相同的订单, 你可以通过修改注释,进行再次开仓,或者理解为加仓操作
参数
symbol: 交易品种的名称,比如 "EURUSD"
type: 下单的方向,如果是buy方向,输入: 0, 如果是sell方向输入: 1
volume: 设下单的手数,下单手数范围: SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN)
和 SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX)
的返回值范围之间
stoploss: 止损价格, 注意止损价格必须在合理的范围,如果是Buy方向: 止损价格不能超过Ask
价格,如果是Sell方向,止损价格不能低于Bid
的价格
takeprofit: 止盈价格, 注意止盈价格必须在合理的范围,如果是Buy方向: 止盈损价格不能低于Ask
价格,如果是Sell方向,止盈价格不能高于Bid
的价格
deviation: 滑点值,可允许的下单目标价格误差,比如滑点设置为10
,下单目标价: 1.00001
, 此时市场最新报价1.00011
,那么最终成交价就是1.00011, 如果设置为0
,默认不设置滑点,会根据市场最新价格匹配交易价格
comment: 订单注释,在成功完成下单后会添加一个注释,用来标记该订单
magic: 程序唯一识别码,表示当前脚本运行时,当前脚本所有订单的唯一识别标记,用来管理当前脚本下所有订单
Buy
向交易服务器发送Buy方向的
同步交易操作请求
,也就是同步开仓函数,每完成一个交易请求,在进行下一个交易请求
bool Buy(string symbol, // 交易品种
double volume, // 下单手数
int sl, //止损点数
int tp, // 止盈点数
int deviation, // 滑点值
string comment, // 注释
ulong magic) // 程序唯一识别码
如果相同的交易品种(symbol),程序识别码(magic),注释(comment),如果3个条件都相同,就不会在开相同的订单, 你可以通过修改注释,进行再次开仓,或者理解为加仓操作
参数
symbol: 交易品种的名称,比如 "EURUSD"
volume: 设下单的手数,下单手数范围: SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN)
和 SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX)
的返回值范围之间
sl: 止损点数,最终的止损价格会在下单价格基础上自行计算
tp: 止盈点数,最终的止盈价格会在下单价格基础上自行计算
deviation: 滑点值,可允许的下单目标价格误差,比如滑点设置为10
,下单目标价: 1.00001
, 此时市场最新报价1.00011
,那么最终成交价就是1.00011, 如果设置为0
,默认不设置滑点,会根据市场最新价格匹配交易价格
comment: 订单注释,在成功完成下单后会添加一个注释,用来标记该订单
magic: 程序唯一识别码,表示当前脚本运行时,当前脚本所有订单的唯一识别标记,用来管理当前脚本下所有订单
BuyAsync
向交易服务器发送Buy方向的
异步交易操作请求
,可以在同一时间发送多个订单请求
bool BuyAsync(string symbol, // 交易品种
double volume, // 下单手数
int sl, //止损点数
int tp, // 止盈点数
int deviation, // 滑点值
string comment, // 注释
ulong magic) // 程序唯一识别码
如果相同的交易品种(symbol),程序识别码(magic),注释(comment),如果3个条件都相同,就不会在开相同的订单, 你可以通过修改注释,进行再次开仓,或者理解为加仓操作
参数
symbol: 交易品种的名称,比如 "EURUSD"
volume: 设下单的手数,下单手数范围: SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN)
和 SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX)
的返回值范围之间
sl: 止损点数,最终的止损价格会在下单价格基础上自行计算
tp: 止盈点数,最终的止盈价格会在下单价格基础上自行计算
deviation: 滑点值,可允许的下单目标价格误差,比如滑点设置为10
,下单目标价: 1.00001
, 此时市场最新报价1.00011
,那么最终成交价就是1.00011, 如果设置为0
,默认不设置滑点,会根据市场最新价格匹配交易价格
comment: 订单注释,在成功完成下单后会添加一个注释,用来标记该订单
magic: 程序唯一识别码,表示当前脚本运行时,当前脚本所有订单的唯一识别标记,用来管理当前脚本下所有订单
Sell
向交易服务器发送Sell方向的
同步交易操作请求
,也就是同步开仓函数,每完成一个交易请求,在进行下一个交易请求
bool Sell(string symbol, // 交易品种
double volume, // 下单手数
int sl, //止损点数
int tp, // 止盈点数
int deviation, // 滑点值
string comment, // 注释
ulong magic) // 程序唯一识别码
如果相同的交易品种(symbol),程序识别码(magic),注释(comment),如果3个条件都相同,就不会在开相同的订单, 你可以通过修改注释,进行再次开仓,或者理解为加仓操作
参数
symbol: 交易品种的名称,比如 "EURUSD"
volume: 设下单的手数,下单手数范围: SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN)
和 SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX)
的返回值范围之间
sl: 止损点数,最终的止损价格会在下单价格基础上自行计算
tp: 止盈点数,最终的止盈价格会在下单价格基础上自行计算
deviation: 滑点值,可允许的下单目标价格误差,比如滑点设置为10
,下单目标价: 1.00001
, 此时市场最新报价1.00011
,那么最终成交价就是1.00011, 如果设置为0
,默认不设置滑点,会根据市场最新价格匹配交易价格
comment: 订单注释,在成功完成下单后会添加一个注释,用来标记该订单
magic: 程序唯一识别码,表示当前脚本运行时,当前脚本所有订单的唯一识别标记,用来管理当前脚本下所有订单
SellAsync
向交易服务器发送Sell方向的异步交易操作请求
,可以在同一时间发送多个订单请求
bool SellAsync(string symbol, // 交易品种
double volume, // 下单手数
int sl, //止损点数
int tp, // 止盈点数
int deviation, // 滑点值
string comment, // 注释
ulong magic) // 程序唯一识别码
如果相同的交易品种(symbol),程序识别码(magic),注释(comment),如果3个条件都相同,就不会在开相同的订单, 你可以通过修改注释,进行再次开仓,或者理解为加仓操作
参数
symbol: 交易品种的名称,比如 "EURUSD"
volume: 设下单的手数,下单手数范围: SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN)
和 SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX)
的返回值范围之间
sl: 止损点数,最终的止损价格会在下单价格基础上自行计算
tp: 止盈点数,最终的止盈价格会在下单价格基础上自行计算
deviation: 滑点值,可允许的下单目标价格误差,比如滑点设置为10
,下单目标价: 1.00001
, 此时市场最新报价1.00011
,那么最终成交价就是1.00011, 如果设置为0
,默认不设置滑点,会根据市场最新价格匹配交易价格
comment: 订单注释,在成功完成下单后会添加一个注释,用来标记该订单
magic: 程序唯一识别码,表示当前脚本运行时,当前脚本所有订单的唯一识别标记,用来管理当前脚本下所有订单
TradeModifyByTicket
根据订单号对持仓订单进行修改订单操作,可修改属性: 止损价, 止盈价
TradeModifyByTicket(const ulong ticket, // 订单号
const double stoploss, // 修改的止损价格
const double takeprofit) // 修改的止盈价格
参数
ticket: 持仓单的订单号
stoploss: 修改后的新的止损价
takeprofit: 修改后新的止盈价
TradeModifyByTicketAsync
根据订单号对持仓订单进行修改订单操作(异步修改请求,可以同一时间对多个订单发送修改请求)
可修改属性: 止损价, 止盈价
TradeModifyByTicket(const ulong ticket, // 订单号
const double stoploss, // 修改的止损价格
const double takeprofit) // 修改的止盈价格
参数
ticket: 持仓单的订单号
stoploss: 修改后的新的止损价,如果设置为0时,将不影响原来的止损价,如果需要将止损价清除, 请使用TradeModifyZeroByTicket
函数
takeprofit: 修改后新的止盈价, 如果设置为0时,将不影响原来的止盈价,如果需要将止盈价清除, 请使用TradeModifyZeroByTicket
函数
TradeModifyZeroByTicket
根据订单号,清除止损价或者止盈价
TradeModifyZeroByTicket(const ulong ticket, // 订单号
const bool stoploss_zero, // 是否将止损价清零
const bool takeprofit_zero) // 是否将止价价清零
参数
ticket: 持仓单的订单号
stoploss_zero: 是否将止损价清零,如果是true,将会清零,如果是false,保持原来止损价不变
takeprofit_zero: 是否将止盈价清零,如果是true,将会清零,如果是false,保持原来止盈价不变
TradeModifyZeroByTicketAsync
根据订单号(异步操作),清除止损价或者止盈价
TradeModifyZeroByTicket(const ulong ticket, // 订单号
const bool stoploss_zero, // 是否将止损价清零
const bool takeprofit_zero) // 是否将止价价清零
参数
ticket: 持仓单的订单号
stoploss_zero: 是否将止损价清零,如果是true,将会清零,如果是false,保持原来止损价不变
takeprofit_zero: 是否将止盈价清零,如果是true,将会清零,如果是false,保持原来止盈价不变
TradeModify
根据指定的条件范围批量修改止损止盈
TradeModify(const string symbol, // 交易品种
const int type, // 订单方向
const double stoploss, // 新的止损价
const double takeprofit, // 新的止盈价
const ulong magic) // 程序识别码
参数
symbol: 指定修改的交易品种范围
type: 指定订单方向,如果为0,表示buy方向,如果为1,表示sell方向
stoploss: 新的止损价,如果为0,表示不修止损价,保持原来的止损价格不变
takeprofit: 新的止盈价,如果为0,表示不修止盈价,保持原来的止盈价格不变
magic: 程序识别码
TradeModifyAsync
(异步)根据指定的条件范围批量修改止损止盈
TradeModify(const string symbol, // 交易品种
const int type, // 订单方向
const double stoploss, // 新的止损价
const double takeprofit, // 新的止盈价
const ulong magic) // 程序识别码
参数
symbol: 指定修改的交易品种范围
type: 指定订单方向,如果为0,表示buy方向,如果为1,表示sell方向
stoploss: 新的止损价,如果为0,表示不修止损价,保持原来的止损价格不变
takeprofit: 新的止盈价,如果为0,表示不修止盈价,保持原来的止盈价格不变
magic: 程序识别码
TradeModifyZero
根据指定的条件范围批量对止损或者止盈清零
TradeModify(const string symbol, // 交易品种
const int type, // 订单方向
const bool stoploss_zero, // 是否清除止损价
const bool takeprofit_zero, // 是否清除止盈价
const ulong magic) // 程序识别码
参数
symbol: 指定修改的交易品种范围
type: 指定订单方向,如果为0,表示buy方向,如果为1,表示sell方向
stoploss_zero: 是否将止损价清零,如果是true,将会清零,如果是false,保持原来止损价不变
takeprofit_zero: 是否将止盈价清零,如果是true,将会清零,如果是false,保持原来止盈价不变
magic: 程序识别码
TradeModifyZeroAsync
根据指定的条件范围批量对止损或者止盈清零
TradeModify(const string symbol, // 交易品种
const int type, // 订单方向
const bool stoploss_zero, // 是否清除止损价
const bool takeprofit_zero, // 是否清除止盈价
const ulong magic) // 程序识别码
参数
symbol: 指定修改的交易品种范围
type: 指定订单方向,如果为0,表示buy方向,如果为1,表示sell方向
stoploss_zero: 是否将止损价清零,如果是true,将会清零,如果是false,保持原来止损价不变
takeprofit_zero: 是否将止盈价清零,如果是true,将会清零,如果是false,保持原来止盈价不变
magic: 程序识别码
TradeCloseByTicket
根据指定的订单进行平仓
平仓订单所有下单手数
TradeCloseByTicket(const ulong ticket, // 订单号
const int deviation) // 滑点值
平仓订单部分下单手数
TradeCloseByTicket(const ulong ticket, // 订单号
const double volume, // 需要平仓部分手数
const int deviation) // 滑点值
参数
ticket: 需要平仓的订单编号
volume: 平仓手数,最大不能超过持仓单本来的下单手数
deviation: 滑点值
TradeCloseByTicketAsync
根据指定的订单进行异步平仓
平仓订单所有下单手数
TradeCloseByTicketAsync(const ulong ticket, // 订单号
const int deviation) // 滑点值
平仓订单部分下单手数
TradeCloseByTicketAsync(const ulong ticket, // 订单号
const double volume, // 需要平仓部分手数
const int deviation) // 滑点值
参数
ticket: 需要平仓的订单编号
volume: 平仓手数,最大不能超过持仓单本来的下单手数
deviation: 滑点值
TradeClose
批量进行指定条件的平仓操作
TradeClose(const string symbol, // 交易品种
const int type, // 持仓方向
const int deviation, // 滑点值
const ulong magic) // 程序识别码
参数
symbol: 指定的交易品种范围
type: 指定的订单方向,如果为0,表示buy方向范围, 如果为1,表示sell方向范围,如果为-1,表示buy和sell方向所有范围
deviation: 滑点值
magic: 程序识别码
TradeCloseAsync
批量异步并发进行指定条件的平仓操作
TradeCloseAsync(const string symbol, // 交易品种
const int type, // 持仓方向
const int deviation, // 滑点值
const ulong magic) // 程序识别码
参数
symbol: 指定的交易品种范围
type: 指定的订单方向,如果为0,表示buy方向范围, 如果为1,表示sell方向范围,如果为-1,表示buy和sell方向所有范围
deviation: 滑点值
magic: 程序识别码