Saludos, por favor no me pateen mucho) Tengo un EA. Quiero implementar en él la función de abrir una posición, si en varios pares de divisas, una barra con índice 1, tiene la misma dirección (alcista o bajista). Estoy tratando de hacerlo con iclose y iopen.
Все происходит в bool-ой функцие.
Хотел реализовать конструкцию следующего вида:
if ((iOpen(NULL, PERIOD_CURRENT, 1)>iClose(NULL, PERIOD_CURRENT, 1))&&(iOpen("EURGBP", PERIOD_CURRENT, 1)>iClose("EURGBP", PERIOD_CURRENT, 1))&&(iOpen("EURJPY", PERIOD_CURRENT, 1)>iClose("EURJPY", PERIOD_CURRENT, 1)))
returnfalse;
elseif ((iOpen(NULL, PERIOD_CURRENT, 1)<iClose(NULL, PERIOD_CURRENT, 1))&&(iOpen("EURGBP", PERIOD_CURRENT, 1)<iClose("EURGBP", PERIOD_CURRENT, 1))&&(iOpen("EURJPY", PERIOD_CURRENT, 1)<iClose("EURJPY", PERIOD_CURRENT, 1)))
returnfalse;
Но ничего не получилось, и открываются позиции при любой комбинации баров с индексом 1.
Но работает следующая конструкция.
if(iOpen(NULL, PERIOD_CURRENT, 1)>iClose(NULL, PERIOD_CURRENT, 1))
returnfalse;
if(iOpen("EURGBP", PERIOD_CURRENT, 1)>iClose("EURGBP", PERIOD_CURRENT, 1))
returnfalse;
if(iOpen("EURJPY", PERIOD_CURRENT, 1)>iClose("EURJPY", PERIOD_CURRENT, 1))
returnfalse;
Тут советник правильно находит комбинацию из баров. Но таким способом можно искать либо комбинации из бычьих баров, либо медвежьих.
Ибо код такого вида не работает.
if(iOpen(NULL, PERIOD_CURRENT, 1)>iClose(NULL, PERIOD_CURRENT, 1))
{
if(iOpen("EURGBP", PERIOD_CURRENT, 1)>iClose("EURGBP", PERIOD_CURRENT, 1))
returnfalse;
if(iOpen("EURJPY", PERIOD_CURRENT, 1)>iClose("EURJPY", PERIOD_CURRENT, 1))
returnfalse;
}
elseif(iOpen(NULL, PERIOD_CURRENT, 1)<iClose(NULL, PERIOD_CURRENT, 1))
{
if(iOpen("EURGBP", PERIOD_CURRENT, 1)<iClose("EURGBP", PERIOD_CURRENT, 1))
returnfalse;
if(iOpen("EURJPY", PERIOD_CURRENT, 1)<iClose("EURJPY", PERIOD_CURRENT, 1))
returnfalse;
}
И такого тоже)
if(iOpen(NULL, PERIOD_CURRENT, 1)>iClose(NULL, PERIOD_CURRENT, 1))
{
if(iOpen(NULL, PERIOD_CURRENT, 1)>iClose(NULL, PERIOD_CURRENT, 1))
returnfalse;
if(iOpen("EURGBP", PERIOD_CURRENT, 1)>iClose("EURGBP", PERIOD_CURRENT, 1))
returnfalse;
if(iOpen("EURJPY", PERIOD_CURRENT, 1)>iClose("EURJPY", PERIOD_CURRENT, 1))
returnfalse;
}
elseif(iOpen(NULL, PERIOD_CURRENT, 1)<iClose(NULL, PERIOD_CURRENT, 1))
{
if(iOpen(NULL, PERIOD_CURRENT, 1)<iClose(NULL, PERIOD_CURRENT, 1))
returnfalse;
if(iOpen("EURGBP", PERIOD_CURRENT, 1)<iClose("EURGBP", PERIOD_CURRENT, 1))
returnfalse;
if(iOpen("EURJPY", PERIOD_CURRENT, 1)<iClose("EURJPY", PERIOD_CURRENT, 1))
returnfalse;
}
Entonces, ¿cuál esla formacorrecta debuscar combinaciones de barras bajistas y alcistas al mismo tiempo? Una vez más, por favor, no lo golpees demasiado fuerte).
Saludos, por favor no me pateen mucho) Tengo un EA. Quiero implementar en él la función de abrir una posición, si en varios pares de divisas, una barra con índice 1, tiene la misma dirección (alcista o bajista). Estoy tratando de hacerlo con iclose y iopen.
Entonces, ¿cuál esla formacorrecta debuscar combinaciones de barras bajistas y alcistas al mismo tiempo? Una vez más, por favor, no me pegues un golpe).
UtilizaCopyRates y asegúrate de controlar cuánto has pedido y cuánto has recibido. He aquí un ejemplo:
El Asesor Experto está escrito, digamos, en muwings. Cuando se termina de probar en el probador, los muvings utilizados (con los parámetros utilizados) aparecen en la ventana. Esto está bien.
Pregunta.
Pero cuando subo el mismo EA al Market y un usuario descarga la demo, ¿aparecerán también estos datos al final de la prueba? ¿O tiene mql una política de privacidad al respecto?
Конечно, можно самому заморочиться и проверить. Но те кто, заливал продукты, поймут, что лучше просто спросить)
El Asesor Experto está escrito, digamos, en muwings. Cuando se termina de probar en el probador, los muvings utilizados (con los parámetros utilizados) aparecen en la ventana. Esto está bien.
Pregunta.
Pero cuando este EA se suba también al Market y un usuario se descargue la demo, ¿también aparecerá después del final de la prueba? ¿O tiene mql una política de privacidad al respecto?
Por supuesto, es más fácil preguntar, pero no todos los que han descargado un EA en el mercado lo han comprobado después.
De hecho, ¿qué diferencia hay en cuanto a la procedencia del expediente de la EA? Funcionará igual tanto si se ha descargado de un desarrollador como si se ha codificado desde el mercado...
El Asesor Experto está escrito, digamos, en muwings. Cuando se termina de probar en el probador, los muvings utilizados (con los parámetros utilizados) aparecen en la ventana. Esto está bien.
Pregunta.
Pero cuando este EA se suba también al Market y un usuario se descargue la demo, ¿también aparecerá después del final de la prueba? ¿O tiene mql una política de privacidad al respecto?
¿Puede decirme, por favor, cómo después deprobar un EA en MQL5 para dar salida a cualquiera de mis estadísticas en una ventana emergente cuando el ratón está sobre las flechas?
Покупка торгового робота в MQL5 Маркете имеет одно большое преимущество перед всеми другими подобными предложениями - вы можете устроить комплексную проверку предлагаемой автоматической системы прямо в терминале MetaTrader 5. Каждый советник перед покупкой можно и нужно тщательно прогнать во всех неблагоприятных режимах во встроенном тестере торговых стратегий, чтобы получить о нем максимально полное представление.
Ayúdame a arreglar el indicador. Dibuja un paso/rejilla de precios a partir de un valor especificado. El problema es que cuando lo quito, las líneas permanecen en el gráfico. Además, no puedo añadir un segundo indicador como éste al gráfico. En general, cómo puedo hacer que se elimine por completo del gráfico para poder lanzar el mismo indicador en el gráfico con otros valores.
#property link"https://www.forexsystems.biz"#property version"1.00"#property indicator_chart_window//---- для расчёта и отрисовки индикатора использовано ноль буферов#property indicator_buffers0//---- использовано всего ноль графических построений#property indicator_plots0//--- входные параметры inputint count = 500; //количество линий вверх вниз от ценыinputint step = 100; //шаг линий inputdouble pr = 1.1; //цена от которой пляшем//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- indicator buffers mapping//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
Comment("");
}
//+------------------------------------------------------------------+ //| Создает горизонтальную линию | //+------------------------------------------------------------------+ bool HLine(conststring name="HLine",double price=0)
{
//--- создадим горизонтальную линию if(!ObjectCreate(0,name,OBJ_HLINE,0,0,price))
{
Print(__FUNCTION__,
": не удалось создать горизонтальную линию! Код ошибки = ",GetLastError());
return(false);
}
//--- установим цвет линии ObjectSetInteger(0,name,OBJPROP_COLOR,clrDodgerBlue);
ObjectSetInteger(0,name,OBJPROP_WIDTH,2);
return(true);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
double price=pr;
//--- создадим горизонтальную линию for(int i=0;i<=count;i++)
{
HLine("HLine"+(string)i,price+step*i*_Point);
HLine("HLine"+(string)(i+count+1),price-step*i*_Point);
}
//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+
Ayúdame a arreglar el indicador. Dibuja un paso/rejilla de precios a partir de un valor especificado. El problema es que cuando lo quito, las líneas permanecen en el gráfico. Además, no puedo añadir un segundo indicador como éste al gráfico. En general, cómo hacer que se borre completamente del gráfico, para que sea posible añadir el mismo indicador en el gráfico con diferentes valores.
En OnDeinit tienes que hacerObjectsDeleteAll- borrar por prefijo (en tu caso el prefijo es "HLine")
intObjectsDeleteAll(
long chart_id, // идентификатор графикаconststring prefix, // префикс имени объектаint sub_window=-1, // индекс окнаint object_type=-1// тип объекта для удаления
);
ver lo que dice el retcódigo después de enviar el pedido
Gracias.
10018
TRADE_RETCODE_MARKET_CLOSED
El mercado está cerrado.
Significa que hay un problema con el corredor.
Saludos, por favor no me pateen mucho)
Tengo un EA. Quiero implementar en él la función de abrir una posición, si en varios pares de divisas, una barra con índice 1, tiene la misma dirección (alcista o bajista).
Estoy tratando de hacerlo con iclose y iopen.
Entonces, ¿cuál esla formacorrecta debuscar combinaciones de barras bajistas y alcistas al mismo tiempo? Una vez más, por favor, no lo golpees demasiado fuerte).
Saludos, por favor no me pateen mucho)
Tengo un EA. Quiero implementar en él la función de abrir una posición, si en varios pares de divisas, una barra con índice 1, tiene la misma dirección (alcista o bajista).
Estoy tratando de hacerlo con iclose y iopen.
Entonces, ¿cuál esla formacorrecta debuscar combinaciones de barras bajistas y alcistas al mismo tiempo? Una vez más, por favor, no me pegues un golpe).
UtilizaCopyRates y asegúrate de controlar cuánto has pedido y cuánto has recibido. He aquí un ejemplo:
Hola a todos.
Situación.
El Asesor Experto está escrito, digamos, en muwings. Cuando se termina de probar en el probador, los muvings utilizados (con los parámetros utilizados) aparecen en la ventana. Esto está bien.
Pregunta.
Pero cuando subo el mismo EA al Market y un usuario descarga la demo, ¿aparecerán también estos datos al final de la prueba? ¿O tiene mql una política de privacidad al respecto?
Конечно, можно самому заморочиться и проверить. Но те кто, заливал продукты, поймут, что лучше просто спросить)
Hola a todos.
Situación.
El Asesor Experto está escrito, digamos, en muwings. Cuando se termina de probar en el probador, los muvings utilizados (con los parámetros utilizados) aparecen en la ventana. Esto está bien.
Pregunta.
Pero cuando este EA se suba también al Market y un usuario se descargue la demo, ¿también aparecerá después del final de la prueba? ¿O tiene mql una política de privacidad al respecto?
Por supuesto, es más fácil preguntar, pero no todos los que han descargado un EA en el mercado lo han comprobado después.
De hecho, ¿qué diferencia hay en cuanto a la procedencia del expediente de la EA? Funcionará igual tanto si se ha descargado de un desarrollador como si se ha codificado desde el mercado...
Hola a todos.
Situación.
El Asesor Experto está escrito, digamos, en muwings. Cuando se termina de probar en el probador, los muvings utilizados (con los parámetros utilizados) aparecen en la ventana. Esto está bien.
Pregunta.
Pero cuando este EA se suba también al Market y un usuario se descargue la demo, ¿también aparecerá después del final de la prueba? ¿O tiene mql una política de privacidad al respecto?
TesterHideIndicatorsAyúdame a arreglar el indicador. Dibuja un paso/rejilla de precios a partir de un valor especificado. El problema es que cuando lo quito, las líneas permanecen en el gráfico. Además, no puedo añadir un segundo indicador como éste al gráfico. En general, cómo puedo hacer que se elimine por completo del gráfico para poder lanzar el mismo indicador en el gráfico con otros valores.
Ayúdame a arreglar el indicador. Dibuja un paso/rejilla de precios a partir de un valor especificado. El problema es que cuando lo quito, las líneas permanecen en el gráfico. Además, no puedo añadir un segundo indicador como éste al gráfico. En general, cómo hacer que se borre completamente del gráfico, para que sea posible añadir el mismo indicador en el gráfico con diferentes valores.
En OnDeinit tienes que hacerObjectsDeleteAll- borrar por prefijo (en tu caso el prefijo es "HLine")