Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 502

 

if(!ExistPositions(Symbol(),-1,44444))OpenPosition(Symbol(),OP_BUY,0.1,Ask-sl*Point,Ask+tp*Point,44444)

poprobuj

 
Zver4991:


por lo que debe comprobar si no hay posiciones abiertas con este asistente en absoluto, no importa con qué hora de apertura..... un simple límite en el asistente....toast

if(ExistPositions(NULL,-1,44444,-1)==false)//si no hay posiciones abiertas con este número mágico entonces comprobar......

.... o tal vez no entiendo.... tengo -1 porque no me importa cuando una posición abierta ..... de todos modos se abrirá sólo en una nueva barra y cuando la antigua se cierra porque las condiciones especifican que la posición puede abrirse sólo si no hay posiciones abiertas con este número mágico

para hacerlo aún más sencillo: abrir la posición y esperar a que se cierre.... cuando se cierra entonces se abre de nuevo y ciertamente no debe abrir en cada barra una posición con este mago.... - de nuevo la condición establece comprobar si no hay posiciones abiertas con este mago


Así que pon 0 en el último parámetro, para que no importe cuando se abra la posición.
 
r772ra:

Así que pon 0, en el último parámetro, para que no importe cuando se abrió la posición.

Lo he hecho y no ha servido de nada, sigue generando una posición en cada barra
 
gince:

if(!ExistPositions(Symbol(),-1,44444))OpenPosition(Symbol(),OP_BUY,0.1,Ask-sl*Point,Ask+tp*Point,44444)

poprobuj


tampoco funciona, sigue estampando un comercio en cada barra
 
Zver4991:

no ayuda a seguir estampando en cada barra

encontrado el error..... es todo sobre el símbolo que estaba estableciendo que no me importa lo que el símbolo de buscar, siempre y cuando no sería con este mago, pero cuando me puse que el actual está bien para iniciar....though extraño porque si no está en el símbolo actual y está en otro entonces no tendríamos que abrir el acuerdo hasta que se cierra en el otro símbolo con este mago
 
¿Cómo puedo introducir un parámetro como el ángulo de una media móvil con ciertos parámetros en un EA?
 
¿Cómo puedo evitar que se fije el límite si ya está fijado?
 
Profitov:
¿Cómo puedo introducir un parámetro como el ángulo de una media móvil con ciertos parámetros en un EA?

Depende de lo que se pinche )))
 
woin2110:
¿Cómo puedo evitar que se fije el límite si ya está fijado?

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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);
}
 
Muchas gracias.