記事"MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー"についてのディスカッション

 

新しい記事 MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー はパブリッシュされました:

今回は、指値売り、逆指値売りなど未決注文に基づくトレーディングアルゴリズムを持つマルチカレンシーエキスパートアドバイザーを作成していきます。作成するものは、デイトレード・テストのために設計されています。この記事は、以下を紹介します:

  • 特定の時間半位におけるトレーディングトレーディングの最初と最後の時間を設定する機能を作成しましょう。例えば、ヨーロピアンやアメリ カのトレーディングセッション時間になります。エキスパートアドバイザーのパラメーターを最適化する際、最も適した時間の半位を見つけることができます。
  • 未決注文の実行・修正・削除
  • トレードイベントの処理;最後のポジションが利取りや損切りにて閉じられたかのチェック、各シンボルにおける取引の履歴の管理

作者: Anatoli Kazharski

 

時間。

時間では必ずしも十分ではなく、分単位も必要である。例えば、市場が端数の時間に開閉する場合などです。

そして、この機能には疑問が生じます - 分が必要な場合よりも、真夜中まで取引する必要がある場合の方がはるかに多いのです。

bool IsInTradeTimeRange(int symbol_number)
  {
//--- 時間レンジ取引が有効な場合
   if(TradeInTimeRange[symbol_number])
     {
      //--- 日付と時刻の構造
      MqlDateTime last_date;
      //--- 最新の日時データを取得する
      TimeTradeServer(last_date);
      //--- 承認された時間範囲外
      if(last_date.hour<StartTrade[symbol_number] ||
         last_date.hour>=EndTrade[symbol_number])
         return(false);
     }
//--- 許可された時間範囲内
   return(true);
  }
 
TheXpert:

時間。

時間では必ずしも十分ではなく、分単位も必要である。例えば、市場が端数の時間に開閉する場合などである。

そして、この機能には疑問が生じます。分単位よりも、真夜中までの取引の方がはるかに頻繁に必要です。

そうですね。後で、新しいスキームで可視化してみます。

それから、おそらく列挙の代わりに、ユーザーが自分で時間を指定する行を作るべきだ。例えば"9:35".そうしないと、パラメーターのリストが(記事のスキームでは)分を指定するための3つのパラメーターで拡張されてしまう。

時間を指定する便利な標準的な可能性があれば最高である。さて、datetimeが できたので、時間を 作る必要がある。)

 

実際、これはすべてプログラムコードであり、記事としては不適切である。

 
revers45:

実際、これはすべてプログラムコードであり、記事としては機能しない。

そうですか。それならいい仕事だ。何でもコードベースに書いて投稿してください。)
 
revers45:

実際、それはすべてプログラムコードであり、記事としては機能しない。

このような記事は言語を学ぶのに便利です。

記事を別々にスクロールして、異なるファイルからコードを分けて読むよりも、テキストとコードの両方を読み、イラストを一度に見る方が簡単です。

しかし、説明的な部分が欠けていることには同意する。コンセプトと実装の要点をプレーンテキストで。

 
komposter:

このような記事は言語学習に便利である。

テキストとコードの両方を読み、図解を一度に見るのは、記事を別々にスクロールし、異なるファイルからコードを分けて読むより簡単だ。


しかし、説明的な部分が欠けていることには同意する。コンセプトと実装の要点をプレーンテキストの形で。

この一連の記事は、どちらかというと逐次的な言語学習のためのものである。スキームについては以前の記事で説明したとおりであり、おそらくすべてを改めて説明する意味はないだろう。記事の冒頭に、このスキームについて詳しく考察した記事へのリンクがある。ここに追加機能が書かれ、若干の変更が加えられている。すべてがシンプルで余計なものはなく、コードのすべての行にコメントが付けられている。いろいろな既製のスキームがたくさんあって、それを手に取って使うことができるのはいいことだと思う。

この記事に他に何が付け加えられたのか想像できない。でも、それでいいんだ。))

 
なぜ複数のシンボルに対してこれほど多くのコードが必要なのでしょうか?各シンボルに対して1つのExpert Advisorを置く方が簡単ではないでしょうか。これに関連して、親愛なる作者様、保留中の注文を 処理するためにこれらの関数を変換する方法を教えてください。
 
kuva:
なぜ複数のシンボルに対してこれほど多くのコードがあるのですか?

テスターで一度に複数のシンボルでシステムをテストできるようにするためです。

kuva:
1つのExpert Advisorを複数のシンボルに対応させた方がシンプルではないでしょうか。これに関連して、親愛なる作者様、変数#define NUMBER_OF_SYMBOLS に1つを入れる方法を除いて、このコードを1つの文字でのみ動作するように変換する方法を教えていただけませんか?

もし1文字だけで動作させたいのであれば、文字検索に関連するループをすべて削除してください。いくつかの関数からは、文字シーケンス番号の最初のパラメータを削除する必要があります。

また、外部パラメータの値で初期化されていた配列も不要になります。使用されていた関数では、外部パラメータの変数に置き換える必要があります。

削除済み  
実際のティックで フォワードテストをしてみてください。
 
symbol_numberでシンボルを検索するのは非常に不便だ。以前はこの方式を使っていたが、今はOOPに切り替えた。各シンボル=クラスのインスタンス。実行時に、OnChartEvent イベントごとに、クラスのインスタンスを順番に検索する。その方が少し速く動作する。