[¡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 281

 
 
DDFedor >> :

no... no hay necesidad de frenos... investigando no recuerdo haber encontrado ninguno, así que pregunté... los bucles, los resbalones y los retrasos no son la solución... Gracias.

Por cierto, si el cálculo es largo, puedes visualizar el paso de ciertas etapas del código cambiando el color del objeto. Será genial, pero de todas formas se necesitan recursos para la visualización; las funciones más lentas son las que trabajan con archivos y las funciones con objetos.

 
granit77 писал(а) >>
Texto intermitente.

¡Genial! >> ¡Gracias!

 

¿Puede alguien mostrarme un ejemplo de código para leer desde un archivo *.csv a un array 1D/2D en MQL5?

No hubo problemas con la escritura.

Gracias.

Sería genial tener un ejemplo con clases.

 
joo >> :

¿Puede alguien mostrarme un ejemplo de código para leer desde un archivo *.csv a un array 1D/2D en MQL5?

>>: >>:::::::::::::::::::::::::::::::::::::.

Qué "novatos" vamos :))) Es hora de hacer un hilo aparte para la "clase media".

 
Oh, hombre, se está volviendo una locura. :) -durante el trabajo con productos beta. Antes de eso estaba luchando con las matrices. Lo he actualizado y ha funcionado...
 

Para MQL4:

void start()
{
double m[]={1.1,2.2,3.3,4.4,5.5,6.6};//Массив источник
double m_[6]; //Массив приемник

ArrayInitialize(m_,0);

string str;
int handle;
//=======Запись в массив============
handle=FileOpen("p.csv", FILE_CSV|FILE_WRITE,";");
//Цикл записи строчек в файл
for(int i=0; i<6; i++)
{
str=DoubleToStr(m [i], 8);
FileWrite (handle,str);
}
FileClose(handle);
//==================================

//========Чтение из файла===========
FileOpen("p.csv",FILE_CSV|FILE_READ,";");
int cnt;
while(FileIsEnding(handle)!=true)
{
m_[cnt]=StrToDouble(FileReadString(handle));
cnt++;
}
FileClose(handle);
//==================================

//Посмотрим, что там записалось в массив?
for(i=0;i<6;i++)
{
Alert(m_[i]);
}
}

Y para MQL5, resulta que hay que hacer esto:

void OnStart()
{
double m[]={1.1,2.2,3.3,4.4,5.5,6.6};//Массив источник
double m_[6]; //Массив приемник

ArrayInitialize(m_,0);

string str;
int handle;
//=======Запись в массив============
handle=FileOpen("p.csv",FILE_CSV|FILE_WRITE,";");
//Цикл записи строчек в файл
for(int i=0;i<6;i++)
{
str=DoubleToString(m[i],8);
FileWrite(handle,str);
}
FileClose(handle);
//==================================

//========Чтение из файла===========
FileOpen("p.csv",FILE_CSV|FILE_READ,";");
for(int i=0;i<6;i++)
{
m_[i]=StringToDouble(FileReadString(handle));
}
FileClose(handle);
//==================================

//Посмотрим, что там записалось в массив?
for(int i=0;i<6;i++)
{
Alert(m_[i]);
}
}

Atención, pregunta: "¿Por qué?"

 

¿Podemos aplicar este algoritmo?
1. ¿Qué haría el Asesor Experto en otro marco temporal y utilizaría, por ejemplo, la Media Móvil para filtrar las señales falsas?
2. ¿Qué pasa si quiero que mi Asesor Experto tire de un Stop Loss no al nivel de equilibrio? Por ejemplo, si un Stop Loss se establece inicialmente en 50 pips, y cuando llega a 30 pips, tiraría del Stop Loss en 20 pips.

Gracias de antemano.

 
Cómo simplificar el patrón del artículo "Confiando en el poder de los patrones" eliminando SL, TP, órdenes pendientes y su modificación. De lo contrario, es imposible experimentar.
 
shap писал(а) >>
Cómo simplificar una plantilla del artículo "Confiando en el poder de las plantillas", eliminando SL, TP, órdenes pendientes y su modificación. De lo contrario, es imposible experimentar.

Para un patrón correcto, su presencia (SL, TP) no es un obstáculo. Y la modificación no suele ser un obstáculo. Puedes desactivarlo. Para ser más exactos no llame a esta función.