Utilizo la señal de Flive, pero a veces quiero cerrar una orden yo mismo. Pero en cuanto lo cierro, se vuelve a abrir. ¿Hay alguna manera de resolver esto?
Artur116: Utilizo la señal de Flive, pero a veces quiero cerrar una orden yo mismo. Pero en cuanto lo cierro, se vuelve a abrir. ¿Hay alguna manera de resolver esto?
Nesradamus: He asumido que sólo hay dos extremos mensuales, el mínimo y el máximo... Bueno, no importa, al principio tenía un código largo, por eso pedí ayuda... Pero me di cuenta de que me las arreglé para encajarlo en cuatro líneas.
Esto es si en una vela mensual. Por supuesto, habrá iHigh(Symbol(), PERIOD_MN1, BarOfMonth); e iLow(Symbol(), PERIOD_MN1, BarOfMonth);
Y si necesitamos encontrar extremos del precio en un gráfico diario en un mes, seguro que habrá más de uno en al menos 28 barras ;)
cómo hacer que el rectángulo se dibuje hacia adelante en lugar de hacia atrás, por ejemplo, cinco barras hacia adelante a un precio especificado ...... y que no se vuelva a dibujar
El nombre "nombre_del_objeto" debe contener la hora en que fue dibujado. Por ejemplo, "Nombre_del_objeto "+TimeToString(Time[0]); Entonces cada rectángulo tendrá su propio nombre.
Para especificar el desplazamiento a la derecha de la barra cero, añada el número necesario de barras a Time[0], por ejemplo Time[0]+Period()*5*60 (añada cinco barras)
#property strict#include <Indicators\Trend.mqh>
bool ind;
CiMA MA;
externint pos=1;
externint sl=40;
externint tp=70;
datetime time;
datetime time2;
bool trade=false;
bool trade2=false;
int a,b;
intOnInit()
{
//---
MA.Create(Symbol(),PERIOD_CURRENT,10,6,MODE_EMA,PRICE_CLOSE);//создал машку//---return(INIT_SUCCEEDED);
}
voidOnTick()
{
//---if(IsNewBar()==true)//если новый бар включаемся
{
if(buy(pos)==true)//если цена выше МА продолжаем
{
if(!ExistPositions(Symbol(),-1,-1,0))//если нету открых ордеров продолжаем
{
if(GetTypeLastClosePos(Symbol(),-1)!=OP_BUY)//если тип последней закрытой позиции был не на покупку то тогда только покупаем таким образом я пред остерегаюсь от повторных входов в покупку если цена //все ещо выше МА...но почему то не работает открываются и дальше сделки на покупку если ордер закрылся выше МА....ХОТЯ НЕ ДОЛЖО ТАК КАК Я ОГРАНИЧИЛ ПО ТИПУ ПОЗИЦИИ ПОСЛЕДНЮЮ СДЕЛКУ И ОНИ ДОЛЖНЫ ТОЛЬКО // ЧЕРЕДОВАТСЯ И УЖ НИ КАК НЕ ПОВТОРЯТСЯ ПО НЕСКОЛЬКО РАЗ ПОДРЯД
{
trade=true;
}
if(trade==true)
{
OpenPosition(Symbol(),OP_BUY,0.1,Ask-sl*Point,Ask+tp*Point);
trade=false;
}
}
}
if(sell(pos)==true)
{
if(!ExistPositions(Symbol(),-1,-1,0))
{
if(GetTypeLastClosePos(Symbol(),-1)!=OP_SELL)
{
trade2=true;
}
if(trade2==true)
{
OpenPosition(Symbol(),OP_SELL,0.1,Bid+sl*Point,Bid-tp*Point);
trade=false;
}
}}
}
}
//возвращает истину если закрытие бара с указаной позицией выше МАbool buy(int pos)
{
if(iClose(Symbol(),0,pos)>MA.Main(1))
returntrue;
elsereturnfalse;
}
//+------------------------------------------------------------------+//| возвращает истину если закрытие бара с указаной позицией ниже МА//+------------------------------------------------------------------+bool sell(int pos)
{
if(iClose(Symbol(),0,pos)<MA.Main(1))
returntrue;
elsereturnfalse;
}
TODAS LAS FUNCIONES excepto dos condiciones de COMPRA y VENTA fueron tomadas de la rama de Kim...... por favor dígame donde cometí un error...necesito una operación para abrir en una intersección
¿No puedo entender qué es lo que está mal? En el tester todo funciona, pero en el real y en el demo, cuando intento abrir una orden, me sale "Error 0". GetLastError() devuelve "0" que significa que no hay error. ¿Qué significa?
Leo59: ¿No puedo entender qué es lo que está mal? En el tester todo funciona, pero en el real y en el demo, cuando intento abrir una orden, me sale "Error 0". GetLastError() devuelve "0" que significa que no hay error. ¿Qué significa?
Significa que así es como está escrito en el código, si te molesta, por favor corrígelo.
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.
Utilizo la señal de Flive, pero a veces quiero cerrar una orden yo mismo. Pero en cuanto lo cierro, se vuelve a abrir. ¿Hay alguna manera de resolver esto?
Desmarca "Sincronizar posiciones..."
He asumido que sólo hay dos extremos mensuales, el mínimo y el máximo... Bueno, no importa, al principio tenía un código largo, por eso pedí ayuda... Pero me di cuenta de que me las arreglé para encajarlo en cuatro líneas.
Esto es si en una vela mensual. Por supuesto, habrá iHigh(Symbol(), PERIOD_MN1, BarOfMonth); e iLow(Symbol(), PERIOD_MN1, BarOfMonth);
Y si necesitamos encontrar extremos del precio en un gráfico diario en un mes, seguro que habrá más de uno en al menos 28 barras ;)
otra pregunta sobre la función
cómo hacer que el rectángulo se dibuje hacia adelante en lugar de hacia atrás, por ejemplo, cinco barras hacia adelante a un precio especificado ...... y que no se vuelva a dibujar
El nombre "nombre_del_objeto" debe contener la hora en que fue dibujado. Por ejemplo, "Nombre_del_objeto "+TimeToString(Time[0]); Entonces cada rectángulo tendrá su propio nombre.
Para especificar el desplazamiento a la derecha de la barra cero, añada el número necesario de barras a Time[0], por ejemplo Time[0]+Period()*5*60 (añada cinco barras)
¿Existe alguna manera en mql4 de ocultar algún código de la vista, colapsar el área de código para que se coloque debajo del signo más (+)?
como en sharp #region #endregion, el código colocado entre estas directivas se podrá colapsar.
¿No puedo entender qué es lo que está mal? En el tester todo funciona, pero en el real y en el demo, cuando intento abrir una orden, me sale "Error 0". GetLastError() devuelve "0" que significa que no hay error. ¿Qué significa?
Significa que así es como está escrito en el código, si te molesta, por favor corrígelo.
Está escrito en el código, así que si te molesta, arréglalo.
¿Qué debo hacer si el pedido no se abre?