下单成功返回订单Id,下单失败返回空值。 FMZ平台的订单{@struct/Order Order}结构的属性```Id```由交易所品种代码和交易所原始订单Id组成,以英文逗号间隔。例如OKX交易所的现货交易对```ETH_USDT```订单的属性```Id```格式为:```ETH-USDT,1547130415509278720```。 调用```exchange.Sell()```函数下单时,返回值订单```Id```与订单{@struct/Order Order}结构的```Id```属性一致。
string、空值
exchange.Sell(price, amount)
exchange.Sell(price, amount, ...args)
```price```参数用于设置订单价格。
price
true
number
```amount```参数用于设置订单量。
amount
true
number
扩展参数,可以输出附带信息到这条下单日志中,```arg```参数可以传多个。
arg
false
string、number、bool、object、array、空值等系统支持的任意类型
```javascript
function main(){
var id = exchange.Sell(100, 1)
Log("id:", id)
}
def main():
id = exchange.Sell(100, 1)
Log("id:", id)
void main() {
auto id = exchange.Sell(100, 1);
Log("id:", id);
}
```javascript
// 以下为错误调用
function main() {
exchange.SetContractType("quarter")
// 设置做空方向
exchange.SetDirection("sell")
// 下买单,会报错,做空只能卖出
var id = exchange.Buy(50, 1)
// 设置做多方向
exchange.SetDirection("buy")
// 下卖单,会报错,做多只能买入
var id2 = exchange.Sell(60, 1)
// 设置平多方向
exchange.SetDirection("closebuy")
// 下买单,会报错,平多只能卖出
var id3 = exchange.Buy(-1, 1)
// 设置平空方向
exchange.SetDirection("closesell")
// 下卖单,会报错,平空只能买入
var id4 = exchange.Sell(-1, 1)
}
# 以下为错误调用
def main():
exchange.SetContractType("quarter")
exchange.SetDirection("sell")
id = exchange.Buy(50, 1)
exchange.SetDirection("buy")
id2 = exchange.Sell(60, 1)
exchange.SetDirection("closebuy")
id3 = exchange.Buy(-1, 1)
exchange.SetDirection("closesell")
id4 = exchange.Sell(-1, 1)
// 以下为错误调用
void main() {
exchange.SetContractType("quarter");
exchange.SetDirection("sell");
auto id = exchange.Buy(50, 1);
exchange.SetDirection("buy");
auto id2 = exchange.Sell(60, 1);
exchange.SetDirection("closebuy");
auto id3 = exchange.Buy(-1, 1);
exchange.SetDirection("closesell");
auto id4 = exchange.Sell(-1, 1);
}
加密货币期货合约下单时必须注意交易方向是否设置正确,如果交易方向和交易函数不匹配会报错:
direction is sell, invalid order type Buy
direction is buy, invalid order type Sell
direction is closebuy, invalid order type Buy
direction is closesell, invalid order type Sell
// 例如交易对:ETH_BTC,市价单卖出
function main() {
// 注意:下市价单卖出,卖出0.2个ETH
exchange.Sell(-1, 0.2)
}
def main():
exchange.Sell(-1, 0.2)
void main() {
exchange.Sell(-1, 0.2);
}
现货市价单。
期货合约下单时必须注意交易方向是否设置正确,如果交易方向和交易函数不匹配会报错。 加密货币期货合约交易所的下单量如无特殊说明则为合约张数。
参数price
设置为-1
用于下市价单,需要交易所的下单接口支持市价单。 加密货币现货的市价单方式下单,下卖单时,下单量参数amount
是以交易币为单位的数量。 加密货币期货合约的市价单方式下单,下单量参数amount
的单位为合约张数。实盘时,有少数加密货币交易所不支持市价单接口。
如使用较旧版本的托管者,exchange.Sell()
函数的返回值订单Id
可能与当前文档中描述的返回值订单Id
有差别。
{@fun/Trade/exchange.Buy exchange.Buy}, {@fun/Futures/exchange.SetContractType exchange.SetContractType}, {@fun/Futures/exchange.SetDirection exchange.SetDirection}