[¡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
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
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.
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.
¿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".
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 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.