[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 322

 
gyfto:


让我换句话说:这是自我教育,我一生都在自学,所以我不知道你采取了什么方法。我不知道什么被你们接受,什么不被接受。

好了,回到蜡烛上。假设我们有i_AnyBarsToHistory=30,i_ѕеqceptBarsConnt=3。如果在一个30个蜡烛图的窗口中,cntUp == i_ѕеԛceptBarsCount,cntDn == i_ѕеԛceptBarsCount一次,那么应该发生什么?还是它每次都 计算一个计数器?

是的,为什么我们在到达Close[1]之前过早地退出循环?


底线是这样的:如果周期是30到3,那么计算是分别从指数30到指数3,包括在内。

如果在当前条形图上通过了所需的属性,我们就给计数器加1,如果通过了另一个所需的属性,我们就给计数器再加1。以此类推,直到我们遇到一个不符合所需属性的酒吧。如果条形图不符合要求的属性,计数器就会重置,然后分析情况,即进行进一步的计算,循环往复,直到我们来到指数为3的条形图。简直是无所不能。

我希望我解释清楚了。

 
hoz:

int signal = GetGeneralSignal();


你可以把它换成

   if(GetMa(2)-GetMa(1)<σ) return; else int cross=MathAbs(GetMA(2)-GetMA(1))/(GetMA(2)-GetMA(1));
   for (int i=i_AnyBarsToHistory; i>=1; i--){
                if(cross*(Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt) cnt++; else cnt=0;
   }
   if(cnt >= i_sequentBarsСount){
                switch(cross+1){
                        case 0: OpenBuy(); break;
                        case 2: OpenSell(); break;
                }
   }

检查cross=+1或-1是否对应于OpenBuy()或OpenSell()(以及close-open或open-close)。σ 我们在这里分配了一些无限小的值,类似于零。

tommy27:

帮助,我不明白如何使一个指标比较最新的条形图的数量,并计算其中有多少是上升的,有多少是下降的,有多少是针形图,以及谁有什么价格收盘/开盘,高/低和成交量?

我们需要在指标中准确地做到这一点。


将CountedBars设置为某个烛台窗口(如30个),并在CountedBars中循环递减。上涨或下跌,看涨或看跌,看两个相邻的Close[]之差。Pinbar看的是当地的高点或低点,以及这个高点或低点与邻近数值的偏差。如果偏差超过了你指定的某个百分比,那就是一个针杆。

 
下午好。你能告诉我如何确定斐波那契弧形 物体上38.2的交叉点吗?
 

你好。

祝大家节日快乐!

我有一个交易终端 OEC,需要一个简单的点差指标。

也许有人能写,或者至少能帮助我做些什么

在MT4上看起来是这样的

附加的文件:
 
ADGgeek:

你好。

祝大家节日快乐!

我有一个交易终端OEC,需要一个简单的点差指标。

也许有人能写,或至少能帮助我做些什么

在MT4上看起来是这样的


我可以建议你在 "蜘蛛 "上询问。事实上,我只能引用。

GaryKa:
加入对标点符号的描述,以及对你的概念(如 "你的号码")的定义,并在此 加入。而在这个分支中,只帮助那些有自己的手(然后在心情上)的人。

这适用于所有人。我不知道如何使用它,我将尝试用它进行交易。

 

这正是我所要找的,谢谢加里卡!过去和即将到来的节日快乐

 

祝大家节日快乐!

你能告诉我,当终端在 "专家 "标签中显示uninit reason 5时,是什么意思?

谢谢你。

 
CYBOPOB:

祝大家节日快乐!

你能告诉我,当终端在 "专家 "标签中显示uninit reason 5时,是什么意思?

谢谢你。


https://docs.mql4.com/ru/constants/uninit
 
hoz:

就这么简单。


根据我对你的描述和你的代码的比较,它们出现了分歧,因为在你的代码中,当i_seqentBarsCont.时,提前 退出循环。

hoz:

for (int i=i_AnyBarsToHistory; i>=1; i--)
   {
      if (directionMA == CROSS_UP)
      {
         if ((Open[i] - Close[i]) >= i_sizeOfSequentialCorrectionBar * pt)
             cntDn++;
         if ((Close[i] - Open[i]) >= i_sizeOfTrandBar * pt)
             cntDn = 0;
                                                                                        
         if (i == 1)
            Print(" directionMA ", directionMA, "; i = ", i, "; Open[i] - Close[i] = ", Open[i] - Close[i], "; cntDn = ", cntDn);

         if (cntDn == i_sequentBarsСount)            //<--
             return (REQUIRED_SEQUENTIAL_BEARS_GOT); //<--
      }

      if (directionMA == CROSS_DN)
      {
         if ((Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt)
             cntUp++;
         if ((Open[i] - Close[i]) >= i_sizeOfTrandBar * pt)
             cntUp = 0;
         if (i == 1)
            Print(" directionMA ", directionMA, "; i = ", i, "; Close[i] - Open[i] = ", Close[i] - Open[i], "; cntUp = ", cntUp);

         if (cntUp == i_sequentBarsСount)            //<--
             return (REQUIRED_SEQUENTIAL_BULLS_GOT); //<--
   }
hoz:

如果周期是从30到3,那么计算就会分别从指数30到指数3,包括在内

如果条形图不符合所需的索引,那么计数器就会被重置,然后我们分析情况,即继续按周期计算, 直到我们到达索引为3的条形图。

 
gyfto:


根据我对你的描述和你的代码的比较,有一个差异,因为在你的代码中,当i_seqentBarstCont.Ltd.时,有一个提前 退出的循环。



我理解你可能需要有一个计数器,它将在每个计算过的条形图后被递增,当它的值等于i_AnyBarsToHistory时,那么它将输出到此为止的内容。

我把我的想法抛出来,然后再回信。