//+----------------------------------------------------------------------------+ //| Возвращает тикет ближайшей к рынку позиции по цене открытия или 0 | //| Параметры: | //| sym - наименование инструмента ("" - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ int TicketNearPosOnOpen(string sym="", int op=-1, int mn=-1) { double di=10000, pp; int i, k=OrdersTotal(), t=0;
if (sym=="") sym=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sym && (op<0 || OrderType()==op)) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (mn<0 || OrderMagicNumber()==mn) { if (OrderType()==OP_BUY) pp=MarketInfo(sym, MODE_BID); if (OrderType()==OP_SELL) pp=MarketInfo(sym, MODE_ASK); if (di>MathAbs(OrderOpenPrice()-pp)) { di=MathAbs(OrderOpenPrice()-pp); t=OrderTicket(); } } } } } } return(t); }
//+----------------------------------------------------------------------------+ //| Возвращает тикет ближайшей к рынку позиции по цене открытия или 0 | //| Параметры: | //| sym - наименование инструмента ("" - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ int TicketNearPosOnOpen(string sym="", int op=-1, int mn=-1) { double di=10000, pp; int i, k=OrdersTotal(), t=0;
if (sym=="") sym=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sym && (op<0 || OrderType()==op)) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (mn<0 || OrderMagicNumber()==mn) { if (OrderType()==OP_BUY) pp=MarketInfo(sym, MODE_BID); if (OrderType()==OP_SELL) pp=MarketInfo(sym, MODE_ASK); if (di>MathAbs(OrderOpenPrice()-pp)) { di=MathAbs(OrderOpenPrice()-pp); t=OrderTicket(); } } } } } } return(t); }
我不是一个程序员。在过去的六年里,我刚刚开始接触它。这是一项运动。你必须要赢。
我不是一个程序员。在过去的六年里,我刚刚开始接触它。这是一项运动。你必须要赢。
因此,你正处于道路的起点。三年后,如果你有足够的耐心,你会意识到你必须创造自己的一个。它与其他任何东西都不相似。
MQL4与C语言非常相似。C++是一种完全不同的语言。具有无限的可能性。
我在论坛上看到有的人从2000年开始就在创造自己的东西,而在我看来,没有任何有用的东西被创造出来(否则我就不会坐在上面)。不创造什么,都是以普遍知道的东西为基础(轮子现在不是木头,但同样没有人发明它)。
我在论坛上看到,自2000年以来,谁创造了自己的东西,在我看来,没有创造任何合理的东西(否则我不会坐在他们身上)。什么不创造,都是一样的,都是基于普遍知道的东西(轮子现在不是木头,但同样,没有人发明它)。
瓦迪姆,你有孩子吗,如果这不是秘密的话?
为什么,你能安排吗?
有时,只喝威士忌比做狗屎更好......太糟糕了,我们已经没有蓝色标签了。
为什么,你能安排吗?
有时,只喝威士忌比做狗屎更好......太糟糕了,我们已经没有蓝色标签了。
下午好!
我有一个问题:该EA被配置为在几十种货币对上进行交易(在一个货币对窗口)。如果任何一个货币对没有显示在市场观察窗口中,就会导致一个故障。我怎样才能以编程方式检查这些货币对是否可以交易,或者它们只是没有显示在市场观察中?
你好!有谁知道如何在MT-4上注册一个EA?
是否有一个需要规定的代码,以便在mt中显示EA?
预先感谢你!!!!!
你好!有谁知道如何在mt-4上开具EA?
是否有一个需要规定的代码,以便在mt中显示EA?
预先感谢你!!!!!
如何同时选择 最接近买入和卖出价格的头寸?
//+----------------------------------------------------------------------------+
//| Возвращает тикет ближайшей к рынку позиции по цене открытия или 0 |
//| Параметры: |
//| sym - наименование инструмента ("" - текущий символ) |
//| op - операция (-1 - любая позиция) |
//| mn - MagicNumber (-1 - любой магик) |
//+----------------------------------------------------------------------------+
int TicketNearPosOnOpen(string sym="", int op=-1, int mn=-1) {
double di=10000, pp;
int i, k=OrdersTotal(), t=0;
if (sym=="") sym=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sym && (op<0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn<0 || OrderMagicNumber()==mn) {
if (OrderType()==OP_BUY) pp=MarketInfo(sym, MODE_BID);
if (OrderType()==OP_SELL) pp=MarketInfo(sym, MODE_ASK);
if (di>MathAbs(OrderOpenPrice()-pp)) {
di=MathAbs(OrderOpenPrice()-pp);
t=OrderTicket();
}
}
}
}
}
}
return(t);
}
如何同时选择最接近买入和卖出价格的头寸?
//+----------------------------------------------------------------------------+
//| Возвращает тикет ближайшей к рынку позиции по цене открытия или 0 |
//| Параметры: |
//| sym - наименование инструмента ("" - текущий символ) |
//| op - операция (-1 - любая позиция) |
//| mn - MagicNumber (-1 - любой магик) |
//+----------------------------------------------------------------------------+
int TicketNearPosOnOpen(string sym="", int op=-1, int mn=-1) {
double di=10000, pp;
int i, k=OrdersTotal(), t=0;
if (sym=="") sym=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sym && (op<0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn<0 || OrderMagicNumber()==mn) {
if (OrderType()==OP_BUY) pp=MarketInfo(sym, MODE_BID);
if (OrderType()==OP_SELL) pp=MarketInfo(sym, MODE_ASK);
if (di>MathAbs(OrderOpenPrice()-pp)) {
di=MathAbs(OrderOpenPrice()-pp);
t=OrderTicket();
}
}
}
}
}
}
return(t);
}
根据你的定义,"... 最接近买入和卖出价格的 同时......"--怎么说是同时性?
把这句话的倒数第二行return(t);改为