Order অর্ডার স্ট্রাকচার, GetOrder ফাংশন দ্বারা ফেরত
{
আইডিঃ লেনদেনের অনন্য আইডি
Price: মূল্য নির্ধারণ করুন
Amount: অর্ডার পরিমাণ
ডিল অ্যামাউন্টঃ ডিলের পরিমাণ
Status: অর্ডার স্ট্যাটাস, রেফারেন্স কনস্ট্যান্টের অর্ডার স্ট্যাটাস
Type: অর্ডার টাইপ, রেফারেন্স ধ্রুবক অর্ডার টাইপ
}
এই কাঠামোর মধ্যে আরও একটি অর্ডার টাইম আছে।
অনেকগুলি শিরোনামের ক্ষেত্রে, প্রতিটি শিরোনাম কার্যকর হওয়ার সময়টি গুরুত্বপূর্ণ
উদাহরণস্বরূপঃ একটি নির্দিষ্ট সময়ের বেশি সময় ধরে থাকা তালিকা থেকে কোড মুছে ফেলার জন্যঃ
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 থাকলে এই ধারণাই সত্য।
mql4 ভাষায়, অর্ডার ফাংশন বিশেষভাবে একটি অর্ডার মেয়াদকালের জন্য একটি প্যারামিটার আছে,
আশা করি, ওল্ড ওয়ার অর্ডারস স্ট্রাকচারে এই টাইম যুক্ত করতে পারবে।
用了个函数封装返回对象。
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

