![MQL4プログラムの代表的なエラーとその対処法](https://c.mql5.com/2/13/1152_84.png)
![MQL4プログラムの代表的なエラーとその対処法](https://c.mql5.com/i/articles/overlay.png)
MQL4プログラムの代表的なエラーとその対処法
旧バージョンのコンパイラでは、プログラムを強制終了しないために、多くのエラーは実行環境で処理されていました。例えば、ゼロ除算エラーや配列の範囲を越えるなどは重大なエラーです。この重大なエラーがプログラムの強制終了をもたらします。新しいコンパイラのおかげで、実際のエラーソースと潜在的エラーソースを見つけ、コードの質を向上させることができます。この記事では、古いプログラムのコンパイル時に起りうるエラーと、その対処法について検証していきます。
![初心者向け MQL4 言語はじめに](https://c.mql5.com/2/14/404_19.gif)
![初心者向け MQL4 言語はじめに](https://c.mql5.com/i/articles/overlay.png)
初心者向け MQL4 言語はじめに
この記事シリーズは、プログラミングのことは何も知らないが、最短の時間、最小の労力でできるだけ速く MQL4 言語を学びたいという願いを持つトレーダーを対象としています。みなさんが『オブジェクト指向』、『三次元配列』などのフレーズに恐れをいだいているなら、本稿はそんな人が必要とするものです。レッスンは最大に迅速な結果を出すために作成されています。そのうえ、情報は理解しやすいように提供されています。理論を深く掘り下げすぎることはしませんが、初回レッスンですでに実用的な効用を得ることでしょう。
![LinuxにおけるMetaTrader 4](https://c.mql5.com/2/13/1054_12.png)
![LinuxにおけるMetaTrader 4](https://c.mql5.com/i/articles/overlay.png)
LinuxにおけるMetaTrader 4
この記事では、一般的なLinuxバージョン(UbuntuとDebian)にMetaTrader 4をインストールする簡単な方法を示します。これらのシステムは、サーバーハードウェアだけでなく、トレーダーのパーソナルコンピューターでも広く使用されています。
![Mac OSでのMetaTrader 4](https://c.mql5.com/2/12/1045_13.png)
![Mac OSでのMetaTrader 4](https://c.mql5.com/i/articles/overlay.png)
Mac OSでのMetaTrader 4
Apple社の製品は、とても高い人気を得ています。MetaQuotes Software Corp.社は、コンピューターテクノロジーの発展に注意深く注目し、iOSデバイス版、つまり、iPhone版のMetaTrader 4とMetaTrader 5用の専用モバイルアプリケーションをすでにリリースしています。MQL4.communityのフォーラムでは、幾度となくMac OSでのMetaTrader 4の起動の可能性についての話題が上がっていました。この記事では、多くの人が愛用するAppleのオペレーションシステムで、いかに簡単にMetaTrader 4を使用できるか解説していきたいと思います。
![初心者向け MQL4 言語テクニカルインディケータと組み込み関数](https://c.mql5.com/2/15/466_27.gif)
![初心者向け MQL4 言語テクニカルインディケータと組み込み関数](https://c.mql5.com/i/articles/overlay.png)
初心者向け MQL4 言語テクニカルインディケータと組み込み関数
本稿は『初心者向け MQL4 言語』シリーズの第3弾です。ここでは組み込み関数およびテクニカルインディケータと連携する関数の使い方を学習します。後者はご自身の Expert Advisor やインディケータをさらに発展させる上で基本となるものです。また、簡単な例で、市場参入のためのトレードシグナルの追跡法を見て、インディケータを正しく使用する方法が理解できるようにします。本稿が終わるころには、みなさんはこの言語自体について何か新しいおもしろいことを学んでいることでしょう。
![プライスアクション。はらみ足(Inside Bar)トレード戦略の自動化](https://c.mql5.com/2/19/PA.png)
![プライスアクション。はらみ足(Inside Bar)トレード戦略の自動化](https://c.mql5.com/i/articles/overlay.png)
プライスアクション。はらみ足(Inside Bar)トレード戦略の自動化
本稿は、はらみ足戦略に基づくメタトレーダー4エキスパートアドバイザーの開発について書かれています。ペンディングとストップオーダーのセッティングルールと、はらみ足と判断する規則についても述べられています。テストと最適化の結果が書かれています。
![トレードにおける角度 さらなる考察が必要です](https://c.mql5.com/2/27/MQL5-avatar-corner-003.png)
![トレードにおける角度 さらなる考察が必要です](https://c.mql5.com/i/articles/overlay.png)
トレードにおける角度 さらなる考察が必要です
本稿では, MT4ターミナルにて角度の測定によるトレード分析のメソッドについて考察します。 この記事では、トレンドの動きの分析に角度を使用する一般的な計画だけでなく、トレード角度の分析の実用的なアプリケーションへの非標準メソッドを実装します。 この記事はまた、トレードに役立つ結論を導き出します。
![プライスアクション。つつみ線パターンのトレード戦略を自動化するには](https://c.mql5.com/2/19/price_action_BUOVB_BEOVB_logo.png)
![プライスアクション。つつみ線パターンのトレード戦略を自動化するには](https://c.mql5.com/i/articles/overlay.png)
プライスアクション。つつみ線パターンのトレード戦略を自動化するには
本稿はつつみ線パターンに基づくメタトレーダー4のためのエキスパートアドバイザーを作成する手順について書かれています。パターン認識のルール、待機注文とストップ注文の設定ルールについても書かれています。テストと最適化の結果もあなたの質となるよう提供します。
![開発者諸君、己を守れ!](https://c.mql5.com/2/17/846_12.gif)
![開発者諸君、己を守れ!](https://c.mql5.com/i/articles/overlay.png)
開発者諸君、己を守れ!
知的財産の保護はいまだに大きな問題です。本稿では MQL4 プログラム保護の基本原則について説明します。これら原則により、みなさんの開発結果が盗難にあわないよう、すくなくとも盗人の『仕事』をひじょうに複雑にして行わなくなるようにします。
![Meta COT プロジェクト - MetaTrader 4 における CFTC レポート分析の新たな展望](https://c.mql5.com/2/17/858_49.jpg)
![Meta COT プロジェクト - MetaTrader 4 における CFTC レポート分析の新たな展望](https://c.mql5.com/i/articles/overlay.png)
Meta COT プロジェクト - MetaTrader 4 における CFTC レポート分析の新たな展望
本稿では、MetaTrader における CFTC レポートデータ(オープンインターネット)の使用について述べます。提案されている META COT プロジェクトを詳しく説明し、必要な情報をロードし処理する方法をお伝えします。プロジェクトに入っている Expert Advisor は本稿で紹介するコンセプトの有効性を分析するのに役立つものです。最後に、なんらかの結論を導き、有用な提案をします。
![初心者向け MQL4 言語カスタムインディケータ(パート 2)](https://c.mql5.com/2/15/536_27.gif)
![初心者向け MQL4 言語カスタムインディケータ(パート 2)](https://c.mql5.com/i/articles/overlay.png)
初心者向け MQL4 言語カスタムインディケータ(パート 2)
本稿は『初心者向け MQL4 言語』シリーズの第5弾です。今日はグラフィカルオブジェクトの使用について学習します。それはインディケータを使用する機能を実質的に広げる強力な作成ツールです。また、スクリプトや Expert Advisor でも利用可能です。それからオブジェクトの作成、そのパラメータ変更、エラーチェックについても学習します。もちろん、すべてのオブジェクトの詳細を説明することはできません。ひじょうに数が多いのです。ですが、ご自身で学習できるように必要な知識は得られることでしょう。本稿には複雑なシグナルインディケータの作成の段階的なガイド例を盛り込んでいます。そこでは多くのパラメータは調整可能で、それによりインディケータの表示変更が簡単になります。
![MetaTrader4クライアントターミナルを扱う際の初心者が起こすミス](https://c.mql5.com/2/14/278_2.gif)
![MetaTrader4クライアントターミナルを扱う際の初心者が起こすミス](https://c.mql5.com/i/articles/overlay.png)
MetaTrader4クライアントターミナルを扱う際の初心者が起こすミス
ミスは人間につきものです。みな失敗を犯します:多かれ少なかれ、無知や、うっかりしていいたせいでミスを犯します。訪ねていただいた以下の質問にお答えします:ターミナルタイム・テスト結果・ジャーナルへの表示・テスター用履歴・履歴インポート・レバレッジ・トラフィック・ヒント・スケーリング・計算ミス・不当なアカウント・エンプティニュース・価格の変化・不十分な資金・マーケット閉鎖などです。
![MT4ビルド600以降のバージョンのデータ構造と保存場所](https://c.mql5.com/2/13/1143_38.png)
![MT4ビルド600以降のバージョンのデータ構造と保存場所](https://c.mql5.com/i/articles/overlay.png)
MT4ビルド600以降のバージョンのデータ構造と保存場所
MT4ビルド600以降のバージョンには、データ構造と保存場所が変更されました。これから、MQL4アプリケーションはプログラムタイプ(エキスパートアドバイザー、指標またはスクリプト)に応じて別のディレクトリに配置されます。ほとんどの場合クライアント端末のデータは端末設置場所から分離された特別なデータフォルダに格納されています。この記事は、どうやって データが転送されるのか、又は、なぜデータ構造と保存場所が変更したのかについて説明しています。
![マジックナンバー:オーダー"マジック"識別子](https://c.mql5.com/2/13/105_2.gif)
![マジックナンバー:オーダー"マジック"識別子](https://c.mql5.com/i/articles/overlay.png)
マジックナンバー:オーダー"マジック"識別子
本稿は複数のエキスパートアドバイザーを1つのMT4ターミナルで稼働する際に、相互干渉する問題に取り組んでいます。エキスパートアドバイザーが、”別の”ポジション(手動か他のエキスパートアドバイザーがオープンしたポジション)を修正したりクローズしたりしないように、”固有の”オーダーのみを管理するよう”教える”ようにします。本稿はMQL4のターミナルとプログラミングに関する基本スキルをお持ちのユーザー様向けに書かれています。
![高速で再描画しない ZigZag の書き方](https://c.mql5.com/2/16/687_36.jpg)
![高速で再描画しない ZigZag の書き方](https://c.mql5.com/i/articles/overlay.png)
高速で再描画しない ZigZag の書き方
ZigZag タイプのインディケータを描くかなりユニバーサルな方法を提案します。この方法にはすでに説明されているZigZag のかなりの部分を含み、この方法で比較的簡単にZigZag を作成することができます。
![トレードシグナルの定性的分析とその選択の仕方](https://c.mql5.com/2/27/MQL5-avatar-qualityAnalysis-001.png)
![トレードシグナルの定性的分析とその選択の仕方](https://c.mql5.com/i/articles/overlay.png)
トレードシグナルの定性的分析とその選択の仕方
この記事では、シグナルプロバイダのパフォーマンス評価について説明します。 従来のアプローチとは若干異なる角度からシグナルトレードの結果を強調する追加項目を提供します。 適切な管理と完全トレードの概念について説明します。 また、得られた結果を用いて、最適な選択にこだわるとともに、複数のシグナルのポートフォリオをします。
![価格変動の速度と傾向に基づくトレードアイディア](https://c.mql5.com/2/18/zbm4cy.png)
![価格変動の速度と傾向に基づくトレードアイディア](https://c.mql5.com/i/articles/overlay.png)
価格変動の速度と傾向に基づくトレードアイディア
この記事では、価格変動の速度と傾向に基づいたトレードアイディアについて紹介しています。検証する戦略の持続性を明らかにする目的で、取引エキスパートアドバイザのテストとして、MQL4言語でトレードアイディアの形式化が行われます。また、チェックや研究、最適化をすることによって、記事に書かれている例の最も良いパラメータが明確になります。
![メタトレーダーでニューラルネットワークを利用する](https://c.mql5.com/2/16/777_40.gif)
![メタトレーダーでニューラルネットワークを利用する](https://c.mql5.com/i/articles/overlay.png)
メタトレーダーでニューラルネットワークを利用する
本稿は、みなさんのコードに複数のニューラルネットワークを取り入れて無料の人工ニューラルネットワークライブラリ(FANN)を活用し、MQL4 コードでニューラルネットワークを簡単に利用する方法をお見せします。
![MetaTrader 4 クライアントターミナルのプログラムフォルダ](https://c.mql5.com/2/16/758_16.gif)
![MetaTrader 4 クライアントターミナルのプログラムフォルダ](https://c.mql5.com/i/articles/overlay.png)
MetaTrader 4 クライアントターミナルのプログラムフォルダ
本稿では、MetaTrader 4 クライアントターミナルのプログラムフォルダの内容を説明します。本稿は、クライアントターミナル操作の詳細をすでに理解し始めた方に有用です。
![DLLを経由したメタトレーダーターミナルの管理](https://c.mql5.com/2/19/MetaTrader-dll.png)
![DLLを経由したメタトレーダーターミナルの管理](https://c.mql5.com/i/articles/overlay.png)
DLLを経由したメタトレーダーターミナルの管理
本稿は通知機能の設定をする例を紹介しながら補助DLLライブラリを経由してメタトレーダーユーザーのインターフェイスを使うことについて書かれています。ライブラリソースコードとスクリプトのサンプルを添付しています。
![Expert Advisor、スクリプト、インディケータの同期](https://c.mql5.com/2/13/117_1.gif)
![Expert Advisor、スクリプト、インディケータの同期](https://c.mql5.com/i/articles/overlay.png)
Expert Advisor、スクリプト、インディケータの同期
本稿では Expert Advisor、スクリプト、インディケータが含まれるバンドルプログラムを作成する必要性と一般的原則について考察します。
![外部世界と情報交換するメタトレーダー4 エキスパートアドバイザー](https://c.mql5.com/2/13/1062_113.jpg)
![外部世界と情報交換するメタトレーダー4 エキスパートアドバイザー](https://c.mql5.com/i/articles/overlay.png)
外部世界と情報交換するメタトレーダー4 エキスパートアドバイザー
メタトレーダー4・エキスパートアドバイザーと外部世界との情報交換をおこなうための、シンプルで互換性があり、信頼できる解決策情報の提供者と利用者は、それぞれ異なるコンピューターに位置しています。そのため両者の接続はグローバルIPアドレスを使用します。
![レンジやトレンド相場を例にストラテジーテスターを使ったインジケーターの最適化](https://c.mql5.com/2/22/Optimize-Indicators-Only.png)
![レンジやトレンド相場を例にストラテジーテスターを使ったインジケーターの最適化](https://c.mql5.com/i/articles/overlay.png)
レンジやトレンド相場を例にストラテジーテスターを使ったインジケーターの最適化
多くの戦略では、レンジか否かを検出することが不可欠です。ストラテジーテスターを使用する方法を示し、ADXを最適化します。同様に、このインジケータがニーズを満たすかどうかを決定し、レンジやトレンドの平均を知ることができます。
![初心者向け MQL4 言語カスタムインディケータ(パート 1)](https://c.mql5.com/2/15/516_15.gif)
![初心者向け MQL4 言語カスタムインディケータ(パート 1)](https://c.mql5.com/i/articles/overlay.png)
初心者向け MQL4 言語カスタムインディケータ(パート 1)
本稿は『初心者向け MQL4 言語』シリーズの第4 弾です。今日はカスタムインディケータの書き方を学習します。インディケータを特徴で分類する知識を得、この特徴がインディケータにどのように影響するかを確認し、新しい関数や最適化について学び、最後に自分のインディケータを書きます。また、本稿末尾にはプログラミングスタイルのアドバイスもあります。『初心者の方にとって』本稿が最初に読む記事であれば、先行記事を読むのが良いかもしれません。また、この記事では基礎は説明していないので、前の資料を正しく理解できていることを確認してください。
![WinAPI によるファイル処理](https://c.mql5.com/2/16/668_76.gif)
![WinAPI によるファイル処理](https://c.mql5.com/i/articles/overlay.png)
WinAPI によるファイル処理
MQL4 環境は安全な『サンドボックス』の概念を基にしています。言語を用いたファイルの読み出しと保存は一部の定義済みフォルダでのみ許可されています。これは MetaTrader 4 のユーザーを HDD 上の重要なデータを破壊する潜在的な危険から守ってくれます。ですが、その安全領域を残しておくことが必要な場合もあります。本稿はそれを簡単に正確に行う方法の問題に特化しています。
![インジケーターの外部パラメーターのグラフィックコントロール](https://c.mql5.com/2/17/807_6.gif)
![インジケーターの外部パラメーターのグラフィックコントロール](https://c.mql5.com/i/articles/overlay.png)
インジケーターの外部パラメーターのグラフィックコントロール
インジケーターの外部変数は、パラメーターが変更できる特別なウィンドウを用いてコントロールされ、そのインジケーターは再度使用されます。これらの操作の不便さは、スクリーン上に必要なパラメータを表示させ、視覚的にインジケータを管理する必要性を生み出しました。
![インディケータコードから Expert Advisor コードへの変換インディケータストラクチャ](https://c.mql5.com/2/14/309_3.gif)
![インディケータコードから Expert Advisor コードへの変換インディケータストラクチャ](https://c.mql5.com/i/articles/overlay.png)
インディケータコードから Expert Advisor コードへの変換インディケータストラクチャ
本稿はインディケータコードを Expert Advisor コードへ変換し、カスタムインディケータの呼び出しなく、Expert Advisor 内で必要なインディケータ値を計算するためのプログラムコード全体を使って Expert Advisor を書く方法に特化して述べます。本稿はインディケータストラクチャの一般的なスキーム、Expert Advisor におけるインディケータバッファの列挙、関数 IndicatorCounted() の置換を提供し述べます。対象とする読者はすでに MQL4 言語でのプログラム経験をお持ちの方です。
![新しいMQL4のオフラインチャート](https://c.mql5.com/2/13/1137_68.png)
![新しいMQL4のオフラインチャート](https://c.mql5.com/i/articles/overlay.png)
新しいMQL4のオフラインチャート
新しいバージョンのMQL4では、履歴データの保存方法が変更され、MqlRates構造体が新たに追加されました。MqlRates構造体は、Time、Open、Low、High、Close、Volumeなどの値を保存するのに役立ちます。長年にわたってトレーダーは、オフラインチャートを作成する為にHSTファイルに自分のデータを集めて書き込む、自分のプログラムをMQL4で作成していました。各トレーダーは、以前にコンパイルされた全てのEX4ファイルが、新しいMetaTrader4ターミナルで、以前と同様に動作すると確信していることでしょう。
![初心者向け MQL4 言語シンプルなフレーズにおける難しい質問](https://c.mql5.com/2/14/417_20.gif)
![初心者向け MQL4 言語シンプルなフレーズにおける難しい質問](https://c.mql5.com/i/articles/overlay.png)
初心者向け MQL4 言語シンプルなフレーズにおける難しい質問
本稿は『初心者向け MQL4 言語』シリーズの第2弾です。より複雑で高度な言語構成を考察し、新しいオプションを学習し、日々の実践にそれらが応用されるか見ていきます。新しいサイクルタイプである 'while' と、新しい条件タイプ 'switch'、演算子 'break' と 'continue' を取得します。また、自分の関数を書き、多次元配列を処理する方法を学習します。そして仕上げには、プリプロセッサの説明です。
![エラー 146 (「トレードコンテキスト ビジー」) と、その対処方法](https://c.mql5.com/2/17/94_1.gif)
![エラー 146 (「トレードコンテキスト ビジー」) と、その対処方法](https://c.mql5.com/i/articles/overlay.png)
エラー 146 (「トレードコンテキスト ビジー」) と、その対処方法
この記事では、MT4において複数のEAの衝突をさける方法を扱います。ターミナルの操作、MQL4の基本的な使い方がわかる人にとって、役に立つでしょう。
![新しいMetaTrader 4ビルド600以降へのアップデート](https://c.mql5.com/2/13/1145_130.png)
![新しいMetaTrader 4ビルド600以降へのアップデート](https://c.mql5.com/i/articles/overlay.png)
新しいMetaTrader 4ビルド600以降へのアップデート
4ターミナル(build600以降)の、ユーザーデータの保存場所が変更されました。以前は、全てのプログラムやテンプレート、プロフィールなどがターミナルのインストールディレクトリに直接保存されていましたが、これからは特定のユーザーターミナルの動作に必要不可欠なデータは、データフォルダと呼ばれる別個の特別なフォルダに保存されます。この記事では、よくある質問についての回答を集めました。
![MT4のポートフォリオトレード](https://c.mql5.com/2/24/Portfolio_Modeller.png)
![MT4のポートフォリオトレード](https://c.mql5.com/i/articles/overlay.png)
MT4のポートフォリオトレード
この記事では、ポートフォリオトレードの原則と外国為替相場への応用を明らかにします。簡単な数学的ポートフォリオの配置モデルが考えられています。半自動化されたトレードのポートフォリオのインジケーターとEA:この記事では、実用的なMT4でのポートフォリオトレードの実装例があります。トレード戦略、ならびに利点と落とし穴の要素が記載されています。