| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
2,879 バイト追加 、 2021年10月24日 (日) 13:30
==MT4==
{{amazon|B017HFIIEA}}
*[https://mql4.metasys-seeker.com/category/index/ MQL4リファレンス]
*[https://www.mql5.com/ja/docs MQL5リファレンス]
===プログラムの種類===
*チャートに挿入すると、価格の変化に応じて自動売買のできるプログラム
*過去のデータに対して仮想売買を実行し結果を表示するバックテストにも利用可能
 
==売買注文==
===メタトレーダーで出せる注文===
----
*一般にEAはインディケーターを使って売買シグナルを点灯させる
*====バックテストEA例====
----
*EAを過去のチャート上で仮想的に動作させること<pre>*MT4ではストラテジーテスターという機能が搭載されている#property strict*メニュー input int FastMAPeriod = 10;input int SlowMAPeriod = 40;input double Lots = 0.1; int Ticket = 0; int OnInit() { return(INIT_SUCCEEDED); }void OnDeinit(const int reason) { }void OnTick() { double FastMA1 = iMA(_Symbol, 0, FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1); double SlowMA1 = iMA(_Symbol, 0, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1); double FastMA2 = iMA(_Symbol, 0 ,FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 2); double SlowMA2 = iMA(_Symbol, 0, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 2); int pos = 0; if (OrderSelect(Ticket, SELECT_BY_TICKET) && OrderCloseTime() == 0) { if (OrderType() == OP_BUY) { pos = 1; } if (OrderType() == OP_SELL) { pos = - 表示 - ストラテジーテスター で表示される1; } } bool ret; if (FastMA2 <= SlowMA2 && FastMA1 > SlowMA1) { if (pos < 0) { ret = OrderClose(Ticket, OrderLots(), OrderClosePrice(), 0); if (ret) { pos = 0; } } if (pos == 0) { Ticket = OrderSend(_Symbol, OP_BUY, Lots, Ask, 0, 0, 0); } } if (FastMA2 >= SlowMA2 && FastMA1 < SlowMA1) { if (pos > 0) { ret = OrderClose(Ticket, OrderLots(), OrderClosePrice(), 0); if (ret) { pos = 0; } } if (pos == 0) { Ticket = OrderSend(_Symbol, OP_SELL, Lots, Bid, 0, 0, 0); } } }</pre>[[File:mt4_storategy_tester.png|600px]]
====ヒストリーセンター====
----
*https://efxcursion.com/812.html
====バックテスト====
----
*EAを過去のチャート上で仮想的に動作させること
*MT4ではストラテジーテスターという機能が搭載されている
*メニュー - 表示 - ストラテジーテスター で表示される
[[File:mt4_storategy_tester.png|600px]]
 
*結果
[[File:mt4_backtest_chart.png|700px]]
*レポート
[[File:mt4_backtest_result_report.png|400px]]
 
===ボリンジャーバンド===
ボリンジャーバンドの上位ライン、下位ラインは、一定期間の価格の標準偏差に比例した幅をもつため、値動きが大きくなると幅が広がります。通常は、価格がその上下ラインを超えることはないのですが、さらに値動きが大きくなると、上下ラインを超える場合が出てきます。その状態を、買われ過ぎ、売られ過ぎと判断すると、そのうち価格が元の移動平均に戻ると期待できます。そのような想定にもとづくと、下図のように価格が上位ラインを上抜けたときに売りシグナル、下位ラインを下抜けたときに買いシグナルとする方法が考えられます。これがいわゆる「逆張り(カウンタートレンド)」のシステムです。
 
==Tips==
*ExtensionをMQL4で検索し、以下をインストール
[[File:mt4_vscode_extension.png|700px]] *コンパイラの設定[[File:mt4_vscode_estention_compiler_setttings.png|500px]]*メタエディタパスの設定[[file:mt4_vscode_extension_metaeditor_path.png|600px]] ====[[Mac]]====[https://www.typea.info/blog/index.php/2021/06/06/mt4_dev_mac_vscode_method/ MetaTrader4 開発をMacとVisual Studio Codeで行う手順]

案内メニュー