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

 
happybuddhist:

总之,我需要帮助,为我的TS(第3点)写一个平仓的函数,并将现有的代码改编为函数。

请看这里。;)

附加的文件:
ln_3.mq4  4 kb
 
hoz:

但有一点。在那里,无论如何,表达式输出的一个变化都不会解决问题。毕竟,在发生归零的时候,开盘价和收盘价必须被 "调换 "出来。


你似乎搞错了。毕竟,+(a-b)=a-b,-(a-b)=-a-(-b)=-a+b=b-a。随着标志的改变,他们确实改变了位置。

hoz:

Vadim 前段时间写道,把一个函数放在一个循环里,会使代码的执行速度降低一个数量级。


就我对Vadim的理解,他是指在一个循环中调用一个用户函数。

Vinin:

也许你应该开设你自己的分支机构。为什么需要 "新手的分支"?
是的,为什么一个初学者需要知道解剖和时期的mashka))))。我和初学者没有什么不同,也许只是因为我是文盲,所以我试图用自己的大脑去了解一切。

hoz:

我使cntUpcntDn 计数器不同,因为它可能一次有一个值,然后在通过计算条的循环进行计算时有另一个值 而计数器可以对一个数值进行求和,并继续对另一个数值进行求和。而如果有一个变量,一个属性的条数将被添加到另一个属性的条数计数器中。


那里的柜台是不同的。如果蜡烛图向相反的方向发展,计数器就会按公式重新设置。也许我没有理解你。唯一的问题是,它可能工作得更慢。当我有机会时,我会测试它。

 
gyfto:...我有这样一个关于优化的问题。我正在处理EMA算法...
现在,如果我可以简单地包裹幂函数,如果下一个权重比上一个权重更重要,我为什么要取最后一个权重呢?我甚至不问为什么要使用递归,因为递归后的最终权重可以通过一个公式得出(见F(n,x)和y(n,x))。
Vinin : 也许你应该建立自己的分支机构。为什么你需要一个 "初学者的分支"?
gyfto: ...是的,好吧,为什么新手要了解解剖学和时期的waving))))?我和初学者没有什么不同,也许只是我是文盲,所以我试图用我的大脑去了解一切。
去吧,去开一个类似 "关于EMA的问题 "的主题,并附上Matcad文件。你的帖子只会在这里消失。在一个单独的主题中,数学大师们应该能够将其全部分解。
 
GaryKa:
去吧,去开一个类似 "EMA问题 "的主题,并附上一个matkad文件。你的帖子只会在这里消失。在另一个主题中,数学大师们应该能把它分解开来。

你可能是指问题的答案会丢失。好吧,我开一个主题,编辑那个帖子,我就写动了。
 
TarasBY:

看这个。;)


嗯,谢谢。这些是优化的结果吗?
 
gyfto:

你似乎搞错了。因为+(a-b)=a-b,-(a-b)=-a-(-b)=-a+b=b-a。随着标志的改变,他们确实改变了位置。

因此,从数学上我们知道,减去负数就能得到正数。而加号到减号则是减号。但这是我第一次听说变量互换的情况。

gyfto

就我对Vadim的理解而言,他是指在循环中调用用户函数。

我在那里有一个用户功能。这里是初始函数本身未被缩短的形式,因为它暂时不能像我希望的那样工作,所以我决定不使它通用。

//+-------------------------------------------------------------------------------------+
//| Расчитываем количество идущих один за одним баров одного признака                   |
//+-------------------------------------------------------------------------------------+
int LastCandlesType(int directionMA)
{
   int cntUp,                                                                            // Счётчик идущих друг за другом свечей с..
       cntDn;                                                                                // .. требуемыми признаками
       
   for (int i=i_AnyBarsToHistory; i>=1; i--)
   {
      if (directionMA == CROSS_UP)
      {
         if ((Open[i] - Close[i]) >= i_sizeOfSequentialCorrectionBar * pt)              // Если бар соответствует требуемым признакам..
             cntDn++;                                                                     // .. прибавим 1 к счётчику

         if ((Close[i] - Open[i]) >= i_sizeOfTrandBar * pt)                             // Если бар, не соответствует основному признаку..
             cntDn = 0;                                                                   // .. счётчик обнуляем

         if (cntDn == i_sequentBarsСount)                                                   // Если cnt баров в подряд медвежьи..
             return (REQUIRED_SEQUENTIAL_BEARS_GOT);                                         // .. Выходим из функции
      }

      if (directionMA == CROSS_DN)
      {
         if ((Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt)              // Если бар соответствует требуемым признакам..
             cntUp++;                                                                     // .. прибавим 1 к счётчику

         if ((Open[i] - Close[i]) >= i_sizeOfTrandBar * pt)                             // Если бар, не соответствует основному признаку..
             cntUp = 0;                                                                   // .. счётчик обнуляем
     
         if (cntUp == i_sequentBarsСount)                                                   // Если cnt баров в подряд бычьи..
             return (REQUIRED_SEQUENTIAL_BULLS_GOT);                                         // .. Выходим из функции
      }
   }
}

在循环内部,从一个接收普通信号的函数中,这个变量得到它的值并通过参数传递。

int directionMA = GetStateOfMA();

gyfto:
嗯,是的,为什么新手需要了解挥舞机的解剖和时期呢)))我和初学者没有什么不同,也许只是因为我是文盲,所以我在努力用我的大脑去了解一切。

你错了。事实上,不存在文盲的问题。你在这里有这样的想法,很多新手都不理解......

gyfto:

那里有一个不同的柜台。如果蜡烛走到另一个方向,公式会重置计数器。还是我误解了你的意思。唯一的问题是,它可能工作得更慢。我有机会的话会测试一下。

是的,但是我们有一个计数器,其数值是按照从索引为i_AnyBarsToHistory 的柱子到索引为1 的柱子出现 的顺序计算的。由此可见,如果条件将在指数30 到指数15 的条形上得到满足。

directionMA == CROSS_UP

然后,例如在cnt=2 时,条件将得到满足。

directionMA == CROSS_DN

然后cnt将被递增到之前的值。如果我们有2,新的条件将以1递增,然后cnt=3,我们将以值3退出函数。你明白我的意思吗?仔细看看,这里的逻辑基本上是很明显的。

 

下午好。

有没有人有在EA中 改变指标 参数的经验?

取决于波动性(如MA参数) ?

或者你可以给我一个链接来阅读

 
Stells:

下午好。

有没有人有在EA中改变指标参数的经验?

取决于波动性(如MA参数) ?

或者你可以给我一个链接来阅读


如果你了解什么是muving,这种问题就会自行消失。
 
hoz:
如果你了解什么是muving,这种问题就会自己消失。
你不能只是活得漂亮...

适应性MA
 
日安,我需要帮助写一个简单的脚本或专家顾问',如果脚本不能自己做,我从来没有编过程序。 脚本的本质是登录 - 接收价格(当前的卖出价和买入价) - 确定未来的买入/卖出价格(作为其数字的倍数 "例如30") - 找出在这些价格上是否有未结的/推迟的订单 - 如果没有订单,设置带有止损和止盈的挂单- 如果有订单,检查未来购买的下一个价格,对于购买来说,它是高出一个数字的。