トップ  >  Q&A よくある質問&備忘録
Q&A よくある質問&備忘録

注意事項:
投資助言を必要としている方は投資助言業者をご利用下さい。 投資助言に関する質問にはお答えする事は出来ません。 当サイトに関係無い個人的過ぎる内容や、EA自慢等の意味不明な内容にもお答えしません。
また私はMQL4の開発者ではありませんので、MQL4システムの内部仕様に関する質問については回答出来ません。 同様に証券会社の人間ではありませんので、取引業者の事情に関する質問についても回答出来ません。

よくある質問&備忘録トピックス


MQL5関連
MQL5の日本語リファレンスも作成して下さい
カスタムインジケータ関連
ネットでインジケータをダウンロードしたのですが、MT4へインストールする方法が分かりません
EA関連
OrderSend()関数で注文するとリミット・ストップが設定出来ないのですが・・・
デモ口座では設定出来たのですがリアル口座で設定出来ません。
OrderSend()関数で注文するとOrderSend error 131が発生します。
ex4ファイルのデコンパイルはどうやればいいんですか?
ex4ファイルのデコンパイルされない為にはどうすればいいですか?
たまにglobal initialization failedが発生してEAが勝手に停止します。
MT4でEAを走らせている時に、手動で売買できますか?
MT4のEA機能は、自分で作るんですか?EAって自動売買ですよね?
MT4用のインジケーターをEAとして自動売買することは 可能なのでしょうか?
MT4用のEAを購入したのですが動作しません、どうすればいいですか?アプリケーションはTradingStation2.0です。
グラフィカルオブジェクト関連
オブジェクトをチャートの右上に配置したいのですが・・・
クライアントターミナル関連
チャート上に表示されている時間を日本時間に変更するにはどうすればいいですか?
MT4で原油価格を表示するにはどうすればいいですか?
MT4は何ポジまで持てますか?
ストラテジーテスター関連
ビジュアルモードでバックテスト完了すると、チャート上に移動平均線が勝手に表示されるのですが・・・バグですか?
適当に作ったEAのバックテストの結果がたまたま良かったのでヤフオクで売りたいのですがどうすればいいですか?
テスト対象の通貨ペアを増やしたいのですがどうすればいいですか?
どの通貨ペアで行っても指定した全期間のバックテストをしてくれてないような気がするのですが・・・ リアル口座でないと制約があるのでしょうか?私の知らない料金システムがあり、お支払いをしないといけないのでしょうか?
円建てでバックテストするには・・・
コーディング関連
三次元配列が良く分かりません
同じ関数で関数書式が複数ありますがどれが正しいのですか?
sinputって何ですか?
音声ファイルを再生するプログラムを他ターミナルで使用する時、音声ファイルも他ターミナルにコピーしないとですか?
GetLastError()関数で取得したエラーコードの詳細を出力する方法って無いですか?
エラーコードの詳細を日本語で出力する方法って無いですか?
iCustom()関数の使い方が良く分かりません
TimeGMT()関数で取得したGMT時間がチャート上の時間と合いません
comment()関数で表示するコメントのサイズ・色を変えるにはどうすればいいですか?
MetaAssistって何ですか?
FX用語関連
スプレッド・ショート・クロス円・ドルストレート・基軸通貨って何ですか?
OHLCって何ですか?
呑み屋って何ですか?
DDって何ですか?
DSTって何ですか?
その他
オペレーティングシステムって何ですか?
dllファイルはどうやって作るんですか?
MQL4言語はどこで習ったんですか?
全くの未経験なのですが、C言語から勉強した方が良いですか?
個人的な質問(この手の質問は基本的に受け付けません)
ドル円はどこまで上がりますか?
どっかの評論家が??オジ円は92円ぐらいまでは上がるって言ってましたよw
どうして原油価格が動くと為替が動くのですか?
裁量トレードもするんですか?
時間足はどれを見たらいいですか?
今は買いですよね?
必勝法を教えてください。
裁量トレードとEAのどちらが儲かってますか?
FXはそうたい取引だから。
為替は基本、銀行間取引だから。









MQL5関連

MQL5の日本語リファレンスも作成して下さい
MQL5の日本語リファレンスは公式のMQL5コミュニティサイトにありますので、そちらを参照して下さい。
MQL5コミュニティサイトリンク:https://www.mql5.com/ja/docs




カスタムインジケータ関連

ネットでインジケータをダウンロードしたのですが、MT4へインストールする方法が分かりません
ダウンロードしたカスタムインジケータの導入方法は、
ダウンロードしたインジケータの導入方法 のページを参照して下さい。




EA関連

Q. OrderSend()関数で注文するとリミット・ストップが設定出来ないのですが・・・
デモ口座では設定出来たのですがリアル口座で設定出来ません。
新規注文と同時にリミットストップ設定を受け付けない証券会社があります。
証券会社によるので証券会社が発行しているMT4マニュアルを確認してみて下さい。
受付していない業者の場合、OrderSend()ではリミット・ストップ設定をしないで、注文約定後にOrderModify()関数でリミット・ストップ設定を行います。
OrderSend()関数のページにサンプルソースが有りますのでそちらを参考にしてみて下さい。

Q. OrderSend()関数で注文するとOrderSend error 131が発生します。
ロット数が異常です。
ロット数の最小単位が異常か、最大単位を超過している可能性があります。
最小単位と最大単位は証券会社によって異なります。
OrderSend()関数のページのよくあるエラー例に詳細が有りますのでそちらを参照して下さい。

Q. ex4ファイルのデコンパイルはどうやればいいんですか?
デコンパイルしないで下さい。
デコンパイルはEA作成者に対する冒涜です

Q. ex4ファイルのデコンパイルされない為にはどうすればいいですか?

他人に知られたくない重要なロジック部分だけDLLファイルで作成すればデコンパイルされ難くなります。

Q. たまにglobal initialization failedが発生してEAが勝手に停止します。
OnInit()関数の処理中にランタイムエラーが発生している可能性があります。
OnInit()関数の処理が完了する前にゼロ除算等が行われた場合、このようなエラーが出る場合があります。
OnInit()関数やOnInit()関数内で呼び出している別関数の処理を確認してみて下さい。

MQL4で犯し易いトラブルとしては・・・
iClose()関数やiMA()関数等を使用して、他通貨ペアまたは他時間軸をデータを取得してグローバル変数配列や静的変数配列に設定し、
そのデータで除算処理を行った時にゼロ除算をやってしまう場合があります。
この場合、毎回エラーが発生せず、
一度クライアントターミナルを閉じて、開いていたチャート時間軸の3倍程度(5分足チャートを開いていたら、15分程放置)の時間放置してからクライアントターミナルを開くと発生し易いです。

これはクライアントターミナルがローカルデータにヒストリーデータが無いと判断し、サーバーから必要なデータを取得する為、
必要なデータ取得完了する前にOnInit()関数の処理が始まってしまうとiClose()関数等でデータが取得出来ず
エラーコード4066(ERR_HISTORY_WILL_UPDATED:要求されたヒストリーデータが更新中)が生成されます。
iClose()関数でデータ取得する度にエラーコードチェックを行っているのであれば問題ありませんが・・・
詳細は時系列・インジケータアクセスのコンテンツに記載しています。

私もMQL4プログラムの経験が浅かった頃・・・クライアントターミナルに14個の5分足チャートを開いて、全チャートにEAバインドさせていた時、
ターミナルを閉じてから15分以上経過させてからターミナルと起動した時、
14個中の7個のチャートはglobal initialization failedが発生していました。
14分以内にターミナル起動させた時は発生しませんでした。
この時バインドしたEAは他8通貨の終値を過去500バー数分取得していました。

Q. MT4でEAを走らせている時に、手動で売買できますか?
可能です。
手動でエントリーした場合、そのポジションのマジックナンバーは0になります。

Q. MT4のEA機能は、自分で作るんですか?EAって自動売買ですよね?
自分でも作成可能ですが、ネット上に無料または有料で配布されています。
EAは自動売買です。

Q. MT4用のインジケーターをEAとして自動売買することは 可能なのでしょうか?
インジケータで自動売買する事は不可能です。
カスタムインジケータの計算結果を用いて自動売買をしたいのであれば、 EAでicustom()関数を使用してカスタムインジケータ計算結果を取得し、そのデータを基にしてEAを作成する事が出来ます。

Q. MT4のEAを購入したのですが動作しません、どうすればいいですか?アプリケーションはTradingStation2.0です。
MT4用のEAはMT4で使用して下さい。 TradingStation2.0とMT4は何の互換性もありません。
TradingStation2.0を使用しているという事は、もしかしてFXCMジャパン証券のスタンダード口座でしょうか?
スタンダード口座とMT4口座は別モノですので、MT4で取引がしたい場合は別途にMT4口座が必要です。




グラフィカルオブジェクト関連

Q. オブジェクトをチャートの右上に配置したいのですが・・・
ObjectSetInteger(0,"オブジェクト名",OBJPROP_CORNER,CORNER_RIGHT_UPPER);でオブジェクトのコーナープロパティを設定して下さい。
OBJ_BUTTONページにサンプルソースがありますので、そちらを参考にしてみて下さい。




クライアントターミナル関連

Q. チャート上に表示されている時間を日本時間に変更するにはどうすればいいですか?
MT4の標準機能では出来ません。
日本時間を表示させるカスタムインジケータがネットに出回っていると思いますので、それを導入して下さい。
GMT表示やロシア時間表示でも毎日見てると慣れてきますので、カスタムインジケータを使用せずに目を慣らすのも一つの方法です。

Q. MT4で原油価格を表示するにはどうすればいいですか?
FXCM.ukのMT4用デモ口座でCFDレートが表示出来ます。

Q. MT4は何ポジまで持てますか?
業者によって異なります。ポジション上限はAccountInfoInteger(ACCOUNT_LIMIT_ORDERS)で確認出来ます。




ストラテジーテスター関連

Q. ビジュアルモードでバックテスト完了すると、チャート上に移動平均線が勝手に表示されるのですが・・・バグですか?
通常、EAで使用したテクニカル分析(iMA()関数等)は、ビジュアルモードでのバックテスト完了時に全て表示されます。
使用したテクニカル分析を表示させたく無い場合は、HideTestIndicators()で 非表示フラグ設定を行う必要があります。

Q. 適当に作ったEAのバックテストの結果がたまたま良かったのでヤフオクで売りたいのですがどうすればいいですか?
色んな意味で止めた方がいいと思います。
今現在の法律では、自動売買システムや売買シグナルを発信するソフトウェアの販売は投資助言・代理業に該当するとされている為、
投資助言・代理業の届出/登録が必要になります。
投資助言業の届出をしているのであれば法律的には問題はありませんが、たまたまバックテストの結果が良かっただけで販売するのは別途トラブルが発生すると思います。

Q. テスト対象の通貨ペアを増やしたいのですがどうすればいいですか?
Ctrl + Mを押して、表示された"気配値表示"ウインドウに対象の通貨ペアを追加して、MT4クライアントターミナルを再起動して下さい。
ストラテジーテスターのEA・EAのインプットパラメータ・通貨ペアは、クライアントターミナル起動時にしか読み込みしないので再起動が必要になります。

Q. どの通貨ペアで行っても指定した全期間のバックテストをしてくれてないような気がするのですが・・・ リアル口座でないと制約があるのでしょうか?私の知らない料金システムがあり、お支払いをしないといけないのでしょうか?
恐らく指定した期間でヒストリカルデータが欠如している可能性があります。 ビジュアルモードで動作させてみて、バーチャートが作成されているか確認してみて下さい。
ヒストリカルデータが欠如していない場合、EAのプログラム自体に不具合の可能性があります。

Q. 円建てでバックテストするには・・・
ストラテジーテスターの「エキスパート設定」の「テスト中」タブにある初期証拠金設定で通貨を選択出来るドロップダウンリストに直接「JPY」と入力します。
情報ソース: とあるMeteTraderの備忘録:円建て口座でのバックテスト。
http://d.hatena.ne.jp/fai_fx/20100627/1277564537

Ishaさん情報ありがとうございます。




コーディング関連

Q. 三次元配列が良く分かりません
二次元配列の延長です。
便宜上次元という名称を使用されているだけで、三次元配列だからと言って3DCGを駆使したりしている訳ではありません。
もし、次元空間を意味しているのであれば四次元配列は意味不明になります。

Q. 同じ関数で関数書式が複数ありますがどれが正しいのですか?
オーバーロード関数の場合、複数の書式が用意されています。
同じ名称の関数でも処理が異なりますので、必要に応じて必要な関数に合わせて引数設定を行う必要があります。

Q. sinputって何ですか?
最適化不要なinputパラメータです。
バックテスト時に最適化する必要が無いパラメータであると明示する事が出来ます。

Q. 音声ファイルを再生するプログラムを他ターミナルで使用する時、音声ファイルも他ターミナルにコピーしないとですか?
ex4ファイルにリソースファイルを含める事が出来ます。リソースファイルを含めた場合は、音声ファイル等のコピーは不要になります。

Q. GetLastError()関数で取得したエラーコードの詳細を出力する方法って無いですか?
標準ヘッダのstdlib.mqhをインクルードして、ErrorDescription()関数の引数にエラーコードを渡すと文字列データで詳細が返されます。
(但し英語です)

Q. エラーコードの詳細を日本語で出力する方法って無いですか?
標準機能ではありません。
私が作成した関数で良ければありますので、ダウンロードページから取得して下さい。

Q. iCustom()関数の使い方が良く分かりません
iCustom()ページにサンプルソースが有りますので、そちらを参考にしてみて下さい。

Q. TimeGMT()関数で取得したGMT時間がチャート上の時間と合いません
TimeGMT()関数で取得するGMT時間は、ブローカーのサーバー時間から算出したものではありません。
ローカルPCの時間設定に依存しています。
ローカルPCの時間設定がGMT+9設定で、ブローカーのサーバー時間のタイムゾーンがGMT設定の組み合わせの場合はだいたい一致するとは思いますが・・・
TimeGMT()関数のページに詳細を記載していますので、そちらを参考にしてみて下さい。

Q. comment()関数で表示するコメントのサイズ・色を変えるにはどうすればいいですか?
comment()関数で表示されるコメントは変更する事は出来ません。
グラフィカルオブジェクトのOBJ_TEXTであれば変更可能です。

Q. MetaAssistって何ですか?
恐らくメタエディター上でコーディングする際に表示される候補リストの事だと思います。
メタエディターのリファレンスマニュアルを確認してもMetaAssistという単語が見つからなかったので私の憶測です。







FX用語関連

Q. スプレッド・ショート・クロス円・ドルストレート・基軸通貨って何ですか?
FXの基本的な用語については、証券会社のホームページの用語集ページで紹介されていますので、そちらで確認してみて下さい。

FXCMジャパン証券:用語集サイト(https://www.fxcm.co.jp/rules/word/)

Q. OHLCって何ですか?
始値・高値・安値・終値の事です。
日本ではあまり聞かない用語ですが、海外サイト等で稀に使われています。
MT4は海外企業が作成しているのでOHLCという単語がリファレンスに登場してきます。

Q. 呑み屋って何ですか?
DD業者の事です。
DD業者だから悪いとかいう話ではありません、
DD業者とNDD業者のメリット・デメリットがありますので、自分に合った業者を選択する必要があります。

ちなみに「相対取引=OTC=DD」ではありません、でも国内業者の殆どが「相対取引でDD方式でOTC」だったりするのであながち間違いでも無かったりもするのですがw
意味としては同じではありません、以前は相対取引でOTCでNDD方式という業者がありました。
NDDでフルカバーしますけどOTCで先呑みしてからカバーしていたんだと思います。
ちなみにFXは基本的にほとんど相対取引で、DDであってもNDDであってもFX業者との相対取引だったりします。
株みたいに取引所への注文を中継してくれているわけでは無いですからね・・・
顧客の注文は全てFX業者との相対取引で完結していて、NDD業者はそこからLPにカバーしているので、LPへ注文をそのまま中継しているわけではありません。

Q. DDって何ですか?
FX業者との取引についてであれば、ディーリングディスク方式の事です。
ストラテジーについてであれば、ドローダウンの事です。

Q. DSTって何ですか?
デイライト・セービング・タイムの略です。 いわゆるサマータイムの事です。
MT4のブローカーサーバーのタイムゾーンがDSTで1時間ズレる事があるので注意が必要です。
これは証券会社毎によって異なるのでタイムゾーン設定について調べておく必要があります。




その他

Q. オペレーティングシステムって何ですか?
WindowsとかMacOSとかiOSとかLinuxとかAndroidとか・・・端末を操作する為の基本的なソフトウェアの事です。

Q. dllファイルはどうやって作るんですか?
MetaEditorでは作成出来ません。
Visual Studio等で作成します。
Visual StudioはマイクロソフトのHPから無償(但し、商用目的での使用は不可)でダウンロード出来ます。

Q. MQL4言語はどこで習ったんですか?
誰かから習った覚えはありません、MetaEditorのリファレンスマニュアルとサンプルソースを見て覚えました。
元々色んなプログラム言語を知っていたので特別MQL4言語の為の書籍も買ったりしていません。
プログラム言語自体も特に習った覚えはありません、C言語の本を買って自分で勉強しました。

プログラムを組んだ事が無いから出来ないという事はありません、
MQL4フォルダ内にEAやインジケータのソースコードがありますので、その未経験者でも既存のソースコードの見よう見まねで作成する事が可能です。
しばらくは不具合乱舞になると思いますが、その不具合を一つ一つ解消していく内に、いつの間にかプログラム言語が身に付いてきます。

Q. 全くの未経験なのですが、C言語から勉強した方が良いですか?
MT4のEA作成だけが目的であれば、わざわざ他言語から勉強する必要は無いと思います。
今後、他プログラム言語を用いてソフトウェアを開発したいのであれば、C言語は勉強になるとは思いますが・・・
基本的にプログラムは処理・条件分岐・繰り返しの3つの工程しか行っていないので、その流れが分かれば何にでも応用できると思います。
それ以外は言語毎の特有の命令がありますが、それは言語毎に勉強する必要があります。




個人的な質問(この手の質問は基本的に受け付けません)

おねがいします 〜中略〜 X県に在住でFXを約5年ほど経験している者です。 この度は、これに関して少し相談にのって頂きたい事があり、コメントを送りました。 もし、聞いて頂けるならよろしくお願いします。
投資助言業者に相談して下さい。

Q. ドル円はどこまで上がりますか?
 アナリストに聞いて下さい。

Q.  どっかの評論家が??オジ円は92円ぐらいまでは上がるって言ってましたよw
 へぇ〜。

どこかの評論家やアナリストの言っている事と現実の差は↓の通りです。
この問い合わせが来た時は90.50円付近でしたが、
豪ドル/円は90.73円付近で折り返して、72.44付近まで下落しました。


2016年の大統領選結果発表の時は・・・


(ふくたろう画伯のツイッターより)

実際に取引していない人達の言っている事を信じるなんて正気の沙汰ではありません。

Q.  どうして原油価格が動くと為替が動くのですか?
 市場に聞いてください。

Q.  裁量トレードもするんですか?
 します。

Q.  時間足はどれを見たらいいですか?
 見たいものを見るだけです。

Q.  今は買いですよね?
 さあ?

Q.  必勝法を教えてください。
 あればいいですね。

Q.  裁量トレードとEAのどちらが儲かってますか?
 楽して儲かる方法があればいいですね。

Q.  FXはそうたい取引だから。
 何の前フリも無く突然(恐らく)ドヤ顔でそんな事を言われても…相対(あいたい)取引の事を言いたかったのかなぁ??

Q.  為替は基本、銀行間取引だから。
 何の前フリも無く突然(恐らく)ドヤ顔でそんな事を言われても…「えっ?あ〜、そ〜ですね〜(笑っていいとも風)」としか言えません。

スポンサーリンク

スポンサーリンク
検索
カスタム検索
リファレンスツリー
オススメ


Copyright ©2015 MT4でEA自作しちゃお〜 All Rights Reserved.


Top

inserted by FC2 system