¿Cómo puedo comprobar la ausencia de una orden abierta o pendiente con un número mágico determinado? Podemos comprobar la presencia de una orden seleccionada, pero ¿cómo puedo comprobar la ausencia de una orden?
sllawa3: ¿Cómo puedo comprobar la ausencia de una orden abierta o pendiente con un número mágico determinado? Podemos comprobar la presencia de una orden seleccionada, pero ¿cómo puedo comprobar la ausencia de una orden?
Si no hay presencia, entonces no hay presencia :)))
sllawa3: ¿Cómo puedo comprobar la ausencia de una orden abierta o pendiente con un número mágico determinado? Podemos comprobar la selección de una orden, pero ¿cómo puedo comprobar su ausencia?
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 06.03.2008 |//| Описание : Возвращает флаг существования позиций |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//| ot - время открытия ( 0 - любое время открытия) |//+----------------------------------------------------------------------------+bool ExistPositions(string sy="", int op=-1, int mn=-1, datetime ot=0) {
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (ot<=OrderOpenTime()) return(True);
}
}
}
}
}
}
return(False);
}
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.03.2008 |//| Описание : Возвращает флаг существования ордеров. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любой ордер) |//| mn - MagicNumber (-1 - любой магик) |//| ot - время открытия ( 0 - любое время установки) |//+----------------------------------------------------------------------------+bool ExistOrders(string sy="", int op=-1, int mn=-1, datetime ot=0) {
int i, k=OrdersTotal(), ty;
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ty=OrderType();
if (ty>1 && ty<6) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || ty==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
if (ot<=OrderOpenTime()) return(True);
}
}
}
}
}
return(False);
}
if (ExistPositions(СИМВОЛ, ОПЕРАЦИЯ, МАГИК, ВРЕМЯ ОТКРЫТИЯ)==false) {код, если нету позиции}
int ticket;
int start()
{
int prim=8;
while(ticket<prim)
{
ticket++;
}
Print(ticket);
return;
}
Al probar este código, el registro da un resultado de "8" un número infinito de veces. Me pueden decir cómo hacer para que el resultado se dé sólo una vez. Gracias.
Al probar este código, el registro da un resultado de "8" un número infinito de veces. Me pueden decir cómo hacer para que el resultado se dé sólo una vez. Gracias.
El selector encuentra una orden si hay una abierta pero si no hay ninguna abierta ¿cómo puedo encontrarla? el selector seguirá mostrando la última posición cerrada existente...
int DS=0;
for(int i = 0; i < OrdersTotal(); i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) // если под такой позицией ордер не выбран идём на следующий круг
{ if(OrderSymbol() == Symbol())// если символ ордера не совпадает с символом инструмента идём на следующий круг
{ if(OrderMagicNumber() == MAGA) // если Magic ордера не совпадает с MAGA идём на следующий круг
{if(OrderType() == OP_BUY)DS++; // если дошли аж суда и тип бай то увеличиваем счётчик на 1
}
}
}
}
// если тут DS=0 значит открытых ордеров по текущему символу с заданным магиком типа бай нету
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
¿Cómo puedo comprobar la ausencia de una orden abierta o pendiente con un número mágico determinado? Podemos comprobar la presencia de una orden seleccionada, pero ¿cómo puedo comprobar la ausencia de una orden?
Si no hay disponibilidad, entonces no hay disponibilidad :)))
Sí... si sólo... el selector conserva el valor de tener la última pose...
- obtener los números de las barras más externas para el período en cuestión.
- utilizamos las funciones de búsqueda de máximos y mínimos.
https://docs.mql4.com/ru/series/iLowest
https://docs.mql4.com/ru/series/iHighest
¿Verdad?
¿Cómo puedo comprobar la ausencia de una orden abierta o pendiente con un número mágico determinado? Podemos comprobar la selección de una orden, pero ¿cómo puedo comprobar su ausencia?
Lo mismo ocurre con los pedidos...
Me pueden decir cómo hacer para que el resultado se dé sólo una vez.
Gracias.
Me pueden decir cómo hacer para que el resultado se dé sólo una vez.
Gracias.
Tengo un problema... ayuda...
El selector encuentra una orden si hay una abierta pero si no hay ninguna abierta ¿cómo puedo encontrarla? el selector seguirá mostrando la última posición cerrada existente...
¿Cuál es el problema?