Hola. He buscado en la documentación pero no lo he encontrado. mi pregunta es la siguiente. ¿puedo cambiar esta imagen al iniciar el EA por mi logotipo?
evillive: #Icono de propiedad "\\\\Images\\\\xxx.ico";
Y, después de la compilación, el archivo de iconos estará incrustado en el archivo *.ex4 y no habrá necesidad de mover el archivo de iconos después del archivo compilado.
Sin embargo, la forma más lógica y sencilla de proxy es prohibir el cambio de herramienta de la ventana MT. Así que sugiero que lo consideremos un error :)
Mi Asesor Experto analiza gráficos de varios meses, pero hay gráficos que devuelven todo el historial en un gráfico de un minuto, y hay gráficos que no muestran más de un mes y medio, e incluso eso es si se desplaza el gráfico hacia atrás manualmente, ni siquiera se desplaza más allá de una fecha determinada.
pycha: Mi Asesor Experto analiza el gráfico durante un determinado número de meses, pero hay gráficos que devuelven todo el historial en el gráfico de minutos, y hay gráficos que no quieren devolver más de un mes y medio, e incluso eso es si se desplaza el gráfico hacia atrás manualmente, incluso más allá de una determinada fecha no se desplaza manualmente.
El corredor decide exactamente la cantidad de historial que debe dar. Si el número máximo de barras se establece en la configuración del terminal, y hay menos de ellos en el gráfico, entonces el corredor no dará más.
Hola Estimados usuarios del foro. Me gustaría hacer una petición. ¿Podría alguien publicar un trozo de código con una función iEnvelopesOnArray() que funcione? Todos mis intentos de domarlo hasta ahora han sido infructuosos. Sospecho que es culpa de los desarrolladores. Aquí hay un indicador para comprobar su funcionamiento.
//+------------------------------------------------------------------+//| Tester_EnvOnArray.mq4 |//| Copyright 2005 г. до нашей эры, MetaQuotes Software Company. |//| https://www.mql4.com |//+------------------------------------------------------------------+#property copyright"2005 г. до нашей эры, MetaQuotes Software Company."#property link"https://www.mql4.com"#property description"Пример индикатора для проверки работы функции iEnvelopesOnArray()"#property strict//--- indicator settings#property indicator_chart_window#property indicator_buffers2#property indicator_color1 Green
#property indicator_color2 Red
//--- indicator buffersdouble ExtEnvBuffer[];
double ExtPriceBuffer[];
//--- bars minimum for calculation#define DATA_LIMIT 100//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+voidOnInit(void)
{
IndicatorShortName("EnvOnArr");
//--- 1 additional buffer are used for counting.
IndicatorBuffers(2);
IndicatorDigits(Digits + 2);
//--- drawing settings
SetIndexStyle(0, DRAW_LINE);
SetIndexDrawBegin(0, DATA_LIMIT);
SetIndexStyle(1, DRAW_NONE);
SetIndexDrawBegin(1, DATA_LIMIT);
//--- all indicator buffers mappingSetIndexBuffer(0, ExtEnvBuffer);
SetIndexBuffer(1, ExtPriceBuffer);
//--- name for DataWindow and indicator subwindow label
SetIndexLabel(0, NULL);
SetIndexLabel(1, NULL);
}
//+------------------------------------------------------------------+//| EnvelopesOnArray |//+------------------------------------------------------------------+intOnCalculate (constint rates_total,
constint prev_calculated,
constdatetime & time[],
constdouble & open[],
constdouble & high[],
constdouble & low[],
constdouble & close[],
constlong & tick_volume[],
constlong & volume[],
constint & spread[])
{
int i, limit;
double prev = 0.0, Deviation = 1;
//--- check for rates totalif(rates_total <= DATA_LIMIT)
return(0);
//--- last counted bar will be recounted
limit = rates_total - prev_calculated;
if(prev_calculated > 0)
{
limit++;
}
//--- price counted in the 2-nd additional bufferfor(i=0; i<limit-1; i++)
ExtPriceBuffer[i] = close[i];
//--- price counted in the 1-st additional bufferfor(i=0; i<limit-1; i++)
ExtEnvBuffer[i] = iEnvelopesOnArray(ExtPriceBuffer, 0, 5, MODE_SMA, 0, 1, MODE_UPPER, i);
//--- donereturn(rates_total);
}
//+------------------------------------------------------------------+
Hola. He buscado en la documentación pero no lo he encontrado. mi pregunta es la siguiente. ¿puedo cambiar esta imagen al iniciar el EA por mi logotipo?
#Icono de propiedad "\\\\Images\\\\xxx.ico";
¿y no se arregló de ninguna manera?
Como puedes ver.
Sin embargo, la forma más lógica y sencilla de proxy es prohibir el cambio de herramienta de la ventana MT. Así que sugiero que lo consideremos un error :)
Mi Asesor Experto analiza el gráfico durante un determinado número de meses, pero hay gráficos que devuelven todo el historial en el gráfico de minutos, y hay gráficos que no quieren devolver más de un mes y medio, e incluso eso es si se desplaza el gráfico hacia atrás manualmente, incluso más allá de una determinada fecha no se desplaza manualmente.
Hola Estimados usuarios del foro. Me gustaría hacer una petición. ¿Podría alguien publicar un trozo de código con una función iEnvelopesOnArray() que funcione? Todos mis intentos de domarlo hasta ahora han sido infructuosos. Sospecho que es culpa de los desarrolladores. Aquí hay un indicador para comprobar su funcionamiento.
Hola a todos. Estoy recibiendo errores durante la prueba:
2014.12.25 18:04:31.125 2014.11.03 00:00 Test3 EURUSD,H4: ticket no válido para la función OrderModify
2014.12.25 18:04:31.125 2014.11.03 00:00 Test3 EURUSD,H4: OrderModify error 4051
Lo he comprobado muchas veces, no hay ningún error (por lo que veo).
El fracaso se produce en esta parte del programa:
ModificarCompra, ModificarVenta, SeleccionarCompra, SeleccionarVenta - tienen tipo bool
SendBuy, SendSell-int , int TP = 30
while(true)
{
SPREAD=MarketInfo(Symb,MODE_SPREAD);
SelectBuy=OrderSelect(OrderTicketBuy,SELECT_BY_TICKET);//buy
RefreshRates();
if(NormalizeDouble(OrderOpenPrice()+TP*Point,Digits)<NormalizeDouble(Ask,Digits))
{
ModifyBuy=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(10-SPREAD)*Point,Bid+(30- SPREAD)*Point,0,0);
R=1;
break;
}//if2
Timen=OrderCloseTime();
if(Timen>0)
{
//--------------------------
Stop=StopLevel(Symb);
StopLong();//значение Long2
StopLoss_Func();//значение SL
//--------------------------
SendBuy=OrderSend(Symb,OP_BUYSTOP,Lote,Ask+Long2*Point,1,Bid-SL*Point,NULL);
for(i=1;i>OrdersTotal();i++)
{
if(OrderSelect(i-1,SELECT_BY_POS,MODE_TRADES)==true)//Проверяем есть ли ордер
{
if(OrderSymbol()!=Symb) continue;
if(OrderType()==4)
{
OrderTicketBuy=OrderTicket();
break;
}
else
{
continue;
}
}
}
continue;
}//if2
SelectSell=OrderSelect(OrderTicketSell,SELECT_BY_TICKET,MODE_TRADES);//sell
RefreshRates();
if(NormalizeDouble(OrderOpenPrice()-TP*Point,Digits)>NormalizeDouble(Bid,Digits))
{
ModifySell=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(10-SPREAD)*Point,Ask-(30- SPREAD)*Point,0,0);
R=2;
break; //спред
}//if2
Timen=OrderCloseTime();
if(Timen>0)
{
//--------------------------
Stop=StopLevel(Symb);
StopLong();
StopLoss_Func();
//--------------------------
SendSell=OrderSend(Symb,OP_SELLSTOP,Lote,Bid-Long2*Point,1,Ask+SL*Point,NULL);
for(i=1;i>OrdersTotal();i++)
{
if(OrderSelect(i-1,SELECT_BY_POS,MODE_TRADES)==true)//Проверяем есть ли ордер
{
if(OrderSymbol()!=Symb) continue;
if(OrderType()==6)
{
OrderTicketSell=OrderTicket();
break;
}
else
{
continue;
}
}
}
continue;
}//if2
}//while1
Si necesitas el código completo, aquí
Gracias.