[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 384

 
aero >>:

1. почему нe знаю, но можно попробовать перед импортом удалить все содержимое папки history

Sí, he borrado toda la historia.

 

Ayúdame a arreglar el indicador. Es necesario poder cambiar las propiedades de las flechas y la cruz en el cuadro de edición del objeto indicador.


Archivos adjuntos:
 

Buenas tardes, amigos.


¿Pueden decirme cómo utilizar correctamente la función iCustom?


Por ejemplo, tiene un indicador

"Acumulación/Distribución de Williams, W A/D - Acumulación/Distribución de Larry Williams"(https://www.mql5.com/ru/code/7064)


y quiero acceder a este indicador desde otro indicador utilizando la función iCustom:

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red

extern string Symbol1="USDJPY";
extern int SignalMA_Period=5;
extern int SignalMA_Method=0;

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
string short_name="ind";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
SetIndexLabel(1,"Signal");
SetIndexDrawBegin(1,SignalMA_Period);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
double ad1, ad2;
//----
if(counted_bars<0) return(-1);
//----
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
//----
for(int i=0; i<limit; i++)
{

ad1=iCustom(Symbol1,0,"WAD",1,i);

ExtMapBuffer1[i]=ad1;
}
//----
for(i=0; i<limit; i++)
ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1,Bars,SignalMA_Period,0,SignalMA_Method,i);
//----
return(0);
}
//+------------------------------------------------------------------+


El indicador Williams en mi sistema se llama WAD.

Pero, por desgracia, muestra una ventana vacía con el indicador (es decir, no hay ningún indicador en la ventana... no está construido)


Cómo solucionarlo, por favor, aconséjeme, si es posible.

Muchas gracias de antemano.

 
Morzh09 писал(а) >>

Buenas tardes, amigos.

¿Podría aconsejarme cómo utilizar correctamente la función iCustom?

Por ejemplo, hay un indicador

"Acumulación/Distribución de Williams, W A/D - Acumulación/Distribución de Larry Williams"(https://www.mql5.com/ru/code/7064)


Quiero aplicar a este indicador desde otro indicador usando la función iCustom:


ad1=iCustom(Symbol1,0,"WAD",1,i);


El indicador Williams en mi sistema se llama WAD.

Pero, por desgracia, muestra una ventana vacía con el indicador (es decir, no hay ningún indicador en la ventana... no está construido)

Cómo solucionarlo, por favor, aconséjeme, si es posible.

Muchas gracias de antemano.

Al parecer, se está dirigiendo al búfer equivocado. Puede que necesites 0. Tengo una buena idea de qué hacer con él.

 

Sí. Tienes que tratarlo de forma diferente

ad1=iCustom(Symbol1,0,"WAD",0,i); 
 

Me he encontrado con esta característica:

abrimos el meta-editor,

cambiar los valores de las variables externas en la fuente,

compilar,

abrimos el terminal - el mismo Asesor Experto ya está en el gráfico, ¡pero se ejecuta con valores antiguos de las variables externas!

Si se compila cuando el EA se está ejecutando, los valores se actualizarán.

El problema se puede solucionar con #define y reasignación en la inicialización, pero esto es un poco lioso...

El terminal almacena los valores antiguos de las variables externas de EA, pero no lo he encontrado.

¿qué significa esto y cómo lo afronto?

 
beruk >>:

сталкнулся с такой особенностью:

открываем метаэдитор,

меняем в исходнике значения внешних переменных,

компилируем,

открываем терминал - на графике уже висит этот-же советник, но запускается он со старыми значениями внешних переменных!

если откомпилировать при запущенном советнике - значения обновятся.

проблему можно решить через #define и переназначение в инициализации, но это как-то коряво...

видимо терминал хранит где-то старые значения внешних переменных советника, но я не нашол.

шо сие означает и как с этим бороться?


los valores se almacenan en un archivo gráfico con chr en la carpeta perfiles/(perfil seleccionado)
 
xeon писал(а) >>

los valores se almacenan en un archivo gráfico con chr en la carpeta perfiles/(perfil seleccionado)

¡de acuerdo!

pero supongo que no se puede hacer nada al respecto, y reasignar vía #define es lo mejor que se puede hacer, si es necesario?

 

Queridos amigos, ¿podrían aconsejarme sobre esta cuestión?


Quiero utilizar las cotizaciones de los bonos americanos y europeos para el análisis de las operaciones, pero mi corredor no las proporciona...


En esta situación, según tengo entendido, hay dos formas posibles:


1. Cambiar de agente

2. Importar cotizaciones desde una fuente externa a la plataforma Metatrader.


Hay dos preguntas al respecto:


I. De dónde se pueden descargar las cotizaciones:


1) US 10 Yr T-Note

2) Euro Bund


¿Y cómo importarlos a la plataforma Metatrader?


II. ¿Qué corredor negociará estos instrumentos?

(Para la segunda pregunta, por favor, envíela a mi mensaje personal, no se considerará como una promoción)


Muchas gracias de antemano.
 

¿Qué ocurre aquí?

Adjunto este EA al gráfico horario y si el precio al principio de la hora es mayor que cn1 y el precio actual está 8 puntos por encima, la orden debería abrirse (también si el precio está por debajo del nivel actual), pero mi EA abre posición inmediatamente por alguna razón. ¿Por qué?

  int i=0;
   double a,b;
   while (i==0)
   {
     a=MarketInfo("USDCAD", MODE_ASK);
     b=MarketInfo("USDCAD", MODE_BID); 
     if((Open[0]<cn1)&&((a-cn1)<0.0008))
      {
       OrderSend("USDCAD",OP_BUY,1,a,1,SL,cn2);
       i=1;
       }
     if((Open[0]>cn11)&&((cn11-b)<0.0008))
      {
       OrderSend("USDCAD",OP_SELL,1,b,1,SL1,cn21);
       i=1;
      }  
   }
Razón de la queja: