基于艾略特波浪理论的交易策略 - 页 30

 
弗拉迪斯拉夫。

通过interesno mne uvidet' kod的方式,stalo interesno kak "risk level" pods4itajesh and kak trendvyje bary ...:)
 
非常有趣。谢谢瓦切斯拉夫。
信心区间从60%到99%都有标记。

从中得出的置信区间 的百分比是多少。
据我所知,小虚线是RMS=1,但除了中间的黄线外,长虚线标记的是什么?

提前感谢您的答复--亚历山大。
 
非常有趣。谢谢瓦切斯拉夫。<br/ translate="no">
信心区间从60%到99%都有标记。

而置信区间是由什么百分比得出的。 小虚线,据我了解是RMS=1,除了中间的黄线,用长虚线标记的是什么?预先感谢您 - 亚历山大。






这是构建置信区间 的标准方法。60%的置信区间意味着,以60%的概率,价格(或你近似的东西)将在这个范围内,因此,所有近似价格走势并落入这个范围的轨迹必须被认为是这个概率相等。区间的大小是以标准差来考虑的。很明显,随着概率的增加,范围本身也在扩大。我已经提到,可以从范围内的任何轨迹来绘制历史--在大多数情况下信号会重合。如果你需要建立一个推断,情况就不是这样。也就是说,要预测未来的价格。我采取线性算法有几个原因--其中之一是投影的完全唯一性,允许你查看历史上的构造,并评估该算法对寻找样本的有效性和意义。当然,你仍然需要对回归渠道应用大量的选择标准--有很多。而在直接执行的阶段,你不能说哪些会更好,哪些会更差--为此你需要建造它们,然后才能估计。你在图片上看到的东西并不总是有效的--有一个通道,有时更多。然而,出于实际目的,最好是限制数量--即选择最极端的最小数量。祝你好运,祝你在这些趋势中好运。如果你不知道发生了什么事,只要点击相应的链接,你就会明白。
 
亲爱的Vladislav!

你能不能给我专家顾问交易的账户的投资者密码,该账户的报表在ampir上公布?

预先感谢你。
 
亲爱的Vladislav!

能否请您提供专家顾问交易的账户的投资者密码,该账户的报表在ampir上公布?

预先感谢你。


是的,这是有可能的。

名称 : AutoTest_F
电子邮件 : 4vg@mail.ru
登入 : 1000024869
投资者 : 8hfiamr (只读密码)

只有专家顾问仍处于测试模式。只要一切正常,就可以了。我将改变密码,不要遗憾,否则这一切都可以作为一个信号系统;)。我在真实账户上试过,风险略有不同。我已经用我的外汇复制了它们,但我的真实交易和模拟交易是相互对应的,这就是为什么我只把它们留在模拟账户上,并以可接受的最大风险对它们进行测试。

我也在外汇市场上工作了很长时间。
 
亲爱的Rosh!

在图片中,有一个带根的公式,所以我从穆文中 给出了RMS。而我的问题是关于根下的东西。谢谢你。

弗拉迪斯拉夫,再次感谢你。
 
<br / translate="no"> 在图片中,有一个带根的公式,所以我从muving给出了RMS。而我的问题是关于根下的东西。谢谢你。


理解了,我接受纠正 :)。



HH我用油漆画的;)
 
我在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;}



事情是这样的

"MQL4:为元老级论坛提供图片"

它像专家顾问一样工作,我不知道是否需要它,但它是可见的。

 
亲爱的Vladislav!
在你的图表的标题中,有向上和向下的风险水平值。它们的含义一般从它们的名字中就可以看出。
但这只是一般情况。而且你不能特别理解许多事情。:-)
如果它们是对市场将上涨或下跌的概率的估计,那么它们的总和应该等于1。
如果这些是对某些级别上下的概率的估计,那么它看起来就不一样了。:-)
请你解释一下事实上是怎样的,如果可能的话,量化的依据是什么。

提前感谢。
 
亲爱的Rosh!

你给出了一个很好的证明,iStdDev()等同于STANDOTCLONP()。

但我的问题不是关于这个;-)

我从你的文章中提取了例4的结果,在OpenOffice Calc中打开,并在G2:K2单元格中添加了以下公式
=STDEVP(B2.K2)。B5)--Excel的STANDOTCLONP()的类似物
=B2-F2 --Array与muving近似值的偏差
=SQRT((H2^2+H3^2+H4^2+H5^2)/4) --与muving标准偏差(根据Vladislav--的说法)。和Solandr使用各种函数的近似值)
=SQRT( ( (B2-F2)^2+(B3-F2)^2+(B4-F2)^2+(B5-F2)^2)/4 ) -标准偏差(通过StdDev.mq4)
=STDEVP(H2:H5) - 通过muving的近似误差的标准偏差
之后,我把它们分散到所有行中(为了清晰)。

我并没有质疑D、G和J栏应该显示相同的数字!我的意思是说,这三栏的数字是相同的。

但I栏和K栏包含了非常不同的结果。

IMHO,文章中的术语有问题,因为iStdDev显然没有使用muwng近似,而StdDev.mq4中的这个函数(iMA)则用于其他目的;-)
也就是说,iStdDev不是衡量数据移动 平均线周围的分散度,它是标准概率论术语中的RMS。

谢谢。

Z.I.: 你的油漆不错,不像是那么常见的!;-)