初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 211

 

エキスパートたちよ、こんにちは。

LinuxオペレーティングシステムのVPSサーバーに MT4を置くことが可能かどうか教えてください。このようなMTでEAは正常に動作するのでしょうか?

 

こんにちは。

コントロールとリスクマネジメントのためのEAを行うこと。稼働中のEAを全て取引禁止にするにはどうしたらよいですか?例えば、特定のシンボルによって、稼働中のすべてのEAが新規取引を行うことを禁止しています。残念ながら、稼働中のすべてのEAのソースコードはなく、グローバル変 数を使用する方法はありません。

 

odyn:

LinuxのOSで?

ミカエルはLinuxで仕事をしています。メールでのお問い合わせは、https://www.mql5.com/ru/users/nikelodeon

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

こんばんは!(^o^)

以下の質問について、ご協力をお願いします。

移動平均より上に 何本、下に何本ローソク足が閉じているかを知る必要があります。

例: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.2つの要素を持つ配列を作成します。

3.右の要素に各キャンドルで1を追加します。

4.カウントをやめるタイミングを決めます。


移動平均 線は価格の遅行尾部である。利益はそこに宿らない。

 
Aleksei Stepanenko:

1.いつからカウントするかは自分で決めてください。

2.2つの要素を持つ配列を作成します。

3.右の要素に各キャンドルで1を追加します。

4.カウントをやめるタイミングを決めます。


移動平均 線は価格の遅行尾部である。利益はそこに宿らない。

Alekseiさん、ありがとう ございます

どこに配列と1を追加すればうまくいくのか、教えていただけませんか?

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の自動売買が無効になりますか?それともターミナルでの一般的なオートトレード?

 

オールトレード、このボタンです。