Order آرڈر ڈھانچہ ، جو GetOrder فنکشن کے ذریعہ واپس کیا جاتا ہے
{
ID: ٹرانزیکشن بیلنس کی منفرد شناخت
قیمت: کم از کم قیمت
Amount: آرڈر کی مقدار
DealAmount: سودے کی مقدار
حیثیت: آرڈر کی حیثیت ، آرڈر کی حیثیت حوالہ مستقل میں
قسم: آرڈر کی قسم ، حوالہ مستقل مقدار میں آرڈر کی قسم
}
ایک اور وقت کا آرڈر اس ڈھانچے میں
اس کے علاوہ، یہ بھی اہم ہے کہ ہر ایک کو کب تک مؤثر ہونا چاہئے، جب تک کہ بہت سے لین دین نہیں کیے جاتے ہیں.
مثال کے طور پر: ایک مخصوص وقت سے زیادہ کی فہرستوں کو ہٹانے کے لئے کوڈ:
function DelPendingOrderstime(time) {
while (true) {
var orders = GetRecords();
if (!orders) {
Sleep(2000);
continue;
}
var counter = 0;
for (var i = 0; i < orders.length; i++) {
if (new Date().getTime()-orders[i].Time >= time) {
exchange.CancelOrder(orders[i].Id);
counter++;
Sleep(2000);
}
}
if (counter === 0) {
break;
}
}
}
یہ کام کرتا ہے، اگر ORDER اس ڈھانچے میں آرڈر وقت time اس صفت کے ساتھ کام کرتا ہے.orders.time
ایم کیو ایل 4 میں ، آرڈر فنکشن کے پاس ایک خاص آرڈر کی مدت ہے ، جس کا مطلب ہے کہ آرڈر کی مدت ختم ہوجاتی ہے۔
امید ہے کہ یہ ٹائم آرڈرز کے ڈھانچے میں شامل کیا جائے گا
用了个函数封装返回对象。
function createNewOrder(order){
var opTime = new Date();
return {
Id : order.Id, //交易单唯一标识
Price : order.Price, //下单价格
Amount : order.Amount, //下单数量
DealAmount : order.DealAmount, //成交数量
Status : order.Status, //订单状态, 参考常量里的订单状态 Type
time : opTime // 新增加的属性,为调用该函数的时间,该函数 在下单后 用GetOrder(ID) 函数 获取order结构 后调用新封装入时间
};
}
function main(){
var id = exchange.Buy(-1,1);
var order = exchange.GetOrder(id);
var newOrder = createNewOrder(order);
Log("the newOrder `s time:",newOrder.time);
Log("the newOrder is:",newOrder);
Log("ORDER_STATE_PENDING:",ORDER_STATE_PENDING);//ORDER_STATE_PENDING :未完成
Log("ORDER_STATE_CLOSED:",ORDER_STATE_CLOSED);//ORDER_STATE_CLOSED :已关闭
Log("ORDER_STATE_CANCELED",ORDER_STATE_CANCELED);//ORDER_STATE_CANCELED
}

这样行么?我也是 试试~~嘿嘿
- 1

