MQL4とMQL5のプログラム記事

icon

取引戦略をプログラミングするためのMQL5言語を、ほとんどがコミュニティメンバーによって書かれた数多くの公開記事で学びます。記事は統合、テスター、取引戦略等のカテゴリに分けられていて、プログラミングに関連する疑問への解答を素早く見つけることができます。

新着記事をフォローして、フォーラムでディスカッションしてください。

新しい記事を追加
最新 | ベスト
グラフィカルインタフェース  II:ライブラリのイベントハンドラの設定(チャプター3)
グラフィカルインタフェース  II:ライブラリのイベントハンドラの設定(チャプター3)

グラフィカルインタフェース II:ライブラリのイベントハンドラの設定(チャプター3)

以前の記事には、メインメニューの構成部分を作成するためのクラスの実装が含まれています。ここで、主要な基本クラスと作成されたコントロールのクラスでイベントハンドラを細かく見ることにします。また、マウスカーソルの位置に応じたチャートの状態の管理にも特別な注意が払われます。
ユニットテストの助けを借りたコードのクオリティー向上
ユニットテストの助けを借りたコードのクオリティー向上

ユニットテストの助けを借りたコードのクオリティー向上

シンプルなプログラムにさえ信じられないようなエラーがよくあるものです。「どうしてそんなふうになったんだろう?」というのが、そのようなエラーが明らかになったとき最初に思うことです「どうしたらエラーを出さずにすむのだろう?」というのは、あまり頻繁に心に浮かばない第2の問いです。完璧に欠点のないコードを作成するのは不可能です。特に大規模なプロジェクトでは。ですが、ちょうどよいタイミングでエラーを検出するために技術を利用できるものです。本稿では、一般的なユニットテスト方法の助けを借りてコードのクオリティーを向上する方法を説明します。
Expert Advisor 内での Expert Advisor コンテスト
Expert Advisor 内での Expert Advisor コンテスト

Expert Advisor 内での Expert Advisor コンテスト

仮想取引によって、適応型 Expert Advisor を作成することができます。それは実マーケットでトレードをオン、オフするものです。1件の Expert Advisor に複数の戦略を組み合わせます。マルチシステム Expert Advisor は自動でトレーディング戦略を選択します。それは実マーケットで仮想取引の収益性をもとにトレードを行うには最良のものです。この種の方法により、ドローダウンを減少し、マーケットでの作業の収益性を上げることができるのです。実験を行い、結果を他の人と共有してください。多くの人がみなさんの戦略ポートフォリオを知りたがっていると思います。
フィルターの魔法
フィルターの魔法

フィルターの魔法

ほとんどの自動売買システム開発者はなんらかのトレードシグナルフィルター機能を利用しています。本稿では、帯域通過と Expert Advisor 用の個別フィルターの作成と実装を探り、自動売買システムの特性を向上させます。
ろうそく方向の統計的回帰研究
ろうそく方向の統計的回帰研究

ろうそく方向の統計的回帰研究

やってくる短い時間間隔に対して、ろうそく足インディケータの定期的な傾向を基に、1日の特定時刻の市場動向を予想することは可能なのでしょうか?まず第一にそのような発生が検出されるなら、可能です。この疑問はおそらくどのトレーダーの心にも浮かんだことのあるものでしょう。本稿の目的は、ろうそく足の方向の統計的回帰に基づき、特定の時間間隔で市場動向の予想を試みることです。
ニューラルネットワークFANN2MQL のチュートリアル
ニューラルネットワークFANN2MQL のチュートリアル

ニューラルネットワークFANN2MQL のチュートリアル

本稿は、FANN2MQL によるニューラルネットワークの使用方法を簡単な例を用いて説明するために書かれました。
Meta COT プロジェクト - MetaTrader 4 における CFTC レポート分析の新たな展望
Meta COT プロジェクト - MetaTrader 4 における CFTC レポート分析の新たな展望

Meta COT プロジェクト - MetaTrader 4 における CFTC レポート分析の新たな展望

本稿では、MetaTrader における CFTC レポートデータ(オープンインターネット)の使用について述べます。提案されている META COT プロジェクトを詳しく説明し、必要な情報をロードし処理する方法をお伝えします。プロジェクトに入っている Expert Advisor は本稿で紹介するコンセプトの有効性を分析するのに役立つものです。最後に、なんらかの結論を導き、有用な提案をします。
開発者諸君、己を守れ!
開発者諸君、己を守れ!

開発者諸君、己を守れ!

知的財産の保護はいまだに大きな問題です。本稿では MQL4 プログラム保護の基本原則について説明します。これら原則により、みなさんの開発結果が盗難にあわないよう、すくなくとも盗人の『仕事』をひじょうに複雑にして行わなくなるようにします。
金融証券の重ね合わせとインターフェース
金融証券の重ね合わせとインターフェース

金融証券の重ね合わせとインターフェース

通貨ペアの変動に影響を与える要因が多いほど、その変動を評価し将来を予測するのが困難になります。そのため、通貨ペアの構成要素と時間と共に変化する各国通貨の値をなんとか抽出することができれば、その動向に影響を与える要因数と共に、この通貨を通貨ペアと比較して各国通貨の動きの自由度の範囲を定めることができるかもしれません。結果、その変動推定と将来予測の精度を挙げることになるでしょう。どうすればそれができるのでしょうか?
トレーダーのキット:デコインディケータ
トレーダーのキット:デコインディケータ

トレーダーのキット:デコインディケータ

本稿では、インディケータを装飾する際の主要なタスク、そのソリューションと自動化を見つけ出します。
MеtaTrader 4 と MATLAB エンジン(仮想 MATLAB マシン)間のインタラクション
MеtaTrader 4 と MATLAB エンジン(仮想 MATLAB マシン)間のインタラクション

MеtaTrader 4 と MATLAB エンジン(仮想 MATLAB マシン)間のインタラクション

本稿では DLL ライブラリ- MetaTrader 4 と MATLAB の数学的デスクトップパッケージのインタラクションを可能にするラッパーの作成に関する考察を行います。また落とし穴とそれを克服する方法を説明します。本稿は Borland C++ Builder 6 コンパイラを使用している準備済みの C/C++ プログラマ―を対象としています。
メタトレーダーでニューラルネットワークを利用する
メタトレーダーでニューラルネットワークを利用する

メタトレーダーでニューラルネットワークを利用する

本稿は、みなさんのコードに複数のニューラルネットワークを取り入れて無料の人工ニューラルネットワークライブラリ(FANN)を活用し、MQL4 コードでニューラルネットワークを簡単に利用する方法をお見せします。
チャネルアドバンスドモデルWolfe Waves
チャネルアドバンスドモデルWolfe Waves

チャネルアドバンスドモデルWolfe Waves

この記事は、Wolfe Wavesのマーキングパターンの法則を紹介します。波の正しい形成を理解する上で役に立つ正確なマーキングのルールや構築の詳細をご覧になれます。
最小の遅れでの効果的な平均化アルゴリズム:インディケータおよび Expert Advisor での使用
最小の遅れでの効果的な平均化アルゴリズム:インディケータおよび Expert Advisor での使用

最小の遅れでの効果的な平均化アルゴリズム:インディケータおよび Expert Advisor での使用

本稿は私が作成したハイクオリティーなカスタム平均化関数:JJMASeries()、JurXSeries()、JLiteSeries()、ParMASeries()、 LRMASeries()、T3Series()、MASeries()、について説明します。SmoothXSeries() 関数呼び出しによるインディケータ内でのこれら関数の最新の置換法を考察します。
ニューロネット用レシピ
ニューロネット用レシピ

ニューロネット用レシピ

本稿は、『多層』ケーキを焼く初心者を対象としています。
MQL4 でダブルスの作業をする
MQL4 でダブルスの作業をする

MQL4 でダブルスの作業をする

本稿では、一般的なプログラムエラーについて考察します。それは MQL4 プログラムでdouble の数字を処理するときに発生するものです。
MetaTrader 4 クライアントターミナルのプログラムフォルダ
MetaTrader 4 クライアントターミナルのプログラムフォルダ

MetaTrader 4 クライアントターミナルのプログラムフォルダ

本稿では、MetaTrader 4 クライアントターミナルのプログラムフォルダの内容を説明します。本稿は、クライアントターミナル操作の詳細をすでに理解し始めた方に有用です。
Sleep か否か?
Sleep か否か?

Sleep か否か?

EA のアクションの間にポーズを実装する Sleep() 関数の代替使用を提案します検討する方法によりマシンタイム賢い使い方ができます。
怠惰は進歩への誘因である半自動マーキングテンプレート
怠惰は進歩への誘因である半自動マーキングテンプレート

怠惰は進歩への誘因である半自動マーキングテンプレート

チャート作業例があまたある中で、マニュアルでテンプレートをマーキングする方法があります。トレンドライン、チャンネル、サポート/レジスタンスレベルなど、はチャートに示されます。確かにこの類の作業をする特殊なプログラムがいくつかあります。どの方法を使うかは各自が決めることです。本稿では、検討材料として、マニュアルのマーキング方法に続いて繰り返されるルーチンアクションのエレメントをいくつか自動化する方法を提供します。
自動制御システム(ACS)のコンテキストでのテクニカル分析の考え方、また『逆説』
自動制御システム(ACS)のコンテキストでのテクニカル分析の考え方、また『逆説』

自動制御システム(ACS)のコンテキストでのテクニカル分析の考え方、また『逆説』

本稿は、テクニカル分析の代替の考え方を実証します。それは最新の自動制御理論やテクニカル分析自体の原理に基づくものです。本稿は、実用的なアプリケーションをいくつか使って理論を表現する導入記事です。
コメントによってコード内エラーを判断する方法
コメントによってコード内エラーを判断する方法

コメントによってコード内エラーを判断する方法

本稿では、コメントを基に MQL4 コード内のエラーを検索する方法について説明します。この方法は、ほどほどに大きなコード内のエラーによって生じるコンパイル中に問題が発生する場合に便利であることが判ります。
怠慢は、進歩またはグラフィックスとインタラクティブに作業する方法への刺激
怠慢は、進歩またはグラフィックスとインタラクティブに作業する方法への刺激

怠慢は、進歩またはグラフィックスとインタラクティブに作業する方法への刺激

トレンドライン、フィボナッチレベル、チャートにマニュアルで入れられたアイコンとインタラクティブに動作するインターフェース用インディケータ。それにより、フィボナッチレベルのゾーンを色付きで描画し、価格がトレンドラインを交差する瞬間を表示し、『価格レベル』オブジェクトを管理することができます。
高速で再描画しない ZigZag の書き方
高速で再描画しない ZigZag の書き方

高速で再描画しない ZigZag の書き方

ZigZag タイプのインディケータを描くかなりユニバーサルな方法を提案します。この方法にはすでに説明されているZigZag のかなりの部分を含み、この方法で比較的簡単にZigZag を作成することができます。
MQL4 によるHTML チュートリアル
MQL4 によるHTML チュートリアル

MQL4 によるHTML チュートリアル

HTML は今や広く普及している文書タイプです。MetaTrader 4 クライアントターミナルによって、ステートメント、検証レポート、最適化レポートを .htm ファイルとして保存することが可能です。MQL4 プログラムではそのようなファイルから情報を得ることが必要な場合があります。本稿では、HTML からタグ構成や内容を取得する方法のバリエーションの一つを説明します。
一般的なトレーディングシステムを基にしたExpert Advisor と売買ロボット最適化の錬金術(パート7)
一般的なトレーディングシステムを基にしたExpert Advisor と売買ロボット最適化の錬金術(パート7)

一般的なトレーディングシステムを基にしたExpert Advisor と売買ロボット最適化の錬金術(パート7)

本稿では、「自動売買チャンピオンシップ 2008 のルール」で述べられている要件を満たす Expert Advisor 例を提供します。
WinAPI によるファイル処理
WinAPI によるファイル処理

WinAPI によるファイル処理

MQL4 環境は安全な『サンドボックス』の概念を基にしています。言語を用いたファイルの読み出しと保存は一部の定義済みフォルダでのみ許可されています。これは MetaTrader 4 のユーザーを HDD 上の重要なデータを破壊する潜在的な危険から守ってくれます。ですが、その安全領域を残しておくことが必要な場合もあります。本稿はそれを簡単に正確に行う方法の問題に特化しています。
再起動なしでの MQL4 プログラムの外部パラメータ変更
再起動なしでの MQL4 プログラムの外部パラメータ変更

再起動なしでの MQL4 プログラムの外部パラメータ変更

本稿では、再起動せずオンザフライで MQL4 プログラムの外部パラメータを変更する方法について説明します。
初心者の記録: ZigZag
初心者の記録: ZigZag

初心者の記録: ZigZag

確かに、初めて不可解な多角形を見たとき、極値に近くトレードをするという異常な思考が見習いトレーダー全員に訪れます。実際それはとても単純です。ここに最大値があります。そしてそこに最小値があります。履歴には美しい絵があります。そして、実際には何でしょう?線が描かれます。それは頂点のように見えます。売るタイミングです。そして次に下がっていきます。絶対にノーです!価格は裏切り上向きに変動しています。ホー!ささいなことです。インディケータではないのです。そして投げ出すのです!
市場変動およびその予測の統計分析
市場変動およびその予測の統計分析

市場変動およびその予測の統計分析

本稿はマーケティングに対する統計的アプローチの大きく開かれた機会について考えます。残念ながら、初心者トレーダーはわざと統計のじつにすばらしい科学を利用しそびれてしまいます。同時に、それは市場分析時、無意識に利用する唯一のものです。また、統計は数多くの疑問に対する答えを提供してくれます。
一般的トレーディングシステムを基にした Expert Advisors と売買ロボット最適化の錬金術(パート6)
一般的トレーディングシステムを基にした Expert Advisors と売買ロボット最適化の錬金術(パート6)

一般的トレーディングシステムを基にした Expert Advisors と売買ロボット最適化の錬金術(パート6)

本稿では、先行記事で紹介したトレーディングシステムを改良する方法を提案します。本稿は、Expert Advisor のプログラミング経験をすでにお持ちのトレーダーの方々にとって興味深いものとなるでしょう。
非トレード EA 検証インディケータ
非トレード EA 検証インディケータ

非トレード EA 検証インディケータ

インディケータはすべて2グループに分けることができます。静的インディケータ。それの表示は一度示されると常に履歴で同じままで、新規の着信クオートで変化することはありません。動的インディケータ。現在の変動に対する状態のみ表示し、新価格が来ると完全に再描画されます。静的インディケータの効率は直接チャートで見ることができます。動的インディケータが正常に動作しているかどうか確認するには?本稿が取り組むのはこの疑問です。
MetaTrader 4 クライアントターミナルと MS SQL  Server の統合
MetaTrader 4 クライアントターミナルと MS SQL  Server の統合

MetaTrader 4 クライアントターミナルと MS SQL Server の統合

本稿は dll を用いたMetaTrader 4 クライアントターミナルの MS SQL Server との統合例を提供します。また、С++ および MQL4 両言語でのソースコード、既製のコンパイル済み Visual C++ 6.0 SP5 プロジェクトを添付しています。
ショウは続く- または ZigZag 再び。
ショウは続く- または ZigZag 再び。

ショウは続く- または ZigZag 再び。

ZigZag 構成の明確であるがまだサブスタンダートな方法について、そしてそれがどんな結果につながるか:単一のタイムフレーム(TF)にて、3つの大きなものに構築される ZigZag を表現するマルチフレーム フラクタル ZigZag インディケータ、について取り上げます。そこでは、それら大きなは標準的ではなく、範囲は M5~MN1です。
誤った考え、パート2統計は、偽りの科学か、暴落するなくてはならない歴史です。
誤った考え、パート2統計は、偽りの科学か、暴落するなくてはならない歴史です。

誤った考え、パート2統計は、偽りの科学か、暴落するなくてはならない歴史です。

統計的なメソッドに客観的な現実、つまり金融上の出来事に適用とする試みは、不十分なデータや、確率分布やプロセスの非定常性に直面し、虚しく失敗してしまっています。この記事では、そのような金融上の出来事ではなく、主観的な意見を記述し、トレーダーがどのようにこれらを防ごうとしたか、トレーダーシステムについて記述します。トレーディング結果の統計的な規則性の抽出は、むしろ大変面白い作業です。時折、このプロセスのそのモデルに関する結論が導かれ、これらがトレーディングシステムに適用されます。
オープンされたポジションの二段階の修正
オープンされたポジションの二段階の修正

オープンされたポジションの二段階の修正

二段階アプローチにより、トレンドに近い状況でのポジションの不必要なクロージングや再オープンを避けることができます。
MetaTrader 4とMatlabのDDEによる連携
MetaTrader 4とMatlabのDDEによる連携

MetaTrader 4とMatlabのDDEによる連携

MatlabからMetaTrader 4へDDEを用いてのデータの移送方法のステップごとのインストラクション
トレーリングストップのパターンとマーケットの退出
トレーリングストップのパターンとマーケットの退出

トレーリングストップのパターンとマーケットの退出

注文修正やクローッジングのアルゴリズムの開発者は、異なるメソッドから取得された結果をどのように比較するかという不滅の悩みに苦しみます。チェックのメカニズムは、よく知られています - それは、ストラテジーテスターです。しかし、注文のオープン/クローズにおいて等しくEAを動作させるにはどうすれば良いでしょうか?この記事は、トレーリングストップやマーケットの退出のための異なるアルゴリズムの結果を比較するためのプラットフォームを数学的に維持できる注文のオープンの繰り返しを提供するツールを紹介します。
誤信、パート1:資産管理は一番ではなく、あまり重要ではない
誤信、パート1:資産管理は一番ではなく、あまり重要ではない

誤信、パート1:資産管理は一番ではなく、あまり重要ではない

0.1ロットに基づく戦略の結果のテストの最初のデモは、フォーラムでは事実上標準になっています。プロからは「そこまで悪くない」というコメントを得て、初心者は「0.1」のテストが堅実な結果をもたらすと考え、肯定的な数学的予想が自動的にポジティブな結果を提供すると考え、攻撃的な資産管理を導入しようとしますl。どのような結果が得られるのか見てみましょう。それとともに、とてもためになるいくつかの人工的なバランスグラフを実行してみます。
一般的トレーディングシステムを基にした Expert Advisors と売買ロボット最適化の錬金術(パート5)
一般的トレーディングシステムを基にした Expert Advisors と売買ロボット最適化の錬金術(パート5)

一般的トレーディングシステムを基にした Expert Advisors と売買ロボット最適化の錬金術(パート5)

本稿では、先行記事で説明したトレーディングシステムを改良する方法を提供します。本稿は、Expert Advisor のプログラミング経験がいくらかすでにお持ちのトレーダーの方々にとって興味深いものとなるでしょう。