[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 553

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

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

Oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh! Non l'ho visto subito! Proprio quello che il medico ha ordinato. Grazie. Hai profitti infiniti! :):):)
 

artmedia70, Esaminiamo tutti gli ordini e sommiamo i loro profitti. Se il profitto risultante è superiore a zero o superiore a un valore predefinito, chiuderemo tutte le posizioni.

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);
}

Prova il codice per chiudere tutti gli ordini da solo.

Suggerimento: per un ciclo in cui tutti gli ordini saranno chiusi, è necessario invertire la direzione dell'enumerazione degli ordini - esattamente come ho fatto nel codice precedente. Vale a dire, dovremmo passare dall'ultimo ordine al primo. Se cambiamo la direzione, non tutti gli ordini saranno chiusi nel ciclo. Per esempio, l'ordine inserito per primo nella lista sarà chiuso e, di conseguenza, un altro lo sostituirà. E poiché il contatore del ciclo viene incrementato di uno, un altro ordine da questa linea sarà saltato.

 

Ho una domanda - il tester MT4 tiene conto degli swap? Non c'è menzione di scambi nel file di log del tester.

 
chief2000 >>:

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

OrderSwap()

 
sergeev >>:

OrderSwap()

Attualmente non c'è modo di aggiungere questo comando per i test

- può essere considerato come una conferma che MT4 prende in considerazione gli swap durante i test e l'ottimizzazione?

 
Penso di sì, dato che calcola e restituisce valori. e quindi (99% di probabilità :) è contabilizzato nel bilancio
 
sergeev >>:
думаю да, так как она вычисляется и возвращает значения. а следовательно (вероятность 99% :) учитывается на балансе

Grazie!

 

Come disegnare correttamente un cerchio con il raggio dell'ultima rottura dello ZigZag.

Il calcolo del raggio sarà così, ma non so come disegnare un cerchio in 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
 

Come posso fare delle linee indicatrici al posto degli oggetti?

Questa sembra essere la formula dove (x0,y0) è il centro del raggio.

Nel sistema di coordinate cartesiane il cerchio non è il grafico di una funzione, ma può essere descritto come l'unione dei grafici delle seguenti due funzioni: