Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1431

 
Vitaly Muzichenko:

---

Pero debe ser arrayed de la cadena en OnInit()


Todo funciona, pero hay una advertencia: conversión implícita de 'cadena' a 'número' , ¿cómo eliminarla? ¿Es posible?

 
Александр:

Todo funciona, pero recibo una advertencia: conversión implícita de 'cadena' a 'número' , ¿cómo puedo deshacerme de ella? ¿Es posible?

Subido el código

 
Impresionante, super. Éxito espacial para ti en tus esfuerzos. Gracias por ayudar.
 
Maxim Kuznetsov:

Así es por aquí... un buen código debería ser suficiente.

Tenemos otros para eso...))
 

Por la tarde

Tratando de crear 2 archivos para la copiadora MT4-MT5:

string path, path1;
    int hend; 
    path=CopierNumber+"MasterOrdersV.csv";   
    hend=FileOpen(path,FILE_CSV|FILE_WRITE,',');
    if(hend>0)
    {
        FileWrite(hend,"Symbol","Ticket","Lot size","Direction","Price","StopLoss","Takeprofit","Open time");
        FileClose(hend);
    }
    path1=CopierNumber+"MasterOrders.csv";    
    hend=FileOpen(path1,FILE_CSV|FILE_COMMON|FILE_WRITE|FILE_SHARE_READ,',');
    if(hend>0)
    {
        FileWrite(hend,"Symbol","Ticket","Lot size","Direction","Price","StopLoss","Takeprofit","Open time");
        FileClose(hend);
    } 
Al intentar leer :

El mismo código en MT5 escribe todo correctamente:


¿Soy yo el que tiene algún tipo de problema o se ha colapsado algo en MT4?

 
Creo que lo tengo - el problema está en el Open Office, gracias
 

Colegas, ayuda con el algoritmo y las funciones matemáticas, sólo puede utilizar las funciones matemáticas, la tarea es cerrar una posición de mercado por 5 porciones.

Es decir, por ejemplo, una posición de mercado de 10,24 lotes o 5,12 lotes debe ser cubierta con partes aproximadamente iguales en total de 5 partes. Podemos hacer que una de las restantes sea más grande que las otras para cubrir el volumen restante después de cerrar las cuatro primeras posiciones.

Este tema de la ayuda de las funciones de mate no es muy adecuado, en mi opinión, necesita algo para completar.... CÓMO contar óptimamente los lotes de cada una de las 5 acciones (partes) para cerrar una posición común.

Возвращает вещественный остаток от деления двух чисел.



double  MathMod( 
   double  value,      // делимое 
   double  value2      // делитель 
   );
 

Параметры

value

[in]  Значение делимого.

value2

[in]  Значение делителя.

Возвращаемое значение

Функция MathMod рассчитывает вещественный остаток f от val / y таким образом, что val = i * y + f , где i является целым числом, f имеет тот же знак, что и val, и абсолютное значение f меньше, чем абсолютное значение y.

Примечание

Вместо функции MathMod() можно использовать функцию fmod().
 
Roman Shiredchenko:

Colegas, ayuda con el algoritmo y las funciones matemáticas, sólo puede utilizar las funciones matemáticas, la tarea es cerrar una posición de mercado por 5 porciones.

Es decir, por ejemplo, una posición de mercado de 10,24 lotes o 5,12 lotes debe ser cubierta con partes aproximadamente iguales en total de 5 partes. Podemos hacer que una de las restantes sea más grande que las otras para cubrir el volumen restante después de cerrar las cuatro primeras posiciones.

Este tema de la ayuda de las funciones de mate no es muy adecuado, en mi opinión, necesita algo para completar.... CÓMO contar óptimamente los lotes de cada una de las 5 partes (piezas) para cerrar una posición común.

Una división por 5 es una división por 5 :-)

lots_1to4=NormalizeLots(lots/5); // лоты для 1,2,3,4 ; округление лота сами добавите

lots5 = NormalizeLots(lots - lots_1to4*5); // для 5 - оставшиеся лоты

 
Maxim Kuznetsov:

una división por 5 es una división por 5 :-)

lots_1to4=NormalizeLots(lots/5); // лоты для 1,2,3,4 ; округление лота сами добавите

lots5 = NormalizeLots(lots - lots_1to4*5); // для 5 - оставшиеся лоты

¡О! Spc. ¡¡Exactamente - por la diferencia de redondeo hacia abajo y el total de partida!! ¿Redondeando a través de la misma?

Возвращает ближайшее снизу целое числовое значение.



double  MathFloor( 
   double  val     // число 
   );
 

Параметры

val

[in]  Числовое значение.

Возвращаемое значение

Числовое значение, представляющее наибольшее целое число, которое меньше или равно val.

Примечание

Вместо функции MathFloor() можно использовать функцию floor().
 
Ayuda para hacer una alerta para un indicador, no puedo encontrar uno con una señal
Archivos adjuntos:
Razón de la queja: