[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 600

 
Craft:

测试员没有报告任何错误,只是没有下订单。

请指出错误。 逻辑:如果条形图的МА[0]值高于MA[1],你应该买入,反之,应该卖出(写这段代码是为了尝试将简单的条件变成复杂的条件而举例)。


这个代码没有使用MA[0]和MA[1],而是使用MA[j]和MA[j+1]。

在对代码进行了小幅修改后(非常小),出现了错误4107

我可以让它发挥作用,但这将是一个完全不同的EA。我把它简化到最大限度。而这里的代码可以减半以上。

如果止损和接管设置为零,专家顾问就会开始进行交易。

 
Vinin: 我可以让它发挥作用,但这将是一个完全不同的EA。我正在尽可能地简化它。而这里的代码可以减少一半以上。
Vinin,如果你能让它在止损或止盈时收盘,对我来说,主要是感受到mql在处理数组中不同条目的哲学。
 
晚上好!当我把MQL4指标拉到图表上时,它们就不工作了,但根本就没有任何效果!请帮助!我想知道为什么?
回复


问题是,顾问工作和指标根本不工作!
 
Craft:
Vinin,如果你能让它在止损或止盈时收盘,主要的是感受到mql在处理数组中不同条形的哲学。

我已经检查过了。它是有效的。信号是方向的改变
附加的文件:
15.2_1.mq4  18 kb
 
Craft:
很好,但在代码中是如何运作的(逻辑):如果MA150+20>MA5>MA150-20和MA150+20>MA21>MA150-20,那么平坦,否则趋势。
逻辑在这里的某个地方...我做得很快,所以对不起,如果有什么...


//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//------------------------------- Функция определения тренда по МАшкам ----------------------------
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
// Возврвщает 1 = тренд вверх, -1 = тренд вниз, 0 = флэт...
//------------------------------------------------------------
// -------------- Внешние переменные -------------
//============================================================
extern string  MATrendDetectorParameters = "Параметры детектора тренда";

extern double  Limit150 =20;
extern double  Limit21  =20;
extern double  Limit5   =20;

// ===============================================================
// ---------------------- Собственно сама функция ----------------
// ===============================================================
int   TrendDetectorMA (string sy, int tf)
{

double   MA150, MA150UP, MA150DN,
         MA21, MA21UP, MA21DN,
         MA5, MA5UP, MA5DN,
         
         pt;
// ---------------------------------------
   pt=Point;
   
   if (sy=="" || sy=="0") sy=Symbol();
      
   MA150    =iMA(sy,tf,150,0,MODE_SMA, PRICE_MEDIAN,1);
   MA21     =iMA(sy,tf,21,0,MODE_SMA, PRICE_MEDIAN,1);
   MA5      =iMA(sy,tf,5,0,MODE_SMA, PRICE_MEDIAN,1);
    
   MA150UP  =MA150+Limit150*pt;
   MA150DN  =MA150-Limit150*pt;
   
   MA21UP   =MA21+Limit21*pt;
   MA21DN   =MA21-Limit21*pt;
   
   MA5UP    =MA5+Limit5*pt;
   MA5DN    =MA5-Limit5*pt;
   
// --------------------------------------
// ------------- Рассчёт данных ---------

   if (
         MA5DN>MA21UP &&         // Если нижняя граница быстрой МАшки выше верхней границы средней МАшки и...
         MA21DN>MA150UP          // нижняя граница средней МАшки выше верхней границы медленной МАшки,
      )   
         return(1);              // значит тренд вверх, возвращаем 1
         
   if (
         MA5UP<MA21DN &&         // Если верхняя граница быстрой МАшки ниже нижней границы средней МАшки и...
         MA21UP<MA150DN          // верхняя граница средней МАшки ниже нижней границы медленной МАшки,
      )   
         return(-1);             // значит тренд вниз, возвращаем -1
         
   else  return(0);              // В остальных случаях у нас флэт, возвращаем 0
}

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
这个挑战是这样的。
int tr=TrendDetectorMA (NULL, 5);   // NULL, 0 = текущий символ, либо явно, напр. EURUSD
                                    // 5 = таймфрейм, можно 15, 30, 60, 240, 1440, 10080, 43200, хотя можно было 
                                    // и красивее сделать.
   
   Comment ("\n","Тренд = ", tr);
   return;
 

我想在MT4中使用Ramus卷,它们似乎有更真实的卷。


 
IgorM:


我的系统被设置为总是想开一个订单,我通过禁止信号来限制它,只有信号才允许我交易=订单

我现在有一个小问题--没有晚间交易,但在夜间平仓时有随机订单的问题--到目前为止,我梦想教EA区分平仓,而不是限制它在一天中的时间工作。对于趋势的估计,我在EA逻辑中使用了更高的TF,所以我能够在晚上把它放在一个小时的TF上,它似乎没有在M15上那么顽固。

为什么要限制?你可以对趋势和平盘使用不同的策略。让它永远发挥作用,只要它能发挥作用......。;)
 
谢谢你,维宁,谢谢你,artmedia70
 
Dimka-novitsek:

晚上好,我的MQL4指标不工作,根本就没有!请帮助! 回复 顾问工作的事实,而指标根本就不工作!






F1帮助--技术指标 部分
 

例如,我如何使用对象箱和对象集在随机窗口中画一条水平线