初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 390

 

Karputov Vladimir:
Пожалуйста, всегда уточняйте для какой версии MQL4 или MQL5 Ваш вопрос. 

MQL5

 

プログラマーの皆さん!

MQL5で、異なる通貨ペアのバーを 時間的に同期さ せるにはどうすればよいですか?

以前は「iBarShift」でしたが、どのように置き換えたのでしょうか。

 
new-rena:

プログラマーの皆さん!

MQL5で、異なる通貨ペアのバーを時間ごとに同期させるにはどうすればよいですか?

以前は「iBarShift」でしたが、どのように置き換えたのでしょうか。

CopyTime()

 
pako:

ありがとうございます、見つけました!数分で欲しいものができました。

https://www.mql5.com/ru/articles/81

//+------------------------------------------------------------------+
//| --- ФУНКЦИЯ iBarShif t
//+------------------------------------------------------------------+   
int iBarShift(string symbol,int tf,datetime time)
   {
      if(time<0) return(-1);
      ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
      datetime Arr[],time1;
      CopyTime(symbol,timeframe,0,1,Arr);
      time1=Arr[0];
      if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
        {
         if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
         if(time<time1) return(1);
         else return(0);
        }
      else return(-1);
   }
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • 2010.05.11
  • Sergey Pavlov
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 

こんにちは。

MQL5 Expert Advisorのコードで、オープントレードとクローズドトレードの情報(どの価格でオープンしたか、TPとSLは何か)を取得する方法を教えてください。 少なくとも最後の1トレードについてです。

また、移動平均(できれば加重または指数)の 最新値n個を配列で返すような組み込み関数やライブラリはないでしょうか。

 
Сергей Михеев:

ありがとうございました。

また、MQ4には、例えばArray["Here is key!"]のような、テキストキーを持つ連想配列のような構造がありますか?

はい、あります。このテーマに関する記事:「MQL5レシピ - データに素早くアクセスするための連想配列または辞書の実装」を読む。

カルプトフ・ウラジミール
配列の要素には インデックスでアクセスする。インデックスは整数型intである。

記事もぜひ読んでみてください。

 
Сергей Михеев:

皆さん、ごきげんよう。

EAウィンドウの入力フィールドから、ユーザーがドロップダウン・リストから選択したタイムフレームを取得する必要があります。機能での使い方、2日連続で悩んでます、アドバイスお願いします)!

コード

input enum timeFrame {
時間_1=60。
時間_4=240。
Day_1 = 1440。
週_1=10080

};

iADX(currencySelect, THIS IS HOW TO INSTALL SELECTED DATA!, ADXparam,PRICE_CLOSE, MODE_MINUSDI,2)。

ありがとうございました。

車輪の再発明をしないこと。ENUM_TIMEFRAMES列挙を入力パラメータにする。

カルプトフ・ウラジミール

フォーラムでコードを正しく挿入する

以下は、あなたの列挙を使用するスクリプトの例です。

なぜ、間違った方法を勧めるのか?タイムフレームを独自に列挙することがナンセンスであることは、あなたもよくご存知のはずです。

 
人間だ!!!最近のMT4では、エキスパートやスクリプトの記述言語がよくわかりません。私のコードにあるすべての関数をMQL5の関数に置き換えようとすると、MT4ターミナルのMetaEditorがすべての関数を関数として認識しないのです!例えばこのような機能

ulong a =OrderGetTicket( 1); // オーダーリスト内の番号

MetaEditorはこの関数を 関数と見なさない。また、関数内のパラメータ(ORDER_POSITION_ID) ---> positionID = OrderGetInteger(ORDER_POSITION_ID); は、パラメータとして全く考慮されません...。


 
メタデータ編集でデバッグボタンがアクティブにならない理由を教えてください。
 
Kira27:
人間だ!!!最近のMT4では、エキスパートやスクリプトの記述言語がよくわかりません。私のコードにあるすべての関数をMQL5の関数に置き換えようとすると、MT4ターミナルのMetaEditorがすべての関数を関数として認識しないのです!例えばこのような機能

ulong a =OrderGetTicket( 1); // オーダーリスト内の番号

MetaEditorはこの関数を 関数と見なさない。また、関数内のパラメータ(ORDER_POSITION_ID) ---> positionID = OrderGetInteger(ORDER_POSITION_ID); は、パラメータとして全く考慮されません...。


ほとんどの場合、上記の関数はユーザー定義であり、MUはそれを知る必要はない。自分で正しく申告して呼び出す必要があります。
理由: