Valanga - pagina 520

 
DJDJ22:

Non c'è bisogno di una storia. Siamo gentiluomini, vi crediamo sulla parola. Solo i risultati sotto forma di almeno un mese di risultati. Non insisto molto. Proprio così:

Qui testato su reale dal 17.04.2015-07.05.2015. Questa è la versione precedente, non ha funzionato per un mese, l'ho disabilitata perché ho fatto una nuova versione netting migliorata con meno drawdown e l'ho messa su real il 14.05.2015.

 
khorosh:

Qui è stato testato su reale dal 17.04.2015-07.05.2015. Questa è la versione precedente, il mese non ha funzionato, l'ho disabilitata perché ho fatto una nuova versione migliorata di netting con meno drawdown e l'ho messa su real il 14.05.2015.

Grazie. Semplicemente fantastico per un martin. Buona fortuna, in qualche modo mi sono separato da Martin piuttosto ignominiosamente. Ha deciso di non scavare.
 
khorosh:

Quanti inverni, quanti anni). Congratulazioni per il tuo ritorno alla Madre Russia! Sono tornato alla valanga.


Grazie per i complimenti - Maya - se qualcuno mi avesse chiesto un anno fa se credevi che saresti diventato parte della Russia, avrei riso, ma qui ho dovuto guidare un po' :)

E come siamo fortunati rispetto al Donbass! ... Mozgovoy è stato ucciso, l'ho incontrato qui, gli ho stretto la mano, è venuto a trovarci... Questa è la terza volta che cambio paese di residenza senza lasciare il mio divano :)

Ma qui ... non cambia nulla...

Guardo - tutto il nuovo è ben dimenticato vecchio :) Il mondo si evolve in una spirale e noi lo notiamo così diventiamo vecchi...

 
elmucon:

Grazie per le congratulazioni - amico - se un anno fa ti avessero chiesto se credevi che saresti diventato parte della Russia, mi sarei messo a ridere, ma eccoti qui ;_ Ho anche dovuto guidare un po' :)

E come siamo fortunati rispetto al Donbass! ... Mozgovoy è stato ucciso, l'ho incontrato qui, gli ho stretto la mano, è venuto a trovarci... Questa è la terza volta che cambio paese di residenza senza lasciare il mio divano :)

Ma qui ... non cambia nulla...

Guarda - tutto il nuovo è ben dimenticato vecchio :) Il mondo si sta sviluppando in una spirale e noi lo notiamo così diventiamo vecchi ...


++++++++
 
khorosh:

Qui è stato testato su reale dal 17.04.2015-07.05.2015. Questa è la versione precedente, il mese non ha funzionato, l'ho disattivata perché ho fatto una nuova versione migliorata con meno drawdown e l'ho messa su real il 14.05.2015.

Yuri, buon pomeriggio. Il consulente sta lavorando? Stavi parlando di una formula segreta per aumentare in modo sicuro il lotto. Rimane un segreto? Avete sviluppato un EA. Vorrei aggiungere il calcolo.

 
Signori, ho una proposta. Il valore dell'angolo di pendenza MA da uno dei timeframe 1-2-3 viene trasmesso dall'indicatore all'Expert Advisor tramite la variabile globale del terminale. Sulla base di questo valore, puoi prendere diversi moltiplicatori di aumento del lotto per diverse direzioni negli ordini stop. Ciò contribuirà a ridurre il prelievo e ad aumentare i profitti. Sarà inoltre possibile assumere diversi valori del trailing stop virtuale durante un flat e un trend, questo se il consulente sfiora il profitto totale positivo di un gruppo di ordini, ovvero lavora su diversi valori di take profit. E per non iniziare una nuova serie di ordini quando la pendenza è prossima allo zero durante un flat, sarà facile impostare un piccolo moltiplicatore per lotti crescenti durante un flat. Ho rifatto l'indicatore di qualcuno, fa il suo lavoro, il valore viene trasferito a qualsiasi Expert Advisor attraverso il globale. Il problema è che sono nuovo alla programmazione e l'indicatore viene riscritto goffamente. È necessario che l'indicatore possa essere utilizzato anche per le esecuzioni nel tester tramite iCustom (occorre fare qualcosa con i buffer, io stesso ci penserò per molto tempo). Potrebbe benissimo essere che le prestazioni di Avalanche miglioreranno da questo. Suggerisco inoltre di valutare le prestazioni di diverse versioni di Avalanche in base al valore di dollari per ora di lavoro per 0,01 lotto inizialmente impostato nelle impostazioni (SMDB - Broker Machine Milking Speed :-) ©. Anche il rapporto tra drawdown e questo valore. Per molti veicoli, questo indicatore è utile. Gli Expert Advisor saranno in grado di rilevare l'inizio di una tendenza dalla differenza di angoli tra EMA e SMA da qualche parte sulle ultime 5---9 barre meglio rispetto a quando si utilizzano altri indicatori.
Il codice indicatore è allegato.
 //+------------------------------------------------------------------+
//|                                                   MA_Angle_E.mq4 |
//|                                                                  |
//+------------------------------------------------------------------+
/*


Период 13, 35 - значение порогового угла, ема.  На 5-минутках.
Можно 10 и 39.
*/
#property   copyright "Mr_A"
//---- indicator settings
#property   indicator_chart_window   
#property   indicator_buffers 5    
#property indicator_color1 Red
#property indicator_color2 LimeGreen
//#property  indicator_color1  LimeGreen
//#property  indicator_color2  Yellow
//#property  indicator_color3 FireBrick
#property   indicator_width1 1
#property   indicator_width2 2
//----
double CrossUp[];
double CrossDown[];
double prevtime;
double Range,AvgRange;
double fasterMAnow,fasterMAprevious,fasterMAafter;
double mediumMAnow,mediumMAprevious,mediumMAafter;
double slowerMAnow,slowerMAprevious,slowerMAafter;
//----
extern int FasterMA    =     5 ;
extern int FasterShift =   - 5 ;
extern int FasterMode= 1 ; // 0 = sma, 1 = ema, 2 = smma, 3 = lwma
extern int MediumMA    =   20 ;
extern int MediumShift =   - 5 ;
extern int MediumMode= 1 ; // 0 = sma, 1 = ema, 2 = smma, 3 = lwma
extern int SlowerMA    =   34 ;
extern int SlowerShift =     0 ;
extern int SlowerMode=     1 ; // 0 = sma, 1 = ema, 2 = smma, 3 = lwma
extern int SoundAlert=     1 ; // 0 = disabled
//#property  indicator_width3  

//---- indicator parameters
//extern int MAPeriod=21;
extern double MA_Period = 10 ;
extern double Coef = 0.0 ;
extern int SetPrice = 0 ;
//extern string  m = "--Moving Average Types--";
//extern string  m1 = " 1 = EMA";
//extern string  m2 = " 2 = SMMA";
//extern string  m3 = " 3 = LWMA";
//extern string  m4 = " 4 = LSMA";
extern int MA_Type = 1 ; //0=SMA, 1=EMA, 2=SMMA, 3=LWMA, 4=LSMA
//extern string  p0 = " 0 = close";
//extern string  p1 = " 1 = open";
//extern string  p2 = " 2 = high";
//extern string  p3 = " 3 = low";
//extern string  p4 = " 4 = median(high+low)/2";
//extern string  p5 = " 5 = typical(high+low+close)/3";
//extern string  p6 = " 6 = weighted(high+low+close+close)/4";
extern int MA_AppliedPrice = 0 ;   //0=close, 1=open, 2=high, 3=low, 4=median(high+low)/2, 5=typical(high+low+close)/3,
                                 //6=weighted(high+low+close+close)/4 --- способы расчёта значений
extern double AngleTreshold= 2 ; //чем больше значение, тем круче д.б. тренд для сигнала
extern int PrevMAShift= 1 ;
extern int CurMAShift= 0 ;

int MA_Mode;
string strMAType;
int ExtCountedBars= 0 ;   //сумма баров
//---- indicator buffers -- три массива буферов создаются
//double DownBuffer[];
//double ZeroBuffer[];
double LiniaBuffer[];
string GP_MA_E= "GV_GP_MA_E" ;
string GP_MA_S= "GV_GP_MA_S" ;
string GP_MA_Napr= "GV_GP_MA_Napr" ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
   GlobalVariableSet (GP_MA_E, 0 );
   GlobalVariableSet (GP_MA_S, 0 );
   GlobalVariableSet (GP_MA_Napr, 0 );
//---- 2 additional buffers are used for counting.
   IndicatorBuffers( 4 );   //было 3        
//---- drawing settings
   SetIndexStyle( 0 , DRAW_LINE );  
   SetIndexShift( 0 , 0 );
   IndicatorDigits(MarketInfo( Symbol (),MODE_DIGITS)+ 2 );   //IndicatorDigits      Установка формата точности (количество знаков
   //после десятичной точки) для визуализации значений индикатора.
   
   SetIndexStyle( 3 , DRAW_ARROW ,EMPTY); //0 заменил на 2
   SetIndexArrow( 3 , 233 );
   SetIndexBuffer ( 3 ,CrossUp);
   SetIndexStyle( 4 , DRAW_ARROW ,EMPTY); //1 заменил на 3
   SetIndexArrow( 4 , 234 );
   SetIndexBuffer ( 4 ,CrossDown);
                                                         
//********SetIndexShift(0, MA_Shift);

int draw_begin = 0 ;
SetIndexDrawBegin( 0 , draw_begin); // с какого элемента начинаются значимые данные индикаторного массива.
SetIndexBuffer ( 0 , LiniaBuffer); //сделали индик. массивом
//---- 3 indicator buffers mapping  --- карта буферов
 // if(!SetIndexBuffer(0,UpBuffer) && !SetIndexBuffer(1,DownBuffer) && !SetIndexBuffer(2,ZeroBuffer))
     // Print("cannot set indicator buffers!");
switch (MA_Type)
   {
       case 1 : strMAType= "EMA" ; MA_Mode= MODE_EMA ; break ;
       case 2 : strMAType= "SMMA" ; MA_Mode= MODE_SMMA ; break ;
       case 3 : strMAType= "LWMA" ; MA_Mode= MODE_LWMA ; break ;
       case 4 : strMAType= "LSMA" ; break ;
       default : strMAType= "SMA" ; MA_Mode= MODE_SMA ; break ;
   }
//---- name for DataWindow and indicator subwindow label
   //IndicatorShortName("MA_" + strMAType+"_Angle("+MA_Period+","+AngleTreshold+","+PrevMAShift+","+CurMAShift+")");
   return ( 0 );
      
} /*
//+------------------------------------------------------------------+
//| LSMA with PriceMode                                              |
//| PrMode  0=close, 1=open, 2=high, 3=low, 4=median(high+low)/2,    |
//| 5=typical(high+low+close)/3, 6=weighted(high+low+close+close)/4  |
//+------------------------------------------------------------------+
double LSMA(int Rperiod, int prMode, int shift)
{
   int i, mshift;
   double sum, pr;
   int length;
   double lengthvar;
   double tmp;
   double wt;

   length = Rperiod;
 
   sum = 0;
   for(i = length; i >= 1  ; i--)
   {
     lengthvar = length + 1;
     lengthvar /= 3;
     tmp = 0;
     mshift = length-i+shift;
     switch (prMode)
     {
     case 0: pr = Close[mshift];break;
     case 1: pr = Open[mshift];break;
     case 2: pr = High[mshift];break;
     case 3: pr = Low[mshift];break;
     case 4: pr = (High[mshift] + Low[mshift])/2;break;
     case 5: pr = (High[mshift] + Low[mshift] + Close[mshift])/3;break;
     case 6: pr = (High[mshift] + Low[mshift] + 2 * Close[mshift])/4;break;
     }
     tmp = ( i - lengthvar)*pr;
     sum+=tmp;
    }
    wt = MathFloor(sum*6/(length*(length+1))/Point)*Point;
    return(wt);
}*/
//+------------------------------------------------------------------+
//| The angle for MA                                                |
//+------------------------------------------------------------------+
int start()
{
   double fCurMA, fPrevMA;
   double fCurMA_S, fPrevMA_S;
   double fAngle, fAngle_S, mFactor, dFactor; //mFactor - множитель для йены либо остальных валют
   int nLimit, i, n;                   //dFactor - величина обратная радиану
   int nCountedBars;
   ExtCountedBars = IndicatorCounted();
   if (ExtCountedBars < 0 ) return (- 1 );
   if (ExtCountedBars > 0 ) ExtCountedBars--;
   ema();
   //double angle;  //не использовано
   int ShiftDif;
   string Sym;
   if (CurMAShift >= PrevMAShift)
   {
       Print ( "Error: CurMAShift >= PrevMAShift" );
      PrevMAShift = 6 ;
      CurMAShift = 0 ;      
   }  
   nCountedBars = IndicatorCounted(); //Функция возвращает кол-во баров, не измененных после посл. вызова индикатора.
   if (nCountedBars< 0 ) 
       return (- 1 );
   if (nCountedBars> 0 ) 
      nCountedBars--; //---- last counted bar will be recounted
   nLimit = Bars -nCountedBars; //Bars - количество баров на текущем графике;
   dFactor = 3.14159 / 180.0 ;
   mFactor = 1000.0 ;
   Sym = StringSubstr ( Symbol (), 3 , 3 ); //отрезание первых трёх символов из названия пары
   if (Sym == "JPY" ) mFactor = 10.0 ;   //для йены свои особенные настройки
   ShiftDif = PrevMAShift-CurMAShift;   //на сколько значение изменилось
   for (i= 0 ; i<nLimit; i++) //---- main loop
   {
       if (MA_Type == 4 ) //не использовать
      {
         //fCurMA=LSMA(MA_Period,MA_AppliedPrice, i+CurMAShift);   //текущее значение 
         //fPrevMA=LSMA(MA_Period,MA_AppliedPrice, i+PrevMAShift); //предыдущее значение
      }
       else //вот это использовать
      {
        fCurMA= iMA ( NULL , 0 ,MA_Period, 0 ,MA_Mode,MA_AppliedPrice,i+CurMAShift); //значения для текущего
        fPrevMA= iMA ( NULL , 0 ,MA_Period, 0 ,MA_Mode,MA_AppliedPrice,i+PrevMAShift); //и предыдущего баров
      }
      fAngle = (fCurMA - fPrevMA)/ShiftDif;   //здесь тангенс угла получается
       // take ArcTan of value to get the angle in radians and convert to degrees
      fAngle = mFactor * MathArctan (fAngle) / dFactor * F146_Koeff(); //тут сам угол высчитывается; 
       if (i == 0 )
      {
         GlobalVariableSet (GP_MA_E, fAngle);
      }
   }
   nCountedBars = IndicatorCounted(); //Функция возвращает кол-во баров, не измененных после посл. вызова индикатора.
   if (nCountedBars< 0 ) 
       return (- 1 );
   if (nCountedBars> 0 ) 
      nCountedBars--; //---- last counted bar will be recounted
   nLimit = Bars -nCountedBars; //Bars - количество баров на текущем графике;
   ShiftDif = PrevMAShift-CurMAShift;   //на сколько значение изменилось
   for (n= 0 ; n<nLimit; n++)
   {
      fCurMA_S= iMA ( NULL , 0 ,MA_Period, 0 , MODE_SMA ,MA_AppliedPrice,n+CurMAShift); //значения для текущего
      fPrevMA_S= iMA ( NULL , 0 ,MA_Period, 0 , MODE_SMA ,MA_AppliedPrice,n+PrevMAShift); //и предыдущего баров//MODE_SMA
      fAngle_S = (fCurMA_S - fPrevMA_S)/ShiftDif;   //здесь тангенс угла получается
      fAngle_S = mFactor * MathArctan (fAngle_S) / dFactor * F146_Koeff(); //тут сам угол высчитывается
       if (n == 0 )
      {
         GlobalVariableSet (GP_MA_S, fAngle_S);
      }
   }
   //второй индикатор------------------------------ - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   int d,counter;
   int counted_bars=IndicatorCounted();
   if (counted_bars< 0 ) return (- 1 );
   if (counted_bars> 0 ) counted_bars--;
   int limit= Bars -counted_bars;
   if (counted_bars== 0 ) limit-= 1 + 9 ;
//----   
   for (d= 0 ; d<=limit; d++)
     {
      counter=d;
      Range= 0 ;
      AvgRange= 0 ;
       for (counter=d;counter<=d+ 9 ;counter++)
        {
         AvgRange=AvgRange+ MathAbs (High[counter]-Low[counter]);
        }
      Range=AvgRange/ 10 ;
       //----       
      fasterMAnow      = iMA ( NULL , 0 , FasterMA, FasterShift, FasterMode, PRICE_CLOSE , d+ 1 );
      fasterMAprevious = iMA ( NULL , 0 , FasterMA, FasterShift, FasterMode, PRICE_CLOSE , d+ 2 );
      fasterMAafter    = iMA ( NULL , 0 , FasterMA, FasterShift, FasterMode, PRICE_CLOSE , d- 1 );
       //----      
      mediumMAnow      = iMA ( NULL , 0 , MediumMA, MediumShift, MediumMode, PRICE_CLOSE , d+ 1 );
      mediumMAprevious = iMA ( NULL , 0 , MediumMA, MediumShift, MediumMode, PRICE_CLOSE , d+ 2 );
      mediumMAafter    = iMA ( NULL , 0 , MediumMA, MediumShift, MediumMode, PRICE_CLOSE , d- 1 );
       //----      
      slowerMAnow      = iMA ( NULL , 0 , SlowerMA, SlowerShift, SlowerMode, PRICE_CLOSE , d+ 1 );
      slowerMAprevious = iMA ( NULL , 0 , SlowerMA, SlowerShift, SlowerMode, PRICE_CLOSE , d+ 2 );
      slowerMAafter    = iMA ( NULL , 0 , SlowerMA, SlowerShift, SlowerMode, PRICE_CLOSE , d- 1 );
       //----      
       if ((fasterMAnow>slowerMAnow && 
         fasterMAprevious<=slowerMAprevious && 
         fasterMAafter>slowerMAafter && 
         mediumMAnow>slowerMAnow)
         || 
         (fasterMAnow>slowerMAnow && 
         mediumMAnow>slowerMAnow && 
         mediumMAprevious<=slowerMAprevious && 
         mediumMAafter>slowerMAafter))
        {
         CrossUp[d]=Low[i]-Range* 0.5 ;
        }
       if ((fasterMAnow<slowerMAnow && 
         fasterMAprevious>=slowerMAprevious && 
         fasterMAafter<slowerMAafter && 
         mediumMAnow<slowerMAnow)
         || 
         (fasterMAnow<slowerMAnow && 
         mediumMAnow<slowerMAnow && 
         mediumMAprevious>=slowerMAprevious && 
         mediumMAafter<slowerMAafter))
        {
         CrossDown[d]=High[i]+Range* 0.5 ;
        }
     }
   if ((CrossUp[ 0 ]> 2000 ) && (CrossDown[ 0 ]> 2000 )) { prevtime= 0 ; }
   if ((CrossUp[ 0 ]==Low[ 0 ]-Range* 0.5 ) && (prevtime!=Time[ 0 ]) && (SoundAlert!= 0 ))
   
     {
      prevtime=Time[ 0 ];
       Alert ( Symbol (), " 3 MA Cross Up @  Hour " ,Hour(), "  Minute " ,Minute());
       //глобалку менять здесь
     }
   if ((CrossDown[ 0 ]==High[ 0 ]+Range* 0.5 ) && (prevtime!=Time[ 0 ]) && (SoundAlert!= 0 ))
     {
      prevtime=Time[ 0 ];
       Alert ( Symbol (), " 3 MA Cross Down @  Hour " ,Hour(), "  Minute " ,Minute());
       //глобалку менять здесь
     }
//Comment("  CrossUp[0]  ",CrossUp[0]," ,  CrossDown[0]  ",CrossDown[0]," ,  prevtime  ",prevtime);
//Comment("");
   return ( 0 );
  }
//------------------------------------------------------------
void ema() {
   double pr;  
   if (Coef == 0.0 ) { 
      pr = 2.0 /(MA_Period+ 1 );
   } else {
      pr = Coef;
   }
   int pos = Bars - 2 ;
   if (ExtCountedBars > 2 ) pos = Bars - ExtCountedBars - 1 ;
//---- main calculation loop
   while (pos >= 0 ) {
       if (pos == Bars - 2 ) 
         LiniaBuffer[pos+ 1 ] = (Open[pos+ 1 ]+Close[pos+ 1 ])/ 2 ;
      LiniaBuffer[pos] = GetPrice(pos)*pr+LiniaBuffer[pos+ 1 ]*( 1 -pr);
           pos--;
   }
}


//-------------------------------------------------------------------------------------------------------------------

//+------------------------------------------------------------------+
double GetPrice( int Shift) {
   double price;
//----
   switch (SetPrice) {
       case 0 :  price = Close[Shift]; break ;
       case 1 :  price = Open[Shift]; break ;
       case 2 :  price = High[Shift]; break ;
       case 3 :  price = Low[Shift]; break ;
       case 4 :  price = (High[Shift]+Low[Shift])/ 2.0 ; break ;
       case 5 :  price = (High[Shift]+Low[Shift]+Close[Shift])/ 3.0 ; break ;
       case 6 :  price = (High[Shift]+Low[Shift]+ 2 *Close[Shift])/ 4.0 ; break ;
       case 7 :  price = (Open[Shift]+High[Shift]+Low[Shift]+Close[Shift])/ 4.0 ; break ;
       case 8 :  price = (Open[Shift]+Close[Shift])/ 2.0 ; break ;
       default : price = 0.0 ;
   }
//----
   return (price);
}
//=====================================================================================================//
//     ------------------ F146___ПОПРАВОЧНЫЕ КОЭФФИЦИЕНТЫ ДЛЯ РАЗНЫХ ТАЙМФРЕЙМОВ ------------------- 
//=====================================================================================================//
double F146_Koeff()
{
   switch ( Period ())
   {
       case PERIOD_M1 :     return ( 12.0 );
       case PERIOD_M5 :     return ( 12.0 );
       case PERIOD_M15 :   return ( 2.5 );
       case PERIOD_M30 :   return ( 0.8 );
       case PERIOD_H1 :     return ( 0.33 );
       case PERIOD_H4 :     return ( 0.55 );
       case PERIOD_D1 :     return ( 0.15 );
       case PERIOD_W1 :     return ( 0.2 );
       case PERIOD_MN1 :   return ( 0.09 );
   }
}
 
Ftor_007:
Signori, ho questo suggerimento. L'indicatore invia all'EA tramite una variabile globale del terminale il valore dell'angolo di pendenza della MA da uno dei timeframe 1-2-3. Sulla base di questo valore possiamo prendere diversi moltiplicatori di aumento del lotto per diverse direzioni negli ordini di stop. Aiuterà a diminuire il drawdown e ad aumentare il profitto. Puoi anche prendere diversi valori del trailing stop virtuale per un flat e un trend, se l'Expert Advisor prende il profitto totale di un gruppo di ordini o se lavora con diversi valori di Take Profit. E non dovremmo iniziare una nuova serie di ordini quando l'angolo di pendenza è vicino allo zero durante il piatto. Ho ridisegnato l'indicatore di qualcuno; il valore viene passato a qualsiasi EA attraverso il globale. Il problema è che ho programmato di recente e l'indicatore è stato riscritto male. È necessario abilitare l'indicatore per essere utilizzato nel tester tramite iCustom (dovrei fare qualcosa con i buffer, mi ci vorrà troppo tempo per capirlo). Può benissimo essere che le prestazioni di Avalanche migliorino da questo. Propongo anche di valutare le prestazioni di diverse versioni di Avalanche dal valore di dollari per ora di lavoro per 0,01 lotto inizialmente impostato nelle impostazioni (CMDB - Machine Milking Broker Speed :-)©. Anche il rapporto del drawdown con questo valore.
Il codice dell'indicatore è allegato.
La moglie del mio compagno di classe negli anni 90, difficile ma allegra, interrogava: "Non mi parli del consumo di benzina per 100 km, mi dica, qual è il consumo della macchina in rubli al giorno?
 
Gli scherzi sono scherzi, ma per questa ST è possibile rafforzare la protezione contro la perdita di un deposito e aumentare la redditività. Tutto quello che serve è meno inondazioni e più codice.
 
Ftor_007:
Lo scherzo è su di me, ma per questo TS è possibile rafforzare la protezione contro la perdita di un deposito e aumentare la redditività. Tutto ciò di cui avete bisogno per questo è meno inondazioni e più codice.

Dividiamo i compiti: io faccio meno fluffing, tu fai più codifica.

Quasi dimenticavo: sono pronto ad aiutarvi con la programmazione, se non avete successo.

 

Il drawdown è diventato molto più basso con due corridoi d'ordine - esterno e interno, rispettivamente con progressione geometrica e aritmetica della crescita dei lotti. Durante un flat, non c'è più una grande quantità impostata di lotti, la probabilità di MC è anche ridotta. La coppia USDJPY dà i migliori risultati. Non appena sarò in grado di inserire l'indicatore nella funzione esperto, cercherò di aumentare la redditività. Il deposito nel tester è stato fissato a 70 dollari, lotto 0,01.


Motivazione: