Type/to search
2
Follow
0
Followers
Gerenciamento de pedidos, podemos adicionar um tempo de pedido à estrutura do pedido?
Help
Created 2016-05-02 18:39:20  
 3
 2205

Order Estrutura de ordens, retornada pela função GetOrder
{
Id: identificação única da transação
Price: Preço do pedido
Amount: quantidade de encomendas
DealAmount: Quantidade de transações
Status: estado da ordem, estado da ordem em uma constante de referência
Type: tipo de ordem, tipo de ordem na constante de referência
}
A partir daí, o que se passa é que a maioria das pessoas não tem tempo para se preocupar com o que vai acontecer.
No caso de muitos anúncios não serem fechados, é importante que cada anúncio seja válido no tempo.

Por exemplo: para remover o código de uma lista pendurada com mais de um determinado período de tempo:
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;
}
}
}
Isso é válido, desde que a estrutura ORDER tenha o atributo tempo de ordens time ≠ orders.time
Na linguagem mql4, a função de encomenda tem um parâmetro específico para o prazo de validade da encomenda.
Esperamos que o time seja incluído na estrutura de ordens.

Related Recommendations
Comment
All comments (3)

    好的,我会加上的, 更新之前可以这样解决

    创建一个全局的字典,把orderId与下单时间对应起来. 获取时间的时候,查表获取

    10 years ago

    好吧,玩不了高大上的字碘,只能等老大更新了

    10 years ago

    用了个函数封装返回对象。

    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
    }
    img
    这样行么?我也是 试试~~嘿嘿

    10 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)