初学者的问题 MQL4 MT4 MetaTrader 4 - 页 159

 

尊敬的程序员你好,请帮助我调整这个EA。



1.自动开启订单。
2.当它达到 "+"时,它在同一侧的初始手数中打开一个订单。
3.当它到达-时,它就会逆转订单(按照收到订单的方向打开订单)。
附加的文件:
 
同事们,大家好!
您能否告知是否有人遇到过这个问题?
1)在MT4合作平台上测试。在日志中,有Error到order modify1。订购modify1错误的原因是什么,如何纠正?
2) 我无法安装和运行EA。我把EA移到图表窗口,它要么不粘在右上角,要么一直粘着,但不启动。与其说是钶,不如说是一个长方形!(见屏幕截图)
3) 我如何在我的ROSA(Linux)上正确安装MT4?我把MT4安装在c/Program Files (x86)/MT4上。我是否必须将文件 从c/Program Files (x86)/MT4复制到 c/users/xxl/AppData/和_c/users/xxl/Application Data/MetaQuotes/?如果是这样,我应该把哪些文件放在LocalLow和Roaming文件夹里,哪些放在Terminal和WebInstall文件夹里?
谢谢你的详细回答!)

 

大家好。这里是底线。有一个鳄鱼与N条的交点。我们需要找到鳄鱼和例如从这个交点开始的第一条杠的低点之间的角度。困难在于我们有两个不相容的值--条数和价格。 正如有人建议的那样,我想在图表中一个单元格的大小上跳舞。但如果广场上的条数与规模的变化成正比,价格就没有这样的比例。

根据上述情况,我有两个问题。

1.也许有人遇到过或知道这个问题的解决办法。

2.专家顾问是以图表的 某一比例 工作,还是只以价格工作?

 
Alexander Dubovik:

对开发者来说,还有一句话。

typedef语言结构(以及typedef本身)的文档令人困惑。

typedef char My_Char; - 不能编译。

从文档中可以看出:" C++中的关键词 typedef 允许你创建自定义的数据类型....."。 对不起,但如果事实上MQL只包含对函数指针的声明,你为什么要在MQL的文档中提到C++?

在MQL4/5中,typedef被阉割了,只用于声明函数的指针,对其他方面毫无用处。


typedef int (*TFunc)(int,int);

int add(int x,int y) 
{
    return(x+y); 
}

void OnStart()
{
    TFunc pfunc = add;   
    Print(pfunc(4,5));    
}
 
Alex Pirate:

大家好!

我有一个简单的EA,它很简单,有问题,它给我一个错误。我想给它附加一个拖网,但它甚至不能打开......它说--'OrderSend'的返回值应被检查

为什么还能检查??有什么问题吗?看来程序员和那些善于帮助大家的人在这里....。太糟糕了((!)。

https://translate.google.ru/?hl=ru&tab=TT#en/ru/return%20value%20of%20'OrderSend'%20should%20be%20checked

Google Переводчик
  • translate.google.ru
Бесплатный сервис Google позволяет мгновенно переводить слова, фразы и веб-страницы с английского на более чем 100 языков и обратно.
 
Alex Pirate:

大家好!


 
Artyom Trishkin:


谢谢你,我知道了...这就是我在底部提出的翻译问题...不是他说的那样,我想知道......为什么?"代码有什么问题?"我写错了什么?

 
Alex Pirate:

谢谢你,我知道了...这就是我在底部提出的翻译问题...我想知道为什么? 代码有什么问题?

 
Artyom Trishkin:

extern int    MA_1_Period   = 22;
extern int    MA_1_MAShift  = 1;
extern int    MA_1_Method   = 1;
extern int    MA_1_Price    = 1;
extern int    MA_1_Shift    = 0;

extern int    MA_2_Period   = 55;
extern int    MA_2_MAShift  = 1;
extern int    MA_2_Method   = 1;
extern int    MA_2_Price    = 1;
extern int    MA_2_Shift    = 0;

extern int    MA_3_Period   = 163;
extern int    MA_3_MAShift  = 1;
extern int    MA_3_Method   = 1;
extern int    MA_3_Price    = 1;
extern int    MA_3_Shift    = 0;

extern double lot           = 0.1;
extern int    TP            = 60;
extern int    SL            = 40;
extern int    Slippage      = 5;
extern int    Magic         = 888;

int timeprev;

//+------------------------------------------------------------------+
int init()
{ 
   if (Digits == 3 || Digits == 5)
   {
     TP           *= 10;
     SL           *= 10;
     Slippage     *= 10;
     
   }

   return(0); 
}
//+------------------------------------------------------------------+
int deinit() 
{
   return(0);
}
//+------------------------------------------------------------------+

int start()
{
   if (timeprev == Time[0]) return(0);
   timeprev = Time[0];
   
   double MA_1_1 = iMA(Symbol(), 0, MA_1_Period, MA_1_MAShift, MA_1_Method, MA_1_Price, MA_1_Shift);
   double MA_1_2 = iMA(Symbol(), 0, MA_1_Period, MA_1_MAShift, MA_1_Method, MA_1_Price, MA_1_Shift);
   
   double MA_2_1 = iMA(Symbol(), 0, MA_2_Period, MA_2_MAShift, MA_2_Method, MA_2_Price, MA_2_Shift);
   double MA_2_2 = iMA(Symbol(), 0, MA_2_Period, MA_2_MAShift, MA_2_Method, MA_2_Price, MA_2_Shift);
   
   double MA_3_1 = iMA(Symbol(), 0, MA_3_Period, MA_3_MAShift, MA_3_Method, MA_3_Price, MA_3_Shift);
   double MA_3_2 = iMA(Symbol(), 0, MA_3_Period, MA_3_MAShift, MA_3_Method, MA_3_Price, MA_3_Shift);
     
 //+------------------------------------------------------------------+  
 // покупаем
 
   if (CountBuy() + CountSell() == 0 && MA_1_1 > MA_1_2 && MA_2_1 > MA_2_2 && MA_3_1 > MA_3_2 )
   
      {
         OrderSend(Symbol(), OP_BUY , lot, Ask, Slippage, SL, TP, "", Magic,0, Green);
      }
// продаём
   
   if (CountBuy() + CountSell() == 0 && MA_1_1 < MA_1_2 && MA_2_1 < MA_2_2 && MA_3_1 < MA_3_2 )
   
      {
         OrderSend(Symbol(), OP_SELL, lot, Bid, Slippage, SL, TP, "", Magic,0, Red);
      }
          
   return(0);
}
//+------------------------------------------------------------------+
int CountBuy()
{
   int count = 0;
   
   for (int i = OrdersTotal() - 1; i >= 0; i --)
   {
      if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES))
      {
        if (OrderSymbol() == Symbol() && OrderMagicNumber() ==  Magic && OrderType() == OP_BUY)
           count++;
      }
   }
   return(count);
}
//+------------------------------------------------------------------+
int CountSell()
{
   int count = 0;
   
   for (int i = OrdersTotal() - 1; i >= 0; i --)
   {
      if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES))
      {
        if (OrderSymbol() == Symbol() && OrderMagicNumber() ==  Magic && OrderType() == OP_SELL)
           count++;
      }
   }
   return(count);
}
//+------------------------------------------------------------------+
 
Alex Pirate:

你在和什么比较?

   double MA_1_1 = iMA(Symbol(), 0, MA_1_Period, MA_1_MAShift, MA_1_Method, MA_1_Price, MA_1_Shift);
   double MA_1_2 = iMA(Symbol(), 0, MA_1_Period, MA_1_MAShift, MA_1_Method, MA_1_Price, MA_1_Shift);
   
   double MA_2_1 = iMA(Symbol(), 0, MA_2_Period, MA_2_MAShift, MA_2_Method, MA_2_Price, MA_2_Shift);
   double MA_2_2 = iMA(Symbol(), 0, MA_2_Period, MA_2_MAShift, MA_2_Method, MA_2_Price, MA_2_Shift);
   
   double MA_3_1 = iMA(Symbol(), 0, MA_3_Period, MA_3_MAShift, MA_3_Method, MA_3_Price, MA_3_Shift);
   double MA_3_2 = iMA(Symbol(), 0, MA_3_Period, MA_3_MAShift, MA_3_Method, MA_3_Price, MA_3_Shift);
     
 //+------------------------------------------------------------------+  
 // покупаем
 
   if (CountBuy() + CountSell() == 0 && MA_1_1 > MA_1_2 && MA_2_1 > MA_2_2 && MA_3_1 > MA_3_2 )

如果0>00> 0和0> 0