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

 

专家们好!

你能告诉我,是否可以把MT4放在Linux操作系统的VPS服务器上?EAs在这样的MT上能正常工作吗?

 

你好。

做好控制和风险管理的EA。禁止所有运行中的EA进行交易的最好方法是什么?例如,通过一个特定的符号,我们禁止所有运行的EA进入新的交易。不幸的是,没有所有运行中的EA的源代码,也没有办法使用全局变量

 

odyn:

用Linux操作系统?

米哈伊尔在Linux上工作。给他发邮件:https://www.mql5.com/ru/users/nikelodeon

Mihail Marchukajtes
Mihail Marchukajtes
  • www.mql5.com
Добавил тему Целевая функция в тестере Коллеги решил выделить вопрос в отдельную тему. При оптимизации параметров советника существует ряд стандартных функций, а так же "Максимум пользовательского критерия" что позволяет производить подбор относительно собственной целевой, пусть даже Если Вы являетесь владельцем инвестиционного фонда и...
 

晚上好!

请帮助解决以下问题。

你需要知道有多少根蜡烛收于移动平均线之上,又有多少根收于移动平均线 之下。

例如:如果20个蜡烛图收于移动平均线之上,周期为20,则做其他事情,如果低于。

谢谢你!

Moving Average of Oscillator (OsMA)
Moving Average of Oscillator (OsMA)
  • www.mql5.com
On Balance Volume (OBV) Индикатор Балансового Объема (On Balance Volume, OBV) связывает объем и изменение цены, сопровождавшее данный объем. Momentum Индикатор движущей силы рынка (Momentum) измеряет величину изменения цены финансового инструмента за определенный...
 
leonerd:
禁止所有正在运行的EA进行交易的最好方法是什么?

如果你不能改变EA的代码,那就禁用自动交易。这里是代码,不是我的。

#include <WinUser32.mqh>

#import "user32.dll"
// Считывает описатель оpгана упpавления, содеpжащийся в указанном блоке диалога. Возвpащаемое значение: идентификатоp оpгана упpавления; 0 - если указанный оpган упpавления не существует.
int      GetDlgItem(int hDlg,        // Блок диалога, содеpжащий оpган упpавления.
                     int nIDDlgItem); // Идентификатоp оpгана упpавления.
// Возвращает идентификатор hierarchyid, представляющий n-го предка данного элемента.
int      GetAncestor(int hWnd,      // Идентификатоp окна.
                      int gaFlags);  // Уровень окна от текущего окна (1, 2, 3...).
int      SendMessageA(int  hWnd,      // Окно, пpинимающее сообщение или $FFFF для посылки всем всплывающим окнам в системе.
                       int  Msg,       // Тип сообщения.
                       int  wParam,    // Дополнительная инфоpмация о сообщении.
                       int& lParam[]); // Дополнительная инфоpмация о сообщении.
                  
#import

void start() {
   if (IsExpertEnabled()) ExpertEnabled (false);
      else ExpertEnabled (true);
}

// Функция включения/отключения эксперта.
void ExpertEnabled (bool Switch) // TRUE - включить эксперт, FALSE - отключить эксперт.
{
  int HandlWindow = WindowHandle (Symbol(), Period()); // Системный дескриптор окна.
  int HandlMT4;        // Системный дескриптор окна МТ4.
  int HandlToolbar;    // Системный дескриптор окна инструментов.

  int    ArIntTemp[1]; // Временный массив.
  //----
  if ((Switch && !IsExpertEnabled()) || (!Switch && IsExpertEnabled()) )  {
     HandlMT4 = GetAncestor (HandlWindow, 2); 
     HandlToolbar = GetDlgItem (HandlMT4, 0x63);
     ArIntTemp[0] = HandlToolbar;
     SendMessageA (HandlMT4, WM_COMMAND, 33020, ArIntTemp);
  }
}
 
Xopb:

你需要找出有多少根蜡烛收于移动平均线之上,有多少根收于移动平均线 之下。

1.自己决定要从哪一点开始计算。

2.创建一个有两个元素的数组。

3.在每根蜡烛上加一个一,到右边的元素。

4.决定你什么时候停止计数。


移动平均线 是价格的一个滞后尾巴。利润并不在那里。

 
Aleksei Stepanenko:

1.自己决定从什么时候开始算起。

2.创建一个有两个元素的数组。

3.在每根蜡烛上加一个一,到右边的元素。

4.决定你什么时候停止计数。


移动平均线 是价格的一个滞后尾巴。利润并不是住在那里。

阿列克谢,谢谢你!

能否请你告诉我在哪里添加数组和一个使其工作?

for(int i=1;i<=10;i++)            //допустим надо проверить 10 свечей выше или ниже МА в момент когда обратились к этому оператору
     {    
     double hig10 = iMA (NULL,PERIOD_H1,10, 0, MODE_SMA, PRICE_CLOSE, i);
      if (hig10>iClose(Symbol(),PERIOD_H1,i))
      {
    // тут выполняем - если все 10 свечей выше МА     
      }
      else
      {
     //тут выполняем - если если хотябы одна из свечей закрылась нижн MA
      }
      
     } 
     




 

做一个结构甚至更好

struct Count
   {
   int up;
   int dn;
   } count;

在你开始使用这些元素之前,别忘了将它们归零。

count.up=0;
count.dn=0;

然后在需要时增加计数

count.up++;

//или
count.dn++;

然后比较

if(count.up>10)
   {

   }
现在你已经在每根新的蜡烛 上围绕着之前的10根蜡烛做了一个循环。这是不理性的。你应该始终通过记住前面数值的计算结果来摆脱不必要的循环。在你的情况下,当一个新的蜡烛 到来时,只要在条件满足时增加计数,如果条件不满足,就减去它。 并检查是否有多余的。你的10个元素的循环是不需要的,只需要主要的一个。
 
Aleksei Stepanenko:

如果你不能改变EA的代码,那就禁用自动交易。这是代码,不是我的。

谢谢你。这段代码是否会禁用附加在指定图表上的特定EA的自动交易?还是在终端的一般自动交易?

 

所有的贸易,这个按钮。