//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает тип последней закрытой позиции или -1 |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+intGetTypeLastClosePos(stringsy="", intmn=-1){datetimet;
inti, k=OrdersHistoryTotal(), r=-1;
if(sy=="0")sy=Symbol();
for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){if((OrderSymbol()==sy || sy=="") && (mn<0 || OrderMagicNumber()==mn)){if(OrderType()==OP_BUY || OrderType()==OP_SELL){if(t<OrderCloseTime()){t=OrderCloseTime();
r=OrderType();
}}}}}return(r);
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает тип последней открытой позиции или -1 |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+intGetTypeLastOpenPos(stringsy="", intmn=-1){datetimet;
inti, k=OrdersTotal(), r=-1;
if(sy=="0")sy=Symbol();
for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if((OrderSymbol()==sy || sy=="") && (mn<0 || OrderMagicNumber()==mn)){if(OrderType()==OP_BUY || OrderType()==OP_SELL){if(t<OrderOpenTime()){t=OrderOpenTime();
r=OrderType();
}}}}}return(r);
}
GetTypeLastClosePos()函数。
该函数返回最后关闭位置的类型或-1。更准确地选择要考虑的位置是由外部参数定义的。
GetTypeLastOpenPos()函数。
该函数返回最后一次开仓的类型或-1。要考虑的位置的更精确选择是由外部参数指定的。
OpenPosition()函数用于在线。
错误代码 142和143是什么意思。
谢谢你。
错误代码142和143是什么意思?
142 - 该订单已被排队。
143 - 该订单已被交易商接受执行。
欲了解更多信息,请看这里。
医生建议将其作为错误处理 128
如果可能的话,从你的观点或立场出发,说一两句话......
医生建议将其作为错误处理 128
如果可能的话,从你的观点或立场出发,说上一两句...
我的观点在Andrei上面两个帖子给出的代码中表达。
对不起...看到了,当然...
我觉得这有点不清楚。
除此以外,我不知道...睡眠...
但如果和如果进一步,就不是那么回事了。
即睡觉,然后如果 有一个位置,如果 我们玩一个行进。
-
好吧,如果这是个更蹩脚的问题,再次抱歉,可以不 回答了。
好吧,如果这是个更蹩脚的问题,我 再次抱歉,我就不说了。
不...让我们把它整理出来......... 一场对决加深了理解我只是不明白你不明白什么。用更简单和更常规的术语来表述这个问题。你是否对休眠间隔感到困惑?为什么正好是66秒?
不,不是这个!这一点毫无疑问...绝对的!
但在这个片段中,进一步的逻辑顺序行动就不那么好了。
比方说,我们得到一个错误代码,我们睡觉,然后我们得到一个boolt,Spoin's Waltz播放,如果这个功能打开......
-
(该死的,信息尾巴都消失了,我不得不重复自己的观点:(()
-
更感兴趣的是如何继续已经开始的工作!
即进一步的交易姿态:要么功能会楚楚动人
要么功能会突突地响,直到它打开,要么它将控制权交给另一个功能......
在第一种情况下,不清楚如何 "循环",调用 "自身 "或如何?
嗯...我还是不明白。我将随机拍摄。以下所有内容将适用于错误128、142和143。
如果不以任何方式处理错误128,你有可能得到两个相同的开仓头寸,而不是一个。在两年的两个真实账户的交易中,我只遇到过一次这样的情况。重复头寸的发生是因为交易服务器由于某种原因,向终端返回了订单执行时间到期的信息。该终端没有被拒绝。该交易仍可能被执行。它的执行只是被推迟了 "不可接受的 "很长一段时间。如果你在这个消息之后发送另一个请求,延迟的请求和新的请求都可能被执行。为了避免这种情况,开发人员建议你至少暂停一分钟,检查交易服务器发送的请求是否被延迟。如果 "是",我们就达到了我们的目标--职位被打开,如果 "不是",我们可以重复请求。这就是我的代码如何处理错误128、142和143。