Ricerca di modelli di mercato - pagina 114

 
Svinozavr:

Dall'indicatore del polso. Come se non l'avessi dimenticato. Lo sto "finendo" ora. Ecco l'immagine finora (Eurobucks 5).


La legenda è la seguente: l'impulso stesso è segnato sulla barra con due rombi del rispettivo colore (piccolo e grande). Una barra forte, che non è un impulso, è contrassegnata da un piccolo rombo (ne parleremo più avanti).

Logica: viene calcolato lo spread medio delle barre, cioè МА da un modulo (open - close). Poi memorizziamo il valore dell'eccesso (appena accade) della pendenza della barra rispetto alla pendenza media. E così quando una nuova barra supera questo hmmm... OK, il superamento di una certa soglia, allora questa barra è contata come un impulso. L'importo in eccesso viene sovrascritto da quello nuovo. E così via. Naturalmente, ci deve essere una certa soglia di rumore, altrimenti capirete che ci saranno molti falsi segnali nel piatto.

===

Non so quando lo finirò. Forse oggi. Forse entro lunedì. Forse in generale... Se non "affatto", lo posterò qui, nel thread. Non ho bisogno di cento premoderazione in kodobaz e 200 volte nell'esercito rosso - valutazioni. Semmai, la logica di base ha descritto tutto, scriviti senza problemi.

L'autore si riserva il diritto di modificare parzialmente il principio di funzionamento dell'indicatore, di cambiare completamente la sua logica o di rifiutarlo del tutto.


Peter, meglio che potevo... scusa se non sono stato all'altezza delle aspettative.

#property copyright "Svinozavr"
#property indicator_chart_window // в окне инструмента
#property indicator_buffers 6
#property indicator_color1 Green
#property indicator_color2 Red  
#property indicator_color3 Green
#property indicator_color4 Red  
#property indicator_color5 Green
#property indicator_color6 Red  

// входные параметры
extern double MAperiod     = 200; 
extern double K            = 1.3;   // коэффициент умножения размаха (шумовой порог)
extern double Bord         = 0;     // превышение
              
extern bool   Fade         = false; // режим затухания
extern bool   OC.HL.range  = false; // способ расчёта размаха
extern bool   OC.HL.middle = false; // способ расчёта средней цены
extern bool   Hist         = true;

// массивы индикаторных и вспомогательных буферов
double Top[],Bot[],Sup[],Res[]; 
double up[],dn[];
// общие переменные 
double k0,k1,period; // коэфф. EMA и производный период
double brd; 
int    History=0; // 0- все бары

// инициализация
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void init() 
{ 
  brd=Bord*Point;
  if(MAperiod>1)
  {
    k0=2/(1+MAperiod); 
    period=MAperiod;
  }
  else 
  { 
    k0=MAperiod; 
    period=(2-MAperiod)/MAperiod;
  }
  k1=1-k0;
   
  if(Hist) 
  {
    int stl=3,sw=1;
  } 
  else 
  {
    stl=0;sw=2;
  }
  SetIndexBuffer(0,Top); // индикатор
  SetIndexStyle(0,DRAW_LINE);
  SetIndexEmptyValue(0,0.0);

  SetIndexBuffer(1,Bot); // вспомогательный буфер
  SetIndexStyle(1,DRAW_LINE);
  SetIndexEmptyValue(1,0.0);

  SetIndexBuffer(2,Sup); // вспомогательный буфер
  SetIndexStyle(2,stl,0,sw);
  SetIndexEmptyValue(2,0.0);
  SetIndexArrow(2,117);

  SetIndexBuffer(3,Res); // вспомогательный буфер
  SetIndexStyle(3,stl,0,sw);
  SetIndexEmptyValue(3,0.0);
  SetIndexArrow(3,117);
  
  SetIndexBuffer(4,up); // вспомогательный буфер
  SetIndexStyle(4,stl,0,sw+1);
  SetIndexEmptyValue(4,0.0);
  SetIndexArrow(4,117);
  
  SetIndexBuffer(5,dn); // вспомогательный буфер
  SetIndexStyle(5,stl,0,sw+1);
  SetIndexEmptyValue(5,0.0);
  SetIndexArrow(5,117);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
void start() 
{
  int limit=Bars-IndicatorCounted()-1; 
  if(limit>1) 
  {
    limit=Bars-1;
    ArrayInitialize(Top,0.0);
    ArrayInitialize(Bot,0.0);
    ArrayInitialize(Sup,0.0);
    ArrayInitialize(Res,0.0);
  }
  if(History!=0 && limit>History) 
  {
    limit=History-1; // кол-во пересчетов по истории
  }  
  // цикл пересчета
  for(int i=limit; i>=0; i--) 
  { 
    // средняя цена
    if(OC.HL.middle)
    {
      double mid=(High[i]+Low[i])/2;
    }  
    else 
    {
      mid=(Close[i]+Open[i])/2;
    }  
    
    // размах
    if(OC.HL.range) 
    {
      double rng=High[i]-Low[i];
    }  
    else 
    {
      rng=MathAbs(Close[i]-Open[i]);
    }  
    
    // EMA
    static double dt,db;
    double ma0; 
    static double ma1;
    if(i==limit && i>1) 
    {
      ma0=rng; // начальное значение
      dt=0;db=0;
    }
    else 
    { // основной расчет
      if(rng>ma1 && Fade) 
      {
        ma0=rng;
      }  
      else 
      {
        ma0=k0*rng+k1*ma1;
      }  
    }
    if(i>0) 
    {
      ma1=ma0;
    }  
    
    // канал
    double diff=K*ma0;
    Top[i]=mid+diff;
    Bot[i]=mid-diff;
    
    // тренд
    static bool trend;
    if(i>0) 
    {
      double difft=Close[i]-Top[i];
      double diffb=Close[i]-Bot[i];
      if(difft>0) 
      {
        trend=1; 
        dt=difft;
        if(Hist) 
        {
          Sup[i]=(Close[i]+Open[i])/2;
          if(difft>=-db+brd) 
          {
            up[i]=Top[i];
          }  
        }
      }
      if(diffb<0) 
      {
        trend=0; 
        db=diffb;
        if(Hist) 
        {
          Res[i]=(Close[i]+Open[i])/2;
          if(diffb<=-dt-brd) 
          {
            dn[i]=Bot[i];
          }  
        }
      }
    }
    if(!Hist && i>0) 
    {
      if(trend) 
      {
        Sup[i]=Bot[i];
      }   
      else 
      {
        Res[i]=Top[i];
      }  
    }
//  Sup[i]=Sup[i+1]; Res[i]=Res[i+1];
  }
}
 

Alcuni https://www.mql5.com/ru/forum/133986/page5 suggeriscono che la ricerca di modelli di mercato dovrebbe essere abbandonata a favore dello studio delle proprietà del mercato che sono innegabili, mettiamole in evidenza:

1. Le proprietà fluttuanti del mercato;

2. qualsiasi tendenza è correggibile. questa proprietà è innegabile. Ma non è affatto un modello, poiché il processo legislativo presuppone dati precisi. https://www.mql5.com/ru/forum/133986/page7

3. la presenza, nelle variazioni di prezzo, di una componente naturale e casuale https://www.mql5.com/ru/forum/133986/page5.

4. Diversa manifestazione di regolarità su diverse TF (è ancora discutibile) https://www.mql5.com/ru/forum/133986/page11.

5. Presenza di "rumore" nelle citazioni, ma alcuni sono sicuri che anche una sola spunta contenga informazioni utili https://www.mql5.com/ru/forum/133986/page13

6. Ci sono coppie che compongono il settore del mercato e danno il tono al movimento al momento https://www.mql5.com/ru/forum/133986/page16

7. La presenza di un prezzo "giusto" (messo fuori dalla banca centrale per il giorno corrente?), al quale il prezzo corrente aspira https://www.mql5.com/ru/forum/133986/page19

8. Fissazione (oro, per esempio due volte al giorno) https://www.mql5.com/ru/forum/133986/page20

9. È necessario percepire il mercato come un animale selvatico, conoscere le sue abitudini, studiare le sue tracce, tendere agguati, piazzare trappole, fare da esca e sparare con precisione! https://www.mql5.com/ru/forum/133986/page24

10. Il mercato è inerziale. L'essenza del trading di successo è capire cosa sta succedendo ora e partecipare. L'AT è uno strumento che ti dice - dove sei. https://www.mql5.com/ru/forum/133986/page30


Suggerisci altre caratteristiche del mercato globale per completare la lista.

Studiamo le conseguenze dell'uso delle proprietà del mercato globale nell'AT e quali danni potenziali possono fare al commercio altri modelli che accompagnano le proprietà del mercato. Per esempio, se si seguono queste due proprietà del mercato, si dovrebbe sempre fare trading in controtendenza, sperando in un ritorno o in un ritorno parziale (correzione). Ma cosa succede se queste proprietà del mercato vengono violate molto spesso? In che misura questa circostanza può essere dannosa per la strategia globale? Una correzione sarebbe in grado di coprire alcune delle perdite?

 
yosuf:

Alcuni https://www.mql5.com/ru/forum/133986/page5 suggeriscono che la ricerca di modelli di mercato dovrebbe essere abbandonata in favore dello studio di proprietà di mercato che sono innegabili; mettiamoli in evidenza:

1. Proprietà fluttuanti del mercato;

2. qualsiasi tendenza è correggibile. questa proprietà è innegabile. Ma non è affatto un modello, poiché il processo legislativo presuppone dati precisi. https://www.mql5.com/ru/forum/133986/page7

3. la presenza, nelle variazioni di prezzo, di una componente naturale e casuale https://www.mql5.com/ru/forum/133986/page5.

4. Diversa manifestazione di regolarità su diverse TF (finora è discutibile) https://www.mql5.com/ru/forum/133986/page11

5. Presenza di "rumore" nelle citazioni, ma alcuni sono sicuri che anche una sola spunta contenga informazioni utili https://www.mql5.com/ru/forum/133986/page13

6. Ci sono coppie che compongono il settore del mercato e danno il tono al movimento al momento https://www.mql5.com/ru/forum/133986/page16

7. Presenza di un prezzo "giusto" (messo fuori dalla banca centrale per il giorno corrente?), al quale il prezzo corrente aspira https://www.mql5.com/ru/forum/133986/page19

8. Fissazione (oro, per esempio due volte al giorno) https://www.mql5.com/ru/forum/133986/page20

9. È necessario percepire il mercato come un animale selvatico, conoscere le sue abitudini, studiare le sue tracce, tendere agguati, piazzare trappole, fare da esca e sparare con precisione! https://www.mql5.com/ru/forum/133986/page24

10. Il mercato è inerziale. L'essenza del trading di successo è capire cosa sta succedendo ora e partecipare. L'AT è uno strumento che ti dice - dove sei. https://www.mql5.com/ru/forum/133986/page30


Suggerisci altre proprietà del mercato globale per completare la lista.

Studiamo le conseguenze dell'uso delle proprietà del mercato globale nell'AT e quali danni potenziali possono fare al commercio altri modelli che accompagnano le proprietà del mercato. Per esempio, se si seguono queste due proprietà del mercato, si dovrebbe sempre fare trading in controtendenza, sperando in un ritorno o in un ritorno parziale (correzione). Ma cosa succede se queste proprietà del mercato vengono violate molto spesso? In che misura questa circostanza può essere dannosa per la strategia globale? Una correzione sarebbe in grado di coprire alcune delle perdite?


Se si prendono due coppie, indipendentemente dal loro comportamento, si possono distinguere tre stati di mercato:

1) movimento a impulso (movimento brusco)

2) movimento medio

3) movimento lento (piatto)

Naturalmente, se guardiamo tutte queste cose su citazioni reali, è molto difficile scegliere qualcosa, poiché in effetti, la presenza di rumore costante provoca la distorsione (abbastanza significativamente) del quadro generale, e la ricerca di somiglianza è molto difficile...

 
yosuf:
///

10. Il mercato è inerziale.....


Suggerisci altre caratteristiche del mercato globale per completare la lista.

....


È già abbastanza per ottenere un profitto.
 
Ci sono solo due modelli: il ritorno e l'auto-rinforzo. Il resto sono filtri)
 
Avals:
Ci sono solo due modelli: il ritorno e l'auto-rinforzo. Il resto sono filtri).
Per favore, chiarisci il concetto di "autoamplificazione".
 
Avals:
2 modelli in totale - reversione e auto amplificazione. Il resto sono filtri).

Buona idea con auto-rinforzo. Suggerisco il coefficiente S nell'equazione seguente come un coefficiente auto-rinforzante ed osservi il suo comportamento al variare del prezzo P:

P =S*O^a*H^b*L^c*C^d

Usando 15 giorni di dati OHLC D1, ho ottenuto i valori dei coefficienti che ho dato prima qui https://www.mql5.com/ru/forum/140329/page43.

https://c.mql5.com/mql4/forum/2012/11/f1.jpg

Appare interessante come il Guadagno S si comporta, per esempio, dopo l'entrata del 14° punto, cioè l'ultimo 15° punto non è ancora entrato, il che ovviamente indica una possibile inversione:


L'introduzione del 15° punto non lascia dubbi sull'inversione, poiché il fattore di amplificazione aumenta drammaticamente di centinaia di volte:


Così, grazie al suggerimento di Avals, ho apparentemente trovato un potente predittore dell'inizio di un'inversione. Ma questo fatto dovrebbe essere ricontrollato più volte. Grazie, signor Avals, e suggerisco di seguire la creazione dell'indicatore.

 
yosuf: Si prega di chiarire il concetto di "auto-rinforzo".
Feedback positivo. Si guarda un prezzo crescente, si compra anche, e lo si fa salire ancora di più.
 

Emergono cose interessanti se esprimiamo il valore medio del prezzo della barra corrente P attraverso l'OHLC come segue e indaghiamo il comportamento dei coefficienti dell'equazione:

P =S*O^a*H^b*L^c*C^d

Il metodo trovato per determinare i coefficienti permette di ottenere la piena coincidenza (ideale) dei valori di prezzo reali e calcolati, come si può vedere nel grafico:

Ecco come cambiano i coefficienti dell'equazione in questo caso:

Ora, è necessario eseguire questa procedura con una quantità sufficiente di dati e tracciare il comportamento dei rapporti alle inversioni di prezzo e cercare i precursori dell'inversione. Sono sicuro che devono apparire. Dovremmo ottenere un indicatore composto da quattro linee come Alligator ma ha un altro nome, sto pensando a come chiamarlo ora.

In particolare, la somma dei coefficienti dell'equazione, così come il coefficiente S, è quasi sempre uguale a uno, e l'ultimo scoppio può essere foriero di un movimento verso l'alto:


 
...

Così, grazie all'indizio di Avals, apparentemente è stato trovato un potente predittore dell'inizio dell'inversione. Ma questo fatto dovrebbe essere ricontrollato più volte. Grazie, signor Avals, e le suggerisco di portare la questione alla creazione di un indicatore.



Yusuf, i predittori di inversione sono cercati dai principianti nella fase iniziale. E quando cominciano a capire un po', smettono di cercare e scambiano una continuazione.