a trading strategy based on Elliott Wave Theory - page 30

 
Vladislav,

Bylo by interesno mne uvidet' kod eksperta, stalo interesno kak "risk level" pods4itajesh i kak trendvyje bary ... :)
 
Very interesting. Thanks Vacheslav.
Confidence intervals are marked from 60%, to 99%.

What are the percentages from which the confidence intervals are derived.
The small dotted line, as far as I understand, is RMS=1, but what is marked with the long dotted line, apart from the middle yellow line?

Thank you in advance for your reply - Alexander.
 
Very interesting. Thanks Vacheslav. <br/ translate="no">
Confidence intervals are marked from 60%, to 99%.

And what are the percentages the confidence intervals are derived from.
The small dashed line, as far as I understand it is RMS=1, and what is marked with a long dashed line, except the middle yellow line?

Thank you in advance - Alexander.



This is the standard way of constructing confidence intervals. The 60% confidence interval means that with a probability of 60% the price (or whatever you approximate) will be within this range and, consequently, all the trajectories that approximate the price movement and fall into this range must be considered equal for this probability. The size of the interval is considered in standard deviations. It is clear that the range itself widens as the probability increases. I've already mentioned that any trajectory from the range can be taken for drawing the history - the signals will coincide in most cases. This is not the case if you need to build an extrapolation. That is, to project prices into the future. I took the linear algorithm for several reasons - one of them is the complete uniqueness of projections that allows you to view the constructions on history and evaluate the effectiveness and significance of the algorithm for finding samples. Of course, you still need to apply a lot of selection criteria for regression channels - there are a lot of them. And at the stage of direct execution you cannot say which ones will be better and which ones worse - for this you need to build them and only then estimate. What you see in the picture does not always work out - there is one channel and sometimes more. However, for practical purposes, it is better to limit the number - i.e. to select the minimum number of the most extreme ones.

Good luck and good luck with those trends.

If you don't know what's going on, just click the appropriate link and you'll get the picture.
 
Dear Vladislav!

Could you please give me the investor password for the account where the Expert Advisor is trading and whose statements are posted on ampir?

Thank you in advance.
 
Dear Vladislav!

Could you please give me the investor password for the account where the Expert Advisor is trading and whose statements are posted on ampir?

Thank you in advance.


Yes, it is possible.

Name : AutoTest_F
Email : 4vg@mail.ru
Login : 1000024869
Investor : 8hfiamr (read only password)

Only the Expert Advisor is still in test mode. As soon as everything is OK. I will change the password, don't be sorry, otherwise all this could be used as a signal system ;). I`ve tried it on real account, the risks are slightly different. I have copied them with my trading robot but my real and demo trades corresponded each other, that is why I have left them only for the demo account and I have tested them with maximum acceptable risks.

I have also been working on the Forex market for a long time.
 
Dear Rosh!

In the picture there is a formula with a root, so I gave the RMS from the muving. And my question is about what is under the root. Thank you.

Vladislav, thank you again.
 
<br / translate="no"> In the picture there is a formula with a root, so I gave the RMS from the muving. And my question is regarding what's under the root. Thank you.


Understood, I stand corrected :).



HH I drew it in Paint ;)
 
I have added something to Solandr's script.
//+------------------------------------------------------------------+
//|                                                     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;}



It went like this

"MQL4: A picture for the metaquotes forum"

It works like an Expert Advisor, I don't know if it is needed, but it is visible.

 
Dear Vladislav!
There are Up and Dn Risk Level values in the caption on your chart. Their meaning is generally clear from their names.
But it is only in general. And you cannot understand many things in particular. :-)
If they are estimates of probability of that the market will go up or down, then their sum should equal 1.
If those are estimations of probability of some levels up and down, then it looks different. :-)
Could you please explain how in fact and, if possible, what the quantification is based on.

Thanks in advance.
 
Dear Rosh!

You gave a good proof that iStdDev() is equivalent to STANDOTCLONP().

But my question was not about that ;-)

I took the result of Example 4 from your article, opened it in OpenOffice Calc and added the following formulas to cells G2:K2
=STDEVP(B2:B5) - analog of STANDOTCLONP() of Excel
=B2-F2 - deviation Array from muving approximation
=SQRT((H2^2+H3^2+H4^2+H5^2)/4) - standard deviation from muving (according to Vladislav-and Solandr to use approximations by various functions)
=SQRT( ((B2-F2)^2+(B3-F2)^2+(B4-F2)^2+(B5-F2)^2)/4 ) - standard dev iation (by StdDev.mq4)
=STDEVP(H2:H5) - standard deviation of errors of approximation by muving
After that, I spread them to all lines (for clarity).

I did not question that columns D, G and J should show the same numbers!

But columns I and K contain very different results.

IMHO, there is a problem with terminology in the article, because iStdDev obviously doesn't use muwng approximation, while this function (iMA) in StdDev.mq4 is used for other purposes ;-)
I.e. iStdDev is NOT a measure of dispersion of data around a moving average from that data, it is RMS in standard probability theory terminology.

Thanks.

Z.I.: Nice Paint you have, not unlike so common! ;-)
Reason: