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

 
Svinozavr >>:
Вам удобней это будет отдельным индикатором сделать. Сначала, в цикле пересчета заполняете инд. буфер значениями индикатора, а затем по этим значениям считаете сигнальную МА.

Вот пример расчета МА по RSI (ф-я старт):

Oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh! ¡No lo vi de inmediato! Justo lo que recetó el médico. Gracias. ¡Tienes beneficios infinitos! :):):)
 

artmedia70, Revisaremos todos los pedidos y sumaremos sus beneficios. Si el beneficio resultante es superior a cero o a un valor predefinido, cerraremos todas las posiciones.

double SummProfit(){
  double Profit=0;
 for(int i=OrdersTotal()-1;i>=0;i--){
   if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
     Print("Ошибка № ",GetLastError()," при выборе ордера № ",i);
   }
   else {
     Profit=Profit+OrderProfit();
  }
 }
  return(Profit);
}

Pruebe el código para cerrar todos los pedidos usted mismo.

Sugerencia: Para un bucle en el que se cierren todos los pedidos, hay que invertir el sentido de la enumeración de pedidos, exactamente como he hecho en el código anterior. Es decir, debemos pasar de la última orden a la primera. Si cambiamos la dirección, no todos los pedidos se cerrarán en el bucle. Por ejemplo, la orden colocada en primer lugar en la lista se cerrará y, en consecuencia, otra la sustituirá. Y como el contador del bucle se incrementa en uno, se saltará otra orden de esta línea.

 

Tengo una pregunta: ¿el probador de MT4 tiene en cuenta los swaps? En el archivo de registro del probador no se mencionan los intercambios.

 
chief2000 >>:

Возник вопрос - учитывает ли тестер МТ4 свопы? В лог-файле тестера нет ни единого упоминания о свопах.

OrderSwap()

 
sergeev >>:

OrderSwap()

Actualmente no hay manera de añadir este comando para probar

- ¿se puede considerar como una confirmación de que MT4 tiene en cuenta los swaps durante las pruebas y la optimización?

 
Creo que sí, ya que calcula y devuelve valores. y por tanto (99% de probabilidad :) se contabiliza en el balance
 
sergeev >>:
думаю да, так как она вычисляется и возвращает значения. а следовательно (вероятность 99% :) учитывается на балансе

Gracias.

 

Cómo dibujar correctamente un círculo con el radio de la última rotura del ZigZag.

El cálculo del radio será así, pero no sé cómo dibujar un círculo en MT.

 double y3, y2, y1, zz;// экстремумы Зиг-Зага
 int    x3, x2, x1, sh;// номера баров
  y3=0;y2=0;y1=0;                                             // экстремумы Зиг-Зага
  sh=ShiftBars;                                               // номера баров
  // Берём три экстремума Зиг-Зага
  while (y3==0) {
    zz=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, sh);
    if (zz!=0 && zz!=EMPTY_VALUE) {
      if      (y1==0) { x1=sh; y1=zz; }
      else if (y2==0) { x2=sh; y2=zz; }
      else if (y3==0) { x3=sh; y3=zz; }
    }
    sh++;
  }
  double R=MathSqrt(MathPow(MathAbs(y1-y2),2)+MathPow((x2-x1),2));// радиус последнего перелома
 
sasha2x >>:

Расчет радиуса будет такой,а как сделать чтобы на рисовался круг в МТ не знаю.


https://www.mql5.com/ru/articles/1503/page2
 

¿Cómo puedo hacer líneas indicadoras en lugar de objetos?

Esta parece ser la fórmula donde (x0,y0)es el centro del radio.

En el sistema de coordenadas cartesianas el círculo no es la gráfica de una función, pero puede describirse como la unión de las gráficas de las dos funciones siguientes: