una strategia di trading basata sulla teoria dell'onda di Elliott - pagina 30

 
Vladislav,

Bylo da interesno mne uvidet' kod eksperta, stalo interesno kak "livello di rischio" pods4itajesh i kak trendvyje bary ... :)
 
Molto interessante. Grazie Vacheslav.
Gli intervalli di confidenza sono segnati dal 60% al 99%.

Quali sono le percentuali da cui derivano gli intervalli di confidenza.
La piccola linea tratteggiata, per quanto ho capito, è RMS=1, ma cosa è segnato con la lunga linea tratteggiata, a parte la linea gialla centrale?

Grazie in anticipo per la vostra risposta - Alexander.
 
Molto interessante. Grazie Vacheslav. <br/ translate="no">
Gli intervalli di confidenza sono segnati dal 60% al 99%.

E quali sono le percentuali da cui derivano gli intervalli di confidenza.
La piccola linea tratteggiata, per quanto ho capito è RMS=1, e cosa è segnato con una lunga linea tratteggiata, tranne la linea gialla centrale?

Grazie in anticipo - Alexander.



Questo è il modo standard di costruire gli intervalli di confidenza. L'intervallo di confidenza del 60% significa che con una probabilità del 60% il prezzo (o quello che si approssima) sarà all'interno dell'intervallo e, di conseguenza, tutte le traiettorie che approssimano il movimento del prezzo e cadono in questo intervallo devono essere considerate uguali per questa probabilità. La dimensione dell'intervallo è considerata in deviazioni standard. È chiaro che la gamma stessa si allarga all'aumentare della probabilità. Ho già detto che qualsiasi traiettoria della gamma può essere presa per disegnare la storia - i segnali coincideranno nella maggior parte dei casi. Questo non è il caso se dovete costruire un'estrapolazione. Cioè, per proiettare i prezzi nel futuro. Ho preso l'algoritmo lineare per diverse ragioni - una di queste è la completa unicità delle proiezioni che permette di visualizzare le costruzioni sulla storia e valutare l'efficacia e il significato dell'algoritmo per trovare campioni. Naturalmente, è ancora necessario applicare molti criteri di selezione per i canali di regressione - ce ne sono molti. E nella fase di esecuzione diretta non si può dire quali saranno migliori e quali peggiori - per questo bisogna costruirli e solo allora stimare. Quello che si vede nell'immagine non sempre funziona - c'è un canale e a volte più. Tuttavia, per scopi pratici, è meglio limitarne il numero - cioè selezionare il numero minimo di quelli più estremi.

Buona fortuna e in bocca al lupo per queste tendenze.

Se non sapete cosa sta succedendo, basta cliccare sul link appropriato e avrete l'immagine.
 
Caro Vladislav!

Potresti darmi la password dell'investitore per il conto dove l'Expert Advisor sta facendo trading e i cui estratti conto sono pubblicati su ampir?

Grazie in anticipo.
 
Caro Vladislav!

Sarebbe possibile chiedervi la password dell'investitore per il conto dove l'Expert Advisor fa trading e i cui estratti conto sono pubblicati su ampir?

Grazie in anticipo.


Sì, è possibile.

Nome: AutoTest_F
Email: 4vg@mail.ru
Accesso : 1000024869
Investitore: 8hfiamr (password di sola lettura)

Solo l'Expert Advisor è ancora in modalità test. Non appena tutto è a posto. Cambierò la password, non dispiacerti, altrimenti tutto questo potrebbe essere usato come un sistema di segnalazione ;). Ho provato sul conto reale, i rischi sono leggermente diversi. Li ho copiati con il mio forex ma i miei trade reali e demo corrispondevano tra loro, per questo li ho lasciati solo per il conto demo e li ho testati con il massimo rischio accettabile.

Ho anche lavorato sul mercato Forex per molto tempo.
 
Caro Rosh!

Nell'immagine c'è una formula con una radice, così ho dato l'RMS dal muving. E la mia domanda è su cosa c'è sotto la radice. Grazie.

Vladislav, grazie ancora.
 
<br / translate="no"> Nella foto c'è una formula con una radice, così ho dato il RMS dal muving. E la mia domanda riguarda cosa c'è sotto la radice. Grazie.


Capito, mi correggo :).



HH l'ho disegnato con Paint ;)
 
Ho aggiunto qualcosa allo script di Solandr.
//+------------------------------------------------------------------+
//|                                                     Herst-II.mq4 |
//|            solandr (обработал напильником Rosh)(покрасил Bagadul)|
//|                       http://www.metaquotes.ru/forum/6839/page11 |
//+------------------------------------------------------------------+
#property copyright "solandr (обработал напильником Rosh)(покрасил Bagadul)"
#property link      "http://www.metaquotes.ru/forum/6839/page11"
#property show_inputs

extern int start_bar=500;
extern int end_bar=0;

extern string h_1 = "SHOW LABELS";
extern bool show_in_point = true; // показывать в пунктах, иначе в ценовом выражении
extern string font = "Times New Roman";
extern int font_size = 9;
extern int Xd = 3;        // от борта в пикселях
extern int Yd_step = 13;  // между строк в пикселях
extern int corner;        // угол привязки
extern color LC = Purple; 
extern bool SD = true;    // показывать среднеквадратичное отклонение выборки
extern bool R_ = true;    // показывать максимальный размах иследуемого ряда
extern string h_2 = "Коэффициент Хёрста";
extern int digits_Hurst = 2; // точность коэфф. Херста
extern bool HURST = true;    // показывать коэфф. Херста
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start() {
double viborka[];
int size_of_array,i;

size_of_array=start_bar-end_bar+1;
ArrayResize(viborka, size_of_array);
for(i=size_of_array-1;i>=0;i--) viborka[i]=Open[i+end_bar];

//double S_A=iMAOnArray(viborka,0,size_of_array,0,MODE_SMA,0);
//Print("Среднее арифметическое выборки = ",DoubleToStr(S_A,8));

double S=iStdDevOnArray(viborka,0,size_of_array,MODE_SMA,0,0);

double pMax=viborka[ArrayMaximum(viborka)];
double pMin=viborka[ArrayMinimum(viborka)];

double R=pMax-pMin;
//Print("pMin = ",pMin," pMax = ",pMax, " R = ",R);

double Hrst;
if( (R>0)&&(S>0)) Hrst = MathLog(R/S)/MathLog(size_of_array*0.5);

Graphic(size_of_array, S, pMin, pMax, R, Hrst); // наносим лейблы
  
return(0);}

//+------------------------------------------------------------------+
void deinit() {
if (UninitializeReason() == 1) {Object_Delete("Period"); Object_Delete("SD"); Object_Delete("R"); Object_Delete("Hurst");}
return;}
//+------------------------------------------------------------------+

////---------------------------------------------------------------------------------------+
/**/ void Graphic(int size, double sd, double min, double max, double r, double hurst) { //|
////---------------------------------------------------------------------------------------+
int yd_1, yd_2, yd_3; // между строк в пикселах
double pn = Point, dg;
if (!show_in_point) {pn = 1; dg = Digits;}

Label_Create("Period", corner, Xd, 13, StringConcatenate("The period is taken for ",size," bars"), font_size, LC); yd_1 = Yd_step;

if (SD) {Label_Create("SD", corner, Xd, 13 + yd_1, StringConcatenate("SD [ ",DoubleToStr(sd / pn,dg)," ]"), font_size, LC); yd_2 = Yd_step;}
else {Object_Delete("SD");}

if (R_) {Label_Create("R", corner, Xd, 13 + yd_1 + yd_2, StringConcatenate("R   [ ",DoubleToStr(r / pn,dg)," ]"," Min~Max [ ",DoubleToStr(min,Digits),"~",DoubleToStr(max,Digits)," ]"), font_size, LC); yd_3 = Yd_step;}
else {Object_Delete("R");}

if (HURST) {
    double HURst = NormalizeDouble(hurst,digits_Hurst);
    string time_row;
    color LCH;
    if (HURst > 0.5) {LCH = Red; time_row = "Trend";} // Fractal Market Hupothesis
    else if (HURst < 0.5) {LCH = Blue; time_row = "Contratrend";}
         else {LCH = Black; time_row = "EMH";} // Efficient Market Hypothesis 
    Label_Create("Hurst", corner, Xd, 13 + yd_1 + yd_2 + yd_3, StringConcatenate("HURST [ ",DoubleToStr(HURst,digits_Hurst)," ] ",time_row), font_size + 1, LCH);}
else {Object_Delete("Hurst");}
return;}

////---------------------------------------------------------------------------------------------------------------------+
//// функция создает объект типа - лейбл                                                                               //|
/**/ void Label_Create(string label_name, int corner, int xd, int yd, string text, int font_size, color label_color) { //| 
////---------------------------------------------------------------------------------------------------------------------|
//// corner - номер угла привязки,                                                                                     //|
//// xd, yd - расстояние X,Y-координаты в пикселях относительно угла привязки.                                         //|
////---------------------------------------------------------------------------------------------------------------------+
if (!IsTesting()) {
bool creat = false;
label_name = StringConcatenate(label_name, "_", Symbol());
if (ObjectFind(label_name) == -1) {
    creat = ObjectCreate(label_name, OBJ_LABEL, 0, 0, 0);
    if (creat) {
        ObjectSet(label_name, OBJPROP_CORNER, corner);
        ObjectSet(label_name, OBJPROP_XDISTANCE, xd);
        ObjectSetText(label_name, text, font_size, font, label_color);} }
ObjectSet(label_name, OBJPROP_YDISTANCE, yd);
ObjectSetText(label_name, text, font_size, font, label_color);}
return;}

////--------------------------------------------------------------------------------------+
/**/ void Object_Delete(string object_name) { // функция удаляет объект по наименованию //|
////--------------------------------------------------------------------------------------+
if (!IsTesting()) {
object_name = StringConcatenate(object_name, "_", Symbol());
ObjectDelete(object_name);}
return;}



È andata così

"MQL4: un'immagine per il forum di metaquote"

Funziona come un Expert Advisor, non so se è necessario, ma è visibile.

 
Caro Vladislav!
Ci sono i valori Up e Dn Risk Level nella didascalia del tuo grafico. Il loro significato è generalmente chiaro dai loro nomi.
Ma è solo in generale. E non si possono capire molte cose in particolare. :-)
Se sono stime di probabilità che il mercato salga o scenda, allora la loro somma dovrebbe essere uguale a 1.
Se queste sono stime di probabilità di alcuni livelli su e giù, allora sembra diverso. :-)
Potrebbe spiegare come in effetti e, se possibile, su cosa si basa il calcolo quantitativo.

Grazie in anticipo.
 
Caro Rosh!

Hai dato una buona prova che iStdDev() è equivalente a STANDOTCLONP().

Ma la mia domanda non riguardava questo ;-)

Ho preso il risultato dell'esempio 4 dal vostro articolo, l'ho aperto in OpenOffice Calc e ho aggiunto le seguenti formule alle celle G2:K2
=STDEVP(B2:B5) - analogo di STANDOTCLONP() di Excel
=B2-F2 - deviazione di Array dall'approssimazione muving
=SQRT((H2^2+H3^2+H4^2+H5^2)/4) - deviazione standard dal muving (secondo Vladislav-e Solandr per usare approssimazioni con varie funzioni)
=SQRT( ((B2-F2)^2+(B3-F2)^2+(B4-F2)^2+(B5-F2)^2)/4 ) - deviazione standard (da StdDev.mq4)
=STDEVP(H2:H5) - deviazione standard degli errori di approssimazione per muving
Dopo di che, li ho spalmati su tutte le linee (per chiarezza).

Non ho messo in dubbio che le colonne D, G e J dovrebbero mostrare gli stessi numeri!

Ma le colonne I e K contengono risultati molto diversi.

IMHO, c'è un problema di terminologia nell'articolo, perché iStdDev ovviamente non usa l'approssimazione muwng, mentre questa funzione (iMA) in StdDev.mq4 è usata per altri scopi ;-)
Cioè iStdDev NON è una misura della dispersione dei dati intorno a una media mobile di quei dati, è RMS nella terminologia standard della teoria della probabilità.

Grazie.

Z.I.: Bella vernice che hai, non diversamente da quella comune! ;-)