[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 25

 
亲爱的程序员们。作为一个初学者,我很难写出算法,我可以编辑它,所以请帮助我。 我将非常、非常感激!!。
这样一个简单的 EA,它需要。

如果条件1 得到满足,那么。
-检查是否有未结的卖出订单
-检查是否有任何卖出订单打开并关闭它们。
检查是否有任何已开启的卖出订单 - 如果有的话,关闭它们。
-打开购买订单

同样的,如果 条件2 得到满足,那么
-检查是否有任何已开启的买入订单
-如果有的话,关闭它们
检查是否有任何买入的订单 - 如果有,就关闭它们
-打开一个卖出订单
+ 错误分析(不是主要的,但有可能)。
这都是针对当前货币对的。

int start()                       
  {
   double M_0, M_1,               // Значение MAIN на 0 и 1 барах
          S_0, S_1;               // Значение SIGNAL на 0 и 1барах
//--------------------------------------------------------------------
                                  // Обращение к функции техн.индикат.
   M_0 = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,  0);// 0 бар
   M_1 = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,  1);// 1 бар
   S_0 = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0);// 0 бар
   S_1 = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,1);// 1 бар
//--------------------------------------------------------------------
                                  
   if( M_1 < S_1 && M_0 >= S_0 )  // УСЛОВИЕ 1: Зеленая пересекает красную снизу
     
   if( M_1 > S_1 && M_0 <= S_0 )  // УСЛОВИЕ 2: Зеленая пересекает красную сверху
     
//--------------------------------------------------------------------
   return;                            // Выход из start()
  }
 
你好!请你告诉我,是否可以在一个函数中给几个全局变量 赋值,在这种情况下,这些变量应该在哪里声明?
 
ideasforlife:
亲爱的程序员们。作为一个初学者,我很难写出算法,我可以编辑它,所以请帮助我。 我将非常、非常感激!!。
这样一个简单的 EA,它需要。

如果条件1 得到满足,那么。
-检查是否有未结的卖出订单
-检查是否有任何卖出订单打开并关闭它们。
检查是否有任何已开启的卖出订单 - 如果有的话,关闭它们。
-打开购买订单

同样的,如果 条件2 得到满足,那么
-检查是否有任何已开启的买入订单
-如果有的话,关闭它们
检查是否有任何买入的订单 - 如果有,就关闭它们
-打开一个卖出订单
+ 错误分析(不是主要的,但有可能)。
这都是针对当前货币对的。

在CodeBase中,有许多 关于随机的专家顾问。查看和重做
 
ideasforlife:
亲爱的程序员们。作为一个初学者,我很难写出算法,我可以编辑它,所以请帮助我。 我将非常、非常感激!!。
这样一个简单的 EA,它需要。

如果条件1 得到满足,那么。
-检查是否有未结的卖出订单
-检查是否有任何卖出订单打开并关闭它们。
检查是否有任何已开启的卖出订单 - 如果有的话,关闭它们。
-打开购买订单

同样的,如果 条件2 得到满足,那么
-检查是否有任何已开启的买入订单
-如果有的话,关闭它们
检查是否有任何买入的订单 - 如果有,就关闭它们
-打开一个卖出订单
+ 错误分析(不是主要的,但有可能)。
当前货币对的情况就是这样了。

而更简单的是教科书上的一个例子:https://book.mql4.com/ru/samples/expert。

从头到尾阅读一本教科书有那么难吗?

 
ideasforlife:
亲爱的程序员们。作为一个初学者,我很难写出算法,我可以编辑它,所以请帮助我。 我将非常、非常感激!!。
这样一个简单的 EA,它需要。

如果条件1 得到满足,那么。
-检查是否有未结的卖出订单
-检查是否有任何卖出订单打开并关闭它们。
检查是否有任何已开启的卖出订单 - 如果有的话,关闭它们。
-打开购买订单

同样的,如果 条件2 得到满足,那么
-检查是否有任何已开启的买入订单
-如果有的话,关闭它们
检查是否有任何买入的订单 - 如果有,就关闭它们
-打开一个卖出订单
+ 错误分析(不是主要的,但有可能)。
这都是针对当前货币对的。


现成的解决方案--在教科书版本中,这里 拿走关于MACD的一切--这里,就是这样......:-Р

P.S. 甚至变量名称也几乎相同。你可以阅读我们的教程,它既有描述也有其他内容。:-Р

 
Roman.:


现成的解决方案--在教科书版本中,这里 拿走关于MACD的一切--这里,就是这样......:-Р

P.S. 甚至变量名称也几乎相同。阅读教程--有描述和其他一切。:-Р

我先来!:-P :-P
 
Code:

你好,亲爱的论坛成员。

当然,我有一些来自新人的问题。我正在努力学习mql4,因为我以前从未开发过任何程序,所以问题可能很原始。但我从来没有自己做的能力。

我决定通过画线而不是柱状图来 "捣乱 "显示数量,并进行一些处理。代码应具有以下意义。从与前一个柱子方向相同的第二个柱子开始(两个柱子都是向上的),成交量从第二个柱子开始绘制。结果,我在指标窗口中得到了一条断线,它确实是从第二根柱子往上画的,但由于某些原因并不是在所有情况下都是如此。这条线被打断了,因为它绘制的其他条件根本没有确定,它是一个未来的东西。但在这里我自己要理解为什么线不是在每第二个柱状物上画的,我不能。请帮助我。

以下是代码。如果你对代码中的其他错误有任何其他意见,我将很高兴。


这个指标的含义是什么?我为什么需要它呢?


为什么会需要这样一个角色定位。

ExtVolumesBuffer[i]=dVolume+vteor12-vrealUP12;

或者是的,但它已经暴露了。

ExtVolumesBuffer[i]=Volume[i]+(Volume[i]+Volume[i+1])/(2-(Close[i]-Open[i+1])*1000);

???


还有关于代码中的失误。你的台词。

double dVolume=Volume[i];
double vback1=Volume[i+1];

         {
         double vteor12=(dVolume+vback1)/2;
            if (Close[i+1]>Open[i+1] && Close[i]>Open[i]) double UP12=(Close[i]-Open[i+1])*1000; else UP12=0;
            if (UP12!=0) double vrealUP12=(dVolume+vback1)/UP12; else vrealUP12=0;
            if (Close[i+1]>Open[i+1])
            if (Close[i]>Open[i])
            ExtVolumesBuffer[i]=dVolume+vteor12-vrealUP12;
            if (ExtVolumesBuffer[i]<0) ExtVolumesBuffer[i]=0;
              }

相当于下列各项。

double dVolume=Volume[i];
double vback1=Volume[i+1];

double vteor12=(dVolume+vback1)/2;
if (Close[i+1]>Open[i+1] && Close[i]>Open[i])
{
   double UP12=(Close[i]-Open[i+1])*1000;
   double vrealUP12=(dVolume+vback1)/(Close[i]-Open[i+1])*1000;
   ExtVolumesBuffer[i]=dVolume+vteor12-vrealUP12;
   if (ExtVolumesBuffer[i]<0)
      ExtVolumesBuffer[i]=0;
}
else
{
   UP12=0;
   vrealUP12=0;
}

你看看优化后的代码,想想为什么要引入这么多的变量?而为什么他们会被 "以其他方式 "清零?

如果我理解了这个指标的想法,我就能帮助你。

 
MaxZ:

这个指标的意义何在?你为什么需要一个呢?


你为什么需要这样的特性。

是吗?还是,但已经披露了。

???


还有关于代码中的失误。你的台词

是相当于以下的。

你看着优化后的代码,你会想为什么一开始要输入这么多变量?而且为什么他们会被 "以其他方式 "归为零?

如果我理解了这个指标的想法,我也许能帮助你。


谢谢你的回答,我将回答你的问题。

这一特点正是该指标的整体思路。我还准备了一个关于MQL的练习。我已经想好了一个任务,并凭直觉理解它在一种语言中的实现并不十分困难。我坐下来试试。

所以,这个特点的实质是,我把两个单向量的某个固定的理论水平与实际水平进行比较。也就是说,如果两个量的总和与实际 "开仓-平仓 "区间的实际比率高于指定的理论比率,我就会以计算出的理论结果和实际结果之间的差额的形式,给实际的第二个量增加一个 "奖励"。如果实际水平比理论水平低,我就从第二根柱子的体积中减去相同的差异。我可以解释清楚吗?

为了以防万一,我要说的是,在揭示这一特点时,你把括号放错了,可能是太匆忙。

此外,在我看来,你认为与我等同的那些字符串将导致除以零。我现在就去检查。

 

大家好!

感谢这个分支的专家(尤其是罗曼)的宝贵帮助,我成功地制作了一个简单的专家顾问,在测试器上显示+。问题:如何确定它是否可用于真实交易?是否有任何标准?

 
MaxZ:
我先来!:-P :-P

你根本就走错了路...完全不符合正确的交易标准,这是一个STO-HAS-TO-KE的问题......:-Р