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.
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
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);
}
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.
if(!ExistPositions(Symbol(),-1,44444))OpenPosition(Symbol(),OP_BUY,0.1,Ask-sl*Point,Ask+tp*Point,44444)
poprobuj
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.
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
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
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?
Depende de lo que se pinche )))
¿Cómo puedo evitar que se fije el límite si ya está fijado?