Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1113

 
Mislaid:

Hai bisogno di uno script per i fine settimana.

Lavoro nei giorni feriali. Ecco perché uso l'indicatore. Gli do una lista di strumenti e mi chiede le quotazioni per il timeframe, sul grafico del quale si trova. Non mi preoccupo della gestione degli errori. Dopo una dozzina di minuti tutto si sistema.

L'ho completamente dimenticato. Se hai bisogno di salvare la storia, il grafico del simbolo deve essere aperto.

Non possiamo tenere aperti più di 100 grafici. Abbiamo bisogno di 100 coppie in 9 timeframe = 900 grafici.

Il mercato è iniziato. Ma né CopyTime, né le chiamate ArrayCopySeries riempiono automaticamente la storia per gli strumenti da MarketWatch.
Le carte degli strumenti non sono mai state aperte.
Ci deve essere una soluzione.

Per esempio, AUDCAD. Non ci sono grafici aperti per questo simbolo. Se apro manualmente il grafico AUDCAD H1 e premo i pulsanti, la storia viene caricata. È lo stesso su altri timeframes - solo in modalità manuale, non vuole farlo automaticamente.
 
Comunque, ho scritto uno script che apre alcune dozzine di grafici in blocchi, emula la pressione del tasto Home, poi chiude i grafici.
Questo funziona con una stampella, ma scambia anche la storia con nuovi personaggi.
 

Buon pomeriggio, cari membri del forum. Per favore, non si offenda, sto solo scrivendo la mia tesi e voglio fare qualche ricerca sociologica. Sicuramente ci sono persone che hanno comprato EAs una o più volte. Per favore, ci dica quali criteri erano importanti e cruciali per lei al momento dell'acquisto? Per esempio, può essere:

-tipo di Expert Advisor (trend, sesh, martingala, scalper...)

-Storia neltester di strategia

-alcune funzioni specifiche di Expert Advisor

-descrizione dettagliata di come funziona l'EA e di come è impostato

-valutazione del venditore

- Prezzo EA

-campagne e sconti

O forse qualcos'altro.

Ed è stato contento del suo acquisto?

Grazie mille per la vostra comprensione e le vostre risposte

 
Konstantin Zubrilin:

Buon pomeriggio, cari membri del forum. Per favore, non farti male, sto solo scrivendo la mia tesi e voglio fare qualche ricerca sociologica. Sicuramente ci sono persone che hanno comprato EAs una o più volte. Per favore, ci dica quali criteri erano importanti e cruciali per lei al momento dell'acquisto? Per esempio, può essere:

-tipo di Expert Advisor (trend, sesh, martingala, scalper...)

-Storia neltester di strategia

-alcune funzioni specifiche di Expert Advisor

-descrizione dettagliata di come funziona l'EA e di come è impostato

-valutazione del venditore

- Prezzo EA

-campagne e sconti

O forse qualcos'altro.

Ed è stato contento del suo acquisto?

Grazie mille per la vostra comprensione e le vostre risposte

Dovresti creare un sondaggio, preferibilmente nel thread della lingua inglese, ci sono più pindos.
 

Puoi dirmi dov'è l'errore? I valori degli elementi dell'array Koef[] sono calcolati, ad ogni elemento viene assegnato un valore. Perché Buffer1[] non è assegnato?

#property copyright "Copyright 2016, T"
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_level1 0.8
#property indicator_level2 -0.8
#property indicator_levelcolor Black
#property indicator_color1 Blue
#property indicator_minimum -1
#property indicator_width1 2
#property indicator_style1 0
#property indicator_maximum 1

double Buffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//--- indicator buffers mapping
  SetIndexBuffer(0, Buffer1);
  SetIndexStyle(0, DRAW_LINE);
  return(0);
//---
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
   {
   int n=25;                                                            // количество элементов в массиве(для периода H1 n=25, тк i<n)
   int m=24;                                                            // количество массивов(для периода H1 m=24, тк p=0, p<m)
   int w=18;                                                            // количество заков после запятой
  
   double Price_CloseX[][24];                                           // Массив цен закрытия 1 пары  
   double Price_CloseY[][24];                                           // Массив цен закрытия 2 пары
   double dx[][24];                                                     // Отклонение от среднего значения для пары 1 dx
   double dy[][24];                                                     // Отклонение от среднего значения для пары 2 dy
   double dx2[][24];                                                    // Квадрат отклонения ср.значения dx2
   double dy2[][24];                                                    // Квадрат отклонения ср.значения dy2
   double dxdy[][24];                                                   // Произведение dx и dy
  
   double sum_x[][24];
   double sum_y[][24];
  
   double Mx[][24];                                                         // Массив среднего значения цен закрытия пары 1 Mx
   double My[][24];                                                         // Массив среднего значения цен закрытия пары 2 My
  
   double Edx2[][24];                                                       // Сумма квадратов отклонений Edx2
   double Edy2[][24];                                                       // Сумма квадратов отклонений Edy2
   double Edxdy[][24];                                                      // Сумма произведений отклонений Edxdy
  
   double Koef[];
  
   ArrayResize(Price_CloseX, n);
   ArrayResize(Price_CloseY, n);
   ArrayResize(dx, n);
   ArrayResize(dy, n);  
   ArrayResize(dx2, n);
   ArrayResize(dy2, n);
   ArrayResize(dxdy, n);
   ArrayResize(sum_x, n);
   ArrayResize(sum_y, n);
   ArrayResize(Mx, n);
   ArrayResize(My, n);
   ArrayResize(Edx2, n);
   ArrayResize(Edy2, n);
   ArrayResize(Edxdy, n);
   ArrayResize(Koef, n);
  
   string sym_x="EURUSD";
   string sym_y="GBPUSD";
  
   for(int i=1; i<n; i++)
      {
      for(int p=0; p<m; p++)
         {
         Price_CloseX[i][p]=iClose(sym_x, PERIOD_H1, i+p);
         Price_CloseY[i][p]=iClose(sym_y, PERIOD_H1, i+p);
        
         }
      }
      
    for(int i=1; i<n; i++)
      {    
      for(int p=0; p<m; p++)
         {  
         sum_x[i][p]=sum_x[i][p-1]+Price_CloseX[i][p];                                        
         sum_y[i][p]=sum_y[i][p-1]+Price_CloseY[i][p];
        
         }        
      }
  
   for(int i=1; i<n; i++)
      {    
      for(int p=0; p<m; p++)
         {      
         Mx[i][p]=sum_x[p+1][m-1]/(n-1);  
         My[i][p]=sum_y[p+1][m-1]/(n-1);
                
         }
       }
  
   for(int i=1; i<n; i++)
      {
      for(int p=0; p<m; p++)
         {
         dx[i][p]=Price_CloseX[i][p]-Mx[i][p];
         dy[i][p]=Price_CloseY[i][p]-My[i][p];
        
         }
      }
    
   for(int i=1; i<n; i++)                                                                  
      {
      for(int p=0; p<m; p++)
         {
         dx2[i][p]=(dx[i][p]*dx[i][p])*1000000;
         dy2[i][p]=(dy[i][p]*dy[i][p])*1000000;
        
         }
      }
    
   for(int i=1; i<n; i++)                                                                  
      {
      for(int p=0; p<m; p++)
         {
         dxdy[i][p]=(dx[i][p]*dy[i][p])*1000000;
        
         }
      }  
                        
   for(int i=1; i<n; i++)                                                                  
      {
      for(int p=0; p<m; p++)
         {
         Edx2[i][p]=(Edx2[i-1][p]+dx2[i][p]);                                        
         Edy2[i][p]=(Edy2[i-1][p]+dy2[i][p]);
         Edxdy[i][p]=(Edxdy[i-1][p]+dxdy[i][p]);
         }
      }
  

      for(int p=0; p<m; p++)
         {
         Koef[p]=Edxdy[n-1][p]/sqrt(Edx2[n-1][p]*Edy2[n-1][p]);
         Buffer1[p]=Koef[p];
         Alert("Коэффициент корреляции Пирсона между ", sym_x, " и ", sym_y, " равен ", DoubleToString(Koef[p], w));
         Alert("Значение буфера ", p, " равно ", Buffer1[p]);
         }
   return(0);
   }
 
Ho capito bene che con tp=2, sl=20 e spread=2 la probabilità di tp=(2+2)/(20-2)=0.22.... o devo moltiplicare per qualche coefficiente? E se vero tp=0.22, allora idealmente possiamo aprire 3 trade di fila con questi parametri, e 4 dell'affare da saltare?
Forse ci sono argomenti simili? Datemi un link, per favore.
 
bobrush:
Ho capito bene che con tp=2, sl=20 e spread=2 la probabilità di tp=(2+2)/(20-2)=0.22.... o devo moltiplicare per qualche coefficiente? E se vero tp=0.22, allora idealmente possiamo aprire 3 trade di fila con questi parametri, e 4 dell'affare da saltare?
Forse ci sono argomenti simili? Datemi un link, per favore.

Non darò un link, la gente la pensa diversamente. Consiglio di partire dal principio della mancanza di speranza di costruire il Graal. In questo caso, ad un dato TP e SL, può essere formulato come segue:

In assenza di spread, il payoff atteso in qualsiasi serie di trade con lo stesso SL e lo stesso TP è zero.

L'aspettativa di profitto senza spread è uguale a P(TP)*TP-P(SL)*SL=0, dove SL e TP sono le distanze dal livello di apertura del trade ai loro livelli, P è la probabilità di completamento del trade da SL o TP, rispettivamente.

Dalla condizione di completamento di tutti gli accordi P(TP)+P(SL)=1, dove P(TP)*TP-(1-P(TP))*SL=0, P(TP)*(TP+SL)=SL e

P(TP)=SL/(SL+TP).

Per prendere in considerazione lo spread, bisogna sostituire l'aspettativa di profitto zero con l'aspettativa di perdita della dimensione dello spread, P(TP)*TP-P(SL)*SL=Spread, e ricavare la formula necessaria.

 
Vladimir:

Non darò un link, la gente la pensa diversamente. Consiglio di partire dal principio della mancanza di speranza di costruire il Graal. In questo caso, per i dati TP e SL, può essere formulato come segue:

In assenza di spread, il payoff atteso in qualsiasi serie di trade con lo stesso SL e lo stesso TP è zero.

L'aspettativa di profitto senza spread è uguale a P(TP)*TP-P(SL)*SL=0, dove SL e TP sono le distanze dal livello di apertura del trade ai loro livelli, P è la probabilità di completamento del trade da SL o TP, rispettivamente.

Dalla condizione di completamento di tutti gli accordi P(TP)+P(SL)=1, dove P(TP)*TP-(1-P(TP))*SL=0, P(TP)*(TP+SL)=SL e

P(TP)=SL/(SL+TP).

Per prendere in considerazione lo spread, dobbiamo sostituire il payoff atteso zero con un'aspettativa di perdita uguale allo spread, P(TP)*TP-P(SL)*SL=Spread, e ricavare la formula necessaria.

Chiedendo del coefficiente, ricordo qualcosa come C(n,k), cioè P(x)=C(n,k)*P(y/x).... Comunque, sono confuso... Dovrò sfogliare il libro.
 
bobrush:
Chiedendo del coefficiente, ricordo qualcosa come C(n,k), cioè P(x)=C(n,k)*P(y/x)..... Comunque, sono confuso... Dovrò sfogliare il libro.

Se stiamo parlando di libri sulla teoria della probabilità, e a giudicare dal suggerimento del numero di combinazioni di n per k C(n,k), questa è combinatoria, allora non ci sono risposte alla domanda posta nella teoria della probabilità. In particolare la formula P(TP)*TP-P(SL)*SL=0

L'ho capito empiricamente. Nella ricerca di una tale combinazione di SL e TP che darebbe anche la più piccola deviazione statisticamente significativa da zero. Il database delle storie di tick per 25 coppie di valute è stato raccolto circa 300 settimane da 50-60 centri di negoziazione, c'erano 50 miliardi di tick in quel momento. Ho provato decine di metodi di apertura regolare o pseudo-casuale delle offerte. Il tasso senza lo spread è stato considerato la media aritmetica del Bid e Ask.

 
Vladimir:

Se stiamo parlando di libri sulla teoria della probabilità, e a giudicare dal suggerimento del numero di combinazioni di n per k C(n,k), questa è combinatoria, allora non ci sono risposte alla domanda posta nella teoria della probabilità. In particolare la formula P(TP)*TP-P(SL)*SL=0

L'ho capito empiricamente. Nella ricerca di una tale combinazione di SL e TP che darebbe anche la più piccola deviazione statisticamente significativa da zero. Il database delle storie di tick per 25 coppie di valute è stato raccolto circa 300 settimane da 50-60 centri di negoziazione, c'erano 50 miliardi di tick in quel momento. Ho provato decine di metodi di apertura regolare o pseudo-casuale delle offerte. Il tasso senza spread è stato considerato la media aritmetica del Bid e Ask.

Significa che la teoria e la pratica sono la stessa cosa. 300 settimane sono più di 5 anni solo per confermare la teoria?
Si scopre che non importa come si apre l'affare, anche se è a caso, anche se è dal segnale, il risultato è lo stesso: M(x)=0?