トップ  >  自作してみる
自作してみる



挿絵の画像はビタワンさんの「社畜ちゃん台詞メーカー」で作成したものです。



目次

読み飛ばして最初からEA作成をしようとする高IQの持ち主の天才ギフテッド(外部リンク)のプログラミング未経験者が余りにも多過ぎるので、 目次の個別ページへのダイレクトリンクは全て解除しました。
  • アンケート
  • FX未経験者向け
  • プログラミング未経験者向け
    • F1.プログラミングについて
    • F1-2.プログラミングの基礎1(処理と変数)
    • F1-3.プログラミングの基礎2(条件分岐と繰り返し)
    • F1-4.プログラミングの基礎3(変数配列)
    • F1-5.プログラミングの基礎4(関数)
    • F1-6.プログラミングの基礎5(MQL関数)
    • F2.変数配列について
    • F3.ログ出力について
  • 初心者が絶対にやってはいけないNG行動
    • F4.初心者が絶対にやってはいけないNG行動
  • MQL4未経験者向け(インジケータ作成の基本)
    • メインウインドウ
      • M1-1.トレンド系インジケータ作成(終値ライン)準備編
      • M1-2.トレンド系インジケータ作成(終値ライン)初期コード解説編
      • M1-3.トレンド系インジケータ作成(終値ライン)作成編
      • M2.トレンド系インジケータ作成(移動平均線)
      • M3.トレンド系インジケータ作成(移動平均線+エンベロープ)
      • M4.トレンド系インジケータ作成(マルチタイムフレームMA)
      • M5.トレンド系インジケータ作成(自作テクニカルインジケータ)
      • M6.トレンド系インジケータ作成(トレンド転換シグナルアロー【矢印】)
      • M7.トレンド系インジケータ作成(ロウソク足チャート)
    • サブウインドウ
      • S1.オシレーター系インジケータ作成(RSI)
      • S2.オシレーター系インジケータ作成(自作RCI3本表示)
      • S3.オシレーター系インジケータ作成(RSIチャートウインドウ表示)
    • オブジェクト
      • O1.オブジェクト系インジケータ作成(NYクローズライン[1点タイプ])
      • O2.オブジェクト系インジケータ作成(トレンドライン[2点タイプ])
      • O3.オブジェクト系インジケータ作成(週間HLライン[2点タイプ])
      • O4.オブジェクト系インジケータ作成(ペナント[3点タイプ])
      • O5.オブジェクト系インジケータ作成(ステータス表示[Pixel座標指定タイプ])
      • O6.オブジェクト系インジケータ作成(シグナルアロー【矢印】)
      • O7.オブジェクト系インジケータ作成(サブウインドウ)
  • インジケータ作成の応用
    • IA01.サブウインドウの価格スケールに価格等を表示する
    • IA02.サブウインドウに価格等を表示する
    • IA03.サブウインドウにRSIのボリンジャーバンドを表示する
    • IA04.サブウインドウに他時間軸のRCIを表示する
    • IA05.週間HLラインを直近のものだけ表示する
    • IA06.先週のローソク足を表示する
    • IA07.チャートの背景色を変更する
  • コンパイルエラーの修正方法
    • C1.コンパイルエラーの修正
    • C2.コンパイルエラーの修正2
    • C3.ランタイムエラーの修正
    • C4.#property strictとは
  • デバッグのやり方
    • D1.デバッグとは?
    • D2.デバッグツールを用いたデバッグ
    • D3.ログ出力を用いたデバッグ
  • 時系列配列について
    • T1.時系列配列の基本
    • T2.異なる時間軸のデータを取得
    • T3.異なる通貨ペアのデータを取得
    • T4.マルチタイムフレーム分析[MTF]
  • エキスパートアドバイザー(EA)作成の基本
    • es1.EAの新規エントリー
    • es2.OrderSend()関数のエラー
    • es3.ポジションの選択
    • es4.注文の変更(リミット・ストップの設定)
    • es5.ポジションの決済
  • EA作成の応用
    • ea1.EA作成準備編
    • ea2.EAの仕様検討
    • ea3.EAの実装
    • ea4.新規エントリー処理の実装
    • ea5.決済処理の実装
    • ea6.リミット・ストップ処理の実装
  • プロジェクト作成とモジュール
    • PJ01.プロジェクト作成
    • PJ02.サンプルソースをプロジェクト化
  • EAのバックテストと最適化
    • B01.バックテストについて
  • ヒント
    • H1.コンピュータが扱う2進数と16進数について
    • H2-1.データ型について①【整数】
    • H2-2.データ型について②【浮動小数点】
    • H2-3.データ型について③【datetime型】
    • H2-4.データ型について④【文字と文字列】
    • H3.板情報と指値注文・逆指値注文について
  • バックテストでのみ勝てる詐欺EAの解説
  • Excel VBAの使い方
    • VB1.Excel VBAについて
  • MT4とEAサンプルソースコードの紹介
    • 1.MT4で出来ること
    • 2.MT4のインストール/デモ口座申請
    • 3.ヒストリカルデータ取得
    • 4.ストラテジーテスター起動
    • 5.メタエディター起動
    • 6.サンプルソースコード解析
    • 7.MQL4プログラム新規作成
    • 8.ダウンロードしたインジケータの導入方法
    • 9.ボリンジャーバンド逆張りサンプルソースコード(リミット・ストップ設定)

アンケート


アンケート結果を見る






スポンサーリンク


FX未経験者向け

FX取引(デモ口座での取引も含む)経験が無い人はEAを作成する以前の問題なので、先ずはFXの取引を経験して下さい。 デモ口座で構いませんのでMT4を使ってFX取引を経験して下さい。
デモ口座はメールアドレスを持っていれば無料でデモ口座開設出来ますし、どんなに取引をしてもお金は発生しません。

どのFX業者にMT4口座があるのかも分からない人は、
■MT4のインストール/デモ口座申請
を参考にしてデモ口座を作って下さい。

出来ればFX業者は自分で調べて納得した業者を自分の意思で選んで下さい。
FX未経験者向け

他人が勧める業者は口座開設アフィリエイト報酬の高い業者か、pipsバック報酬(IBプログラム)目的の可能性があるのでろくな事はありません。 何も考えないで他人に勧められたFX業者の口座を開設するのはカモにされる可能性があるので注意しなければなりません。
デモ口座なら特に問題は有りませんが、
本番用の口座を開設する時は特に注意して下さい
当然ですがこのサイトも例外ではありません。カモにされないように細心の注意を払って下さい。

・口座開設アフィリエイト報酬の高い業者への誘導
・EAを無料配布してpipsバック報酬(IBプログラム)用海外業者への誘導
・無限に勝てるEAと豪語しているのに何故かそれを販売
・爆益アピールをしてアナリストが解説した内容をコピペ改変して蘊蓄をひけらかし、信者化した人間を有料メルマガ登録(最近は有料note販売やLINEの有料配信等が流行っているみたいです)へ誘導
・情報商材への誘導
・裏情報を知っているように匂わせて、限定コミュニティへ誘導(そこからIBプログラムや商材販売への誘導)
等など・・・

世の中には鵜の目鷹の目でカモを探して狙っている輩が沢山いる事を忘れないで下さい。
y@sufxとhur◯ji詐欺コンビのブランディング手口1

勿論このサイトも例外ではありません。このサイトに記載されている事を鵜呑みにして信者化しないで下さい。
「もしかしたらこのサイトも有料コンテンツへの誘導や、特定業者へのライブ口座開設の誘導があるかもしれない」と常に気を張って下さい。 論理思考と合理的判断力を維持して、常に自分で意思決定をして下さい。

「勝者の秘密を教えてもらって、勝てるようになれば簡単に取り返せるから安い買い物だ!」なんて思っていませんか?
それは誘導している人の受け売りでは無いですよね?
もう既に信者化して正しい判断が出来ない状態になっていませんか?
話が通じない境界知能の人には多分いくら言っても理解できないと思いますので、一度そういう所にお金を払ってしまうのもいいんじゃないでしょうか? 授業料だと思って払ってみて下さい。ただサンクコスト効果から信者化しない程度にw
どんなに言っても分からない人は、大儲けしている筈なのに何故か不特定多数の人間から金を集めている怪しいセミナーに参加して、そのセミナー運営者が出資法違反で逮捕されて、自分は信者化した単なるカモだった事を実際に体験してみたらいかがでしょう? 分からない人は実際に被害に遭わなければ聞く耳を持たないでしょうから。

ただ、ク○ポジを損切りして市場に授業料を払った方が100万倍は勉強になります。
他人に騙されて信者化して搾取されて市場の勉強になる事はありません、この業界には子供騙しのような詐欺を行う輩がいるという事を体験が出来るだけです。

y@sufxとhur◯ji詐欺コンビのブランディング手口2


FX未経験者向け


マルチ商法グループの男ら逮捕 「マーケットピーク」暗号資産の投資に学生らを勧誘か 契約書を交付しなかった特定商取引法違反の疑い

暗号資産の投資をうたい、不正な勧誘を行った疑いでマルチ商法グループの男ら9人が逮捕されました。 警察によりますと、東京都港区の無職 坂本昂洋容疑者(33)ら9人は、去年6月上旬から9月上旬までの間に、複数回にわたり、消費者との連鎖販売取引の契約の際に、法令で定められた契約書等を交付せず、また、契約の解除を妨げるために本当ではないことを言った「特定商取引法」違反の疑いで逮捕されました

引用: https://news.yahoo.co.jp/articles/685b04b95c9e881d738ef76700602f64c038ff7f

シングルマザー「信じてしまった」 650億円被害に沖縄でも被害者の会 暗号資産の出資勧誘

 「ジュビリーエース」などの金融商品をうたい、暗号資産(仮想通貨)取引への出資を募った投資グループの男らが全国で約650億円を不正に集めたとみられる事件で、沖縄県内の出資者からも救済を求める声が広がっている。Yasufx huroji
この事件では、
仮想通貨の売買を通じて利益が出るなどと説明し、無登録で高配当をうたった投資ファンドへの出資を勧誘したとして、警視庁が金融商品取引法違反(無登録営業)の疑いで、会社役員(53)=東京都世田谷区=や会社役員(53)=同千代田区=ら男女7人を逮捕している。

引用: https://www.okinawatimes.co.jp/articles/-/862187

出資金200億円集めたか 投資会社代表ら再逮捕 数億円を押収

うその投資話で出資金をだまし取ったとして、警視庁は、投資関連会社「フリッチクエスト」(FQ)代表、森野広太容疑者(38)ら男女8人を詐欺と金融商品取引法違反(無登録営業)の疑いで再逮捕し、2日発表した。法人としての同社も同法違反容疑で近く書類送検する方針。同社の関係先から現金計数億円を押収しており、事件との関連を調べている。  生活経済課によると、8人は2021年10~12月、
内閣総理大臣の登録を受けないまま、月利4%の配当金を受け取れるとするうその海外法人への投資話を持ちかけ、20~40代の男女5人から出資金や手数料の名目で現金計4700万円を詐取した疑いがある。同課は8人の認否を明らかにしていない。  FQは出資金のうち3割を手数料として受け取り、そのうちの3割を「紹介金」として出資者を紹介した人物に支払うシステムで出資者を広く募集。持ち合わせのない客には「借り入れは全て当社でサポートする。配当を返済に回せば早期に完済できる」などと告げて消費者金融などで出資金を調達させ、16年3月~22年1月に若者を中心に全国の3378人から計200億円超を集めていた、と同課はみている。

引用: https://www.asahi.com/articles/ASR324303R32UTIL006.html

FX投資名目で25億円詐欺被害か 福生拠点のグループ、容疑者7人を逮捕

FX取引業者の社員を装って北海道の60代男性に電話をかけ、投資すれば利益が出るとうそを言い、現金40万円を振り込ませてだまし取ったとされる。  同課によると、グループは福生市の雑居ビルの一室を拠点に、「アバンス」「グローバルリンク」など実体のない業者を名乗って電話をかけていたという。  被害者にはFX運用を管理するアプリをインストールさせ、アプリ上のデータを不正に操作。
利益が出ているように装い、複数回にわたり入金させていたとされる。実際にはFXの運用はしていなかったという。  グループは被害金を移したとみられる口座から約25億円を引き出しており、同課は他にも被害者がいるとみて調べている。

引用:https://www.tokyo-np.co.jp/article/255264

被害者が語る“巧妙な手口“ FXや暗号資産の投資話で8億5000万円を集めたか 「うさんくさい」から出資するに至るまで

10日に送検された岐阜市東金宝町の会社役員・安田𠮷範容疑者66歳。 2019年11月から2020年7月頃までの間に、無登録で知人2人にFXや暗号資産の投資を持ち掛け、あわせて230万円を出資させた疑いが持たれています。 安田容疑者は自ら知人を集めてセミナーを開き、出資を募っていたと言います。 警察によりますと、安田容疑者は
「リスクはゼロ」などと元本保証をした上で、「毎月7%から8%の配当が出る」などとうたい、出資を促していたということです。 (被害を訴える男性) 「100万円がちゃんと入金されたよというアプリがある。それが20日間経つと運用されて110万円とか、今度110万円がまた複利で運用されて125万円、130万円…とかありえない勢いで増えていく」 男性は最終的に500万円を出資しましたが、1円も返ってくることはありませんでした。 安田容疑者は容疑を否認していますが、警察は安田容疑者が約680人からあわせて8億5000万円を出資させたとみて調べています。

引用:https://news.yahoo.co.jp/articles/ed1e3ec1989b321ec04e9e4b08026dbd5556bd3c

被害総額は1億円近くか…原油の先物取引へのウソの投資話で高齢女性から現金騙し取った疑い 61歳男を逮捕

逮捕されたのは広島県の無職・山本弘容疑者(61)で2020年12月、愛知県瀬戸市の71歳の女性に対し、原油の商品先物取引へのウソの投資名目で現金8万円をだまし取った疑いが持たれています。  山本容疑者は過去に経営していた名古屋のコンサルタント会社を名乗って、高齢者らの自宅を訪問するなどしてウソの投資話を持ちかけていたとみられます。  調べに対して山本容疑者は「お金をだまし取っていません」などと容疑を否認していますが、ほかにも6人が同様の被害を訴えているということです。  警察は、被害総額が1億円近くに上るとみて調べています。

引用:https://news.yahoo.co.jp/articles/3c461d4484d4e4348dc51bc76305c302aed8a237

「FXで大儲け」と投稿し集客 無許可で金融取引した疑い 男13人逮捕

6年間にわたって無登録で金融取引を行った疑いなどで会社役員の男ら13人が逮捕されました。全国で延べ1万8000人からおよそ13億円以上を集めていたということです。  川崎市の会社役員・多和田真也容疑者(43)ら13人は、無登録で横浜市や岡山市の顧客ら4人から88万円を預かり、金融取引業を行った疑いなどが持たれています。  警察によりますと、多和田容疑者らはSNSで女性になりすまし、
「FXで大儲けした」などと投稿して顧客を勧誘していました。  2016年からの6年間で、全国で延べ1万8000人からおよそ13億3000万円を集めていたということです。

引用:https://news.yahoo.co.jp/articles/f7779c057d50f393ccd0abb78cf3957b73d091f4

男性が使用する携帯電話機のSNSにFX投資に関わる情報交換の勧誘があり、SNSで情報交換に応じると、 相手から「投資方法を無料で指導する」
「私の指示どおりに購入して売れば、楽に利益を得ることができます」
などとメッセージがありました。 男性は8月下旬か ら12月下旬までの間、18回にわたり、相手から指定された17の口座に合計 4323万5824円を振り込んだということです。

引用:https://news.yahoo.co.jp/articles/7959475efbac0b92da17f45781d60a500165cdf8

起訴状などによりますと福岡県大牟田市の会社役員大嶺正和被告(50)はSNSを通じて「株の運用に出資すれば利益が得られる」などと嘘を言い、2020年以降上山市と長崎県に住む被害者からそれぞれ現金700万円をだまし取った罪に問われています。  初公判で大嶺被告は「間違いありません」と起訴内容を認めました。
また、検察側は被告について
「株取引で成功している投資家を装えば投資の知識を持たない相手を簡単にだますことができると考えた」
と指摘。  2015年から2022年までにおよそ150人から合わせて6億円以上をだまし取ったということです。

引用:https://news.yahoo.co.jp/articles/e7ec06b8c3b73626b1566ff7303940a2c5f12f03

「CO2排出権取引」の名目で、客から1100万円をだまし取った疑いで、資産運用会社に勤めていた代表や会社員ら11人が逮捕されました。うち代表ら9人は長野県駒ケ根市の60代の男性などから1200万円をだまし取った疑いでも、2024年1月に逮捕されています。 警察によりますと、酒井容疑者らは2021年2月から3月までの間に埼玉県幸手市の68歳の男性に
「値上がりは確実だと思います」、「出資額が多ければ多いほど、だいぶ、利益も出ますよ」などとうそを言い
利益を払う意思が無いにも関わらず、CO2排出権取引の保証金名目で400万円をだまし取った疑いが持たれています。 東京都や神奈川県など32都道府県の約360人から合計16億円ほど集めていたとみられ、長野県内分は約30人・約1億5000万円に上るということです。

引用:https://news.yahoo.co.jp/articles/89fb561324a876ad5401762ecaa17d1eb23e0044

青森県内の50代男性が外国為替証拠金取引(FX)、天然ガスの先物取引といった投資話を勧められ、1月17日~2月8日に計800万円をだまし取られる特殊詐欺の被害に遭ったと発表した。  同署によると男性は2023年11月ごろ、スマートフォンのアプリ内に表示された投資関連の広告にアクセスし、
投資話をやりとりするLINE(ライン)グループに参加。 「先生」「トレーダー」を名乗る人物からFXや先物取引を勧められ、専用アプリをダウンロードした。Yasufx huroji

運用資金として24年1月17~22日に計230万円、同24日~2月8日には計570万円をインターネットバンキングで指定の口座に振り込んだ。  専用アプリ上では利益が出ているように見えたため「トレーダー」に問い合わせたところ、
「利益の分配を受けるにはさらにお金が必要」などと言われ
不審に思って家族に相談。

引用:https://news.yahoo.co.jp/articles/8c593dbf9ad5b4c61d58e5e92e89e9ab343cfdaf

無登録でFX投資の勧誘をしたとして会員向けの福利厚生サービス会社をうたう「スカイプレミアム」の幹部4人が福岡県警に逮捕されました。Yasufx huroji
金融庁の調査では、実際に運用された事実は確認できておらず、全国2万6000人から約1350億円もの金を集め、今もそのうち790億円の行方は分からないままで、全国各地で損害賠償を求める集団訴訟が起きています。 詐欺事件となればFX投資関連では史上最大級の被害額となる今回の事案。

会社の紹介リンクなどによると、会員は完全紹介制で、高級ホテルや高級レストランの予約などのサービス提供や、
年に15%から20%の超ハイリターンをうたって投資を募っていたとみられている。 実際のところ、この会社に
金融商品取引業の登録はなく、FXなどの運用もされていなかったことが判明。

東京地裁は21年12月、証券取引等監視委員会の申し立てに基づき、同社などに業務の禁止及び停止命令を出していた。同社側に返金を求める民事訴訟も各地で起きている。


引用:https://news.yahoo.co.jp/articles/617fa2c280f08547221ba4f742d0eea146aea741

福岡市の公務員の女性が、「堀江」と名乗る者から投資話を持ちかけられ、現金およそ7860万円をだまし取られるニセ電話詐欺事件がありました。 投資に関するサイトを閲覧してリンクをクリックしたところ、
SNSに移行。
「堀江指導者」と名乗る者から、投資を学ぶグループに招待されて参加し、
指示通りに投資アプリをインストールしました。
Yasufx huroji
その後、
「今この株を買えば、あがる」などと言われた
ため、投資や出金などを名目に、2月21日までに16回にわたって、あわせておよそ7860万円の現金を、
指定された口座へ送金
しました。 女性が、アプリ上では利益が出ているはずだとして引き出そうとしたところ、それができなかったことから、だまし取られたことに気付いたということです。


引用:https://news.yahoo.co.jp/articles/4d1f2a06a3a419c892bcf2560f3dad6b91b5403d

詐欺の疑いで逮捕されたのは、東京都の佐藤茂容疑者(56)と大阪府の伊藤宏樹容疑者(48)です。2人は、去年3月から4月にかけて、 広島県と兵庫県に住む2人の男性から、FX投資の名目で計1億円以上を騙し取った疑いが持たれています。
警察によりますと、2人は
SNSのグループメッセージで
「先生の指導のおかげでたくさん儲けることができました」
などと投稿し、被害者にFX投資で儲かると信じ込ませていた
とみられています。Yasufx huroji


引用:https://news.yahoo.co.jp/articles/d64c04d36e21790c999edded5688271e743d84b7






あとMT4自体の使い方は
■楽天証券のMT4取扱説明書リンク:https://www.rakuten-sec.co.jp/web/fx/pdf/mt4_guide.pdf
が初心者には分かり易いです。
説明書を見ながらMT4の操作や基本的な用語に慣れてください。


プログラミング未経験者向け

プログラミング未経験者向けの入門レベルの内容です。
プログラミング経験者は知っていて当然の内容なので見る必要はありません。

プログラミング未経験者で、
もし下記項目の内容が難しいと感じて理解出来なかったら、適当に斜め読みだけして
次のMQL4未経験者向け(インジケータ作成の基本)の項目へ進んで下さい。

項目 詳細
F1.プログラミングについて
プログラミング未経験者向け


  • プログラミングは難しくない
  • コンピュータは実は賢くありません
  • よく使うワード
  • MQL4以外にも活用出来ます
  • プログラミングは簡単です・・・が
  • 高級言語(高水準言語)と低級言語(低水準言語)について
  • プログラミング言語は目的で選ぶ
  • 一度で理解出来ないのは当たり前
F1-2.プログラミングの基礎1(処理と変数)
プログラミング未経験者向け


  • ソースコードを作成する
  • 処理を追加する
  • 処理を更に追加する
  • 演算処理
  • 変数宣言
  • 変数の初期化
  • 変数を加算
F1-3.プログラミングの基礎2(条件分岐と繰り返し)
プログラミング未経験者向け


  • 繰り返し
  • for文の使い方
  • 変数名について
  • 条件分岐
  • 3つ以上の条件分岐
  • 判定条件が複数の条件分岐
  • 論理積(&&)を用いたif文判定
  • 論理和(||)を用いたif文判定
F1-4.プログラミングの基礎3(変数配列)
プログラミング未経験者向け


  • 変数配列
  • 変数配列の初期化
  • 配列要素へのアクセス
  • 配列要素の値を変更
  • 範囲外アクセスしない為に、配列サイズを取得する(ArraySize)
F1-5.プログラミングの基礎4(関数)
プログラミング未経験者向け


  • 関数
  • 関数の定義
  • 関数の呼び出し
  • 関数の仮引数
  • 関数の戻り値
F1-6.プログラミングの基礎5(MQL関数)
プログラミング未経験者向け


  • MQL4で事前定義された関数
  • リファレンスの読み方
  • 初期値を持った関数
  • 複数の関数書式を持つオーバーロード関数
  • 出力の仮引数を持つ関数(引数の参照渡し)
  • 配列の仮引数を持つ関数
  • 引数の値渡し
  • 引数の参照渡し
F2.変数配列について
プログラミング未経験者向け


  • バッファオーバーフローの例
  • 変数宣言について
  • メモリマップについて
  • 変数配列宣言と配列アクセス
  • 動的配列宣言とメモリ動的確保
  • メモリマップの全体
F3.ログ出力について
プログラミング未経験者向け


  • Print関数でログ出力
  • 関数の呼び出し方法
  • チャートの安値をログ出力する
  • チャートの日付時間をログ出力する
  • 文字列を結合してログ出力する
  • 型変換(キャスト)
  • フォーマットに従ったログ出力(printf関数)
  • 変換関数を用いた型変換
  • forループを使った繰り返し


プログラミング未経験者向け


ここまで読み終わったら、次のMQL4未経験者向け(インジケータ作成の基本)の項目へ進んで下さい。
基本的な説明ばかりが続くと本題に入る前に心が折れてしまうパターンがありますので、
あとは実際にカスタムインジケータを作成しながら、その都度説明をします。

プログラミング未経験者でさっぱり分からなかった人も先に進んで下さい。
M1-3.トレンド系インジケータ作成(終値ライン)作成編で実際にカスタムインジケータを作成して、動くものを見てからの方が理解し易いと思います。

私も高校生の時、初めてC言語を学習した時に「データ型」について良く理解出来ませんでした、突然当たり前のように現れたintやdoubleに対して「何で使い分けしなければならないの?」と 思いながらも取り敢えず決められたルール通りに「整数はint、小数点以下が含まれている場合はdouble」と意味もわからず使っていました、 実際に正しく理解したのはある程度プログラムが組めるようになって余裕が出来てからになります。
MQL4では存在しませんが、とにかくstdlib.hというおまじないをインクルードして下さいという意味不明な説明をしている参考書に従っていました。stdlib.hの役割とインクルードについて正しく理解したのも相当後になってからです。
分からない事だらけの状態で、とにかく参考書に書いてあるサンプルソース通りに打ち込んで実際の動作確認をする作業を繰り返していました。
プログラミング未経験者向け

とにかく分からない状態でもプログラムを実際に作成して動作させる事が言語習得の近道です。
分からなくても動作確認をしている事で感覚的に「こういう機能なんだ」となんとなく理解できるので、その状態で細かい解説を読むとびっくりする程理解できるようになります。
なので初心者の頃は、ただ読んだだけでは「ふ~ん、何か良く分からないし意味不明だから無理」で終わってしまいます。
初心者NG行動

M1-3.トレンド系インジケータ作成(終値ライン)作成編で実際にカスタムインジケータを作成したら、
ちょっとカスタマイズして高値ラインや安値ラインのインジケータを作成してみて下さい。
これは一文変更するだけで出来てしまいます。こういう小さなカスタマイズをする方法を自分で調べて挑戦してみる事で理解が深まります。

プログラミング未経験者向け

基本部分の単語はそれ程種類がありませんし、関数も頻繁に使うものを何度も何度も使うので、
ソースコードを継続して見続ける事で「あ・・・この単語(または関数)をまた使っている!」と気が付く事が増えてきます。
しばらくするとソースコード上で知らない単語や関数が減ってスラスラ読めるようになります。
ソースコードを見る事にも慣れてくるので、最初は全く分からなくてもソースコードを読んで触ってプログラムを動作させる作業を継続して下さい。


初心者が絶対にやってはいけないNG行動





項目 詳細
F4.初心者が絶対にやってはいけないNG行動
プログラミング未経験者向け


  • 他人のソースコードを丸ごとコピー
  • 情報量が多過ぎて的外れな行動をしてしまう
  • 調べる気が無く他人に答えだけを求める
  • 何の根拠も無く何故か自分が絶対に正しいと思い込む
  • 実際に手を動かさない
  • 自力で解決しようと試みない
  • 言われた事しかしない
  • デバッグをしない
  • EA作成できるようになるまでのルーティン
  • 注意書きやアドバイスを完全無視する
  • 最後に
  • とことん真剣になれない思考停止という病



MQL4未経験者向け(インジケータ作成の基本)

プログラミング未経験者の方は上の"プログラミング未経験者向け"の内容を先に読んで下さい。

プログラミングの知識はあるけど、MQL4未経験者向けの内容です。
MQL未経験者向け



インジケータ作成方法から順に紹介します。
今すぐEAを作成したいと思っていても、先ずはインジケータ作成から始めて下さい。

順序立てて説明しているので、上から順番に読み進めて下さい。
"オシレーター系インジケータ作成(自作RCI3本表示)"のページだけを見て、「理解できませんでした」と言われても困ります。

それから
紹介しているサンプルソースコードはコピペせずに手動で入力して下さい。
プログラミング熟練者ならコピペでも構いませんが、プログラミング未経験者は頻繁に基本的な構文ミスをします。
手動で入力してコンパイルエラーになったら確実に構文ミスをやらかしています。
どこをどう間違えているかはサンプルソースコードと比較すれば分かります、構文ミスの場所が分かったら手動で修正してください。 コピペはしないで下さい必ず手入力で修正して下さい。
手動で構文ミスを直す事で、自然と構文ミスの頻度が減りますし、構文ミスを自分で直せる力がつくので、自然と構文のルールが身につきます。
MQL未経験者向け

プログラミング未経験者の人は、解説ページを眺めるだけで無く実際に.ex4ファイルを生成してMT4で動作させて下さい。
プログラミングは学校の勉強みたいに暗記する事に意味はありません、ただ見ているだけでは分かったつもりになっただけで実際にはプログラミングスキルは全く身についていません。
その為、ちょっとした簡単なエラーが発生しただけで何をしたら良いのか分からなくなってお手上げ状態になります。
参考資料やサンプルソースを見ながら実際に自分の手を動かしてインジケータを作成する事が絶対必要になります。面倒でもやって下さい。 見て暗記をするのでは無く、とにかく手を動かしてインジケータを沢山作って経験を蓄積させて下さい。

MQL未経験者向け

プログラミング未経験者向け




メインウインドウ
項目 詳細
M1-1.トレンド系インジケータ作成
(終値ライン)準備編
MQL未経験者向け


  • メタエディターを起動する
  • インジケータファイル作成
  • mq4ファイルとex4ファイル
M1-2.トレンド系インジケータ作成
(終値ライン)初期コード解説編
MQL未経験者向け


  • カスタムインジケータの初期コード
  • OnInitイベント関数
  • 関数の定義
  • OnCalculateイベント関数
  • 引数の値渡し
  • 引数の参照渡し
M1-3.トレンド系インジケータ作成
(終値ライン)作成編


  • カスタムインジケータプロパティ設定
  • カスタムインジケータ用動的配列作成とバインド
  • 終値ラインインジケータ表示
  • 不具合対策(バッファオーバーフロー対策)
  • ソースコードのハードコーディングを整理(defineマクロ)
  • 完成したサンプルソースコード
  • 課題
M2.トレンド系インジケータ作成(移動平均線)


  • mq4ファイルを複製する
  • 移動平均線インジケータを表示する
  • テクニカルインジケータ関数
  • インプットパラメータ設定(input変数)
  • 完成したサンプルソースコード
  • 課題
M3.トレンド系インジケータ作成
(移動平均線+エンベロープ)


  • インジケータ本数追加と設定
  • Point()関数を使って1pipsのレートを算出する
  • エンベロープライン追加
  • インジケータのラベル名変更
  • 完成したサンプルソースコード
  • 課題
M4.トレンド系インジケータ作成
(マルチタイムフレームMA)


  • ENUM列挙型インプットパラメータ追加
  • ロジックについて考える
  • 関数を自作する
  • 自作関数を呼び出す
  • 未確定足の移動平均線表示不具合
  • 完成したサンプルソースコード
M5.トレンド系インジケータ作成
(自作テクニカルインジケータ)
  • テクニカルインジケータを自作する
  • 自作SMA()関数を定義する
  • バッファオーバーフロー(配列範囲外アクセス)対策
  • 完成したサンプルソースコード
M6.トレンド系インジケータ作成
(トレンド転換シグナルアロー【矢印】)


  • インジケータの描画タイプをアローシンボルにする
  • アローシンボルを変更する
  • トレンドの転換点を算出する
  • シンボル表示位置をピクセル単位で調整する
  • 完成したサンプルソースコード
M7.トレンド系インジケータ作成
(ロウソク足チャート)


  • メインウインドウでのヒストグラムの仕組みを理解する
  • SetIndexStyle()関数で描画スタイルを変更する
  • ロウソク足の色を変更する

サブウインドウ
項目 詳細
S1.オシレーター系インジケータ作成(RSI)


  • サブウインドウを表示する
  • カスタムインジケータプロパティの設定
  • カスタムインジケータプロパティの設定(プログラム)
  • 完成したサンプルソースコード
S2.オシレーター系インジケータ作成
(自作RCI3本表示)


  • RCIの計算式からロジックを考える
  • struct(構造体)型を宣言する
  • enum列挙型を宣言する
  • インプットパラメータを追加する
  • インジケータプロパティ設定
  • インジケータ短縮名設定
  • カスタムインジケータ用動的配列追加
  • RCI算出関数を定義する
  • 構造体配列を宣言する
  • 構造体メンバにデータ設定する
  • 構造体型変数配列をソートする
  • 同値ランクの中間値を設定する
  • RCIを算出する
  • RCIラインを表示する
  • 完成したサンプルソースコード
S3.オシレーター系インジケータ作成
(RSIチャートウインドウ表示)


  • RSIをメインのチャートウインドウに表示する
  • メインチャートウインドウ表示用にレート変換する
  • チャートプロパティ取得と、関数のオーバーロード
  • iHighest()関数で最大値インデックス取得
  • メインチャートウインドウに変換したRSIを表示
  • 完成したサンプルソースコード

オブジェクト
項目 詳細
O1.オブジェクト系インジケータ作成
(NYクローズライン[1点タイプ])


  • オブジェクトとカスタムインジケータの違い
  • オブジェクトのタイプ
  • オブジェクトの名前
  • ベースプログラム作成
  • static変数を使って間欠処理を行う
  • NYクローズ判定を行う
  • 垂直線オブジェクト生成
  • アンロード(OnDeinit)イベントでオブジェクト削除する
  • 完成したサンプルソースコード
O2.オブジェクト系インジケータ作成
(トレンドライン[2点タイプ])


  • 週明け判定を行う
  • 先週の週明けインデックスを取得する
  • トレンドラインオブジェクト生成
  • オブジェクトプロパティを設定する
  • 完成したサンプルソースコード
O3.オブジェクト系インジケータ作成
(週間HLライン[2点タイプ])


  • 週間高安値のオブジェクト描画関数作成
  • 引数の参照渡しを使った関数で週間高安値を取得
  • 週間高安値を描画
  • 週間高安値をオフセット描画
  • 完成したサンプルソースコード
O4.オブジェクト系インジケータ作成
(ペナント[3点タイプ])
・オブジェクトの使い方が2点タイプと大差ないので省略します。
OBJ_TRIANGLEのページを参照して下さい。
O5.オブジェクト系インジケータ作成
(ステータス表示[Pixel座標指定タイプ])


  • 不要なソースコードを削除
  • Pixel座標指定タイプオブジェクトの注意点(アンカー設定)
  • タイマーイベント追加
  • OBJ_LABELでテキストラベル描画
  • 日本語の曜日を表示
  • オブジェクトが見え易くなるように調整
  • 完成したサンプルソースコード
O6.オブジェクト系インジケータ作成
(シグナルアロー【矢印】)


  • 不要なソースコードを削除
  • オブジェクト描画に必要ないつものアレを追加
  • オブジェクトアロー描画する関数を追加する
  • オブジェクトアローを描画
  • オブジェクトの隙間について
  • 完成したサンプルソースコード
O7.オブジェクト系インジケータ作成
(サブウインドウ)


  • サブウインドウを表示する
  • 表示するサブウインドウインデックスを取得する
  • 完成したサンプルソースコード


もっとインジケータのソースコードをみたいという人は、ダウンロードページのインジケータを参考にしてみて下さい。
昔適当に作ったものや、解説する前提で作られていないものなので、ソースコードの内容がゴチャゴチャしていますが。


インジケータ作成の応用

主に問い合わせられた内容を紹介しています。
MQL4未経験者向け(インジケータ作成の基本)で説明した内容の組み合わせなので、基本に比べて説明が少なくサンプルソース中心になります。
量が増えてきたら別ページに移動させます。
項目
IA01.サブウインドウの価格スケールに価格等を表示する
IND作成応用


IA02.サブウインドウに価格等を表示する
IND作成応用


IA03.サブウインドウにRSIのボリンジャーバンドを表示する
IND作成応用


IA04.サブウインドウに他時間軸のRCIを表示する
IND作成応用


IA05.週間HLラインを直近のものだけ表示する
IND作成応用


・デバッグの実践
IA06.先週のローソク足を表示する
IND作成応用

IA07.チャートの背景色を変更する
IND作成応用






コンパイルエラーの修正方法
項目 詳細
C1.コンパイルエラーの修正
コンパイルエラー


  • コンパイルとは
  • 字句解析によるコンパイルエラー
  • 字句解析によるコンパイルエラーの修正
C2.コンパイルエラーの修正2
コンパイルエラー


  • 構文解析によるコンパイルエラー
  • 意味解析によるコンパイルワーニング
C3.ランタイムエラーの修正
コンパイルエラー


  • ランタイムエラーとは
  • 初心者が必ずやらかす鉄板エラー[array out of range in xxxxx]
C4.#property strictとは
コンパイルエラー


  • #property strictとは
  • Build 600未満の古いMQLの問題


デバッグのやり方

プログラミング経験者は知っていて当然の内容なので見る必要はありません。

デバッグついて分からない人が多いみたいですので、 下のEA作成紹介のページを見る前に必ず読んでやり方を学習して下さい。
デバッグという作業はMQL4に限らずプログラミング全般で必要な作業になりますので、
「デバッグって何?」レベルの人は必ず読んで下さい。


本来であればインジケータ作成の紹介の前に読んで欲しい内容ですが、前置きばかりが長いとプログラミング未経験者が実際にプログラムを組む前に挫折する可能性があるので、 このタイミングで紹介しています。

それから上手く動作しない問い合わせをして来て「デバッグして値を確認して下さい」と言って、このページのリンクを紹介しても一切デバッグせずに 「なんか動作が変です。どうすればいいですか?」という回答しかしない人が非常に多いです。
「なんか動作が変です。」と言われて適切な回答が出来る人がこの世の存在するのでしょうか?エスパー以外は無理です。
項目 詳細
D1.デバッグとは?
デバッグとは


  • デバッグとは
  • 原因特定が難しいバグ
  • 原因特定が簡単なバグ
  • エラーにならないバグ
  • 動作チェックを目的としたデバッグ
D2.デバッグツールを用いたデバッグ
デバッグ方法


  • デバッグサンプルソース
  • MetaEditorのデバッグツールを使う
  • 変数をウォッチする
  • 処理をステップ実行する
  • ステップインで関数の中身をチェックする
D3.ログ出力を用いたデバッグ
ログ出力でデバッグ


  • printf()関数を用いたデバッグ
  • オブジェクトプロパティをログ出力する
  • ストラテジーテスターで高速稼働テスト
  • 最後に重要な事




時系列配列について

時系列配列を理解していない初心者があまりにも多いのでこの項目を追加しました。
単純に読み飛ばしていて時系列配列を理解出来ていないだけかもしれませんが、
ここの項目も読み飛ばして「分かりません」と問い合わせてくる人は、もうどうしようもありませんので、
まずは基礎的読解力と論理思考を身に付けて下さい。
項目 詳細
T1.時系列配列の基本
時系列配列について


  • 時系列配列の説明の前に
  • 時系列配列とは
  • 現在の時間足のデータを取得する
  • 前日の終値を取得する
  • オープン時間について
T2.異なる時間軸のデータを取得

  • 異なる時間軸のデータを取得する関数
  • 日足のデータを取得する
  • 前日のオープン時間を取得する
  • 課題
  • 注意点
T3.異なる通貨ペアのデータを取得

  • 異なる通貨ペアのデータを取得する関数
  • ドルストレートのデータを取得する
  • 銘柄名についての注意点
T4.マルチタイムフレーム分析[MTF]
時系列配列について


  • マルチタイムフレーム分析について
  • 何をすれば良いか整理する
  • 設計する
  • 設計(状況判断)
  • 設計(分析)
  • iBarShift()関数について
  • ソースコードに落とし込む




エキスパートアドバイザー(EA)作成の基本

プログラミング未経験者の方は上の"プログラミング未経験者向け"の内容を先に読んで下さい。
MQL4未経験者の方は上の"MQL4未経験者向け(インジケータ作成の基本) "の内容を先に読んで下さい。

MQL4でカスタムインジケータを作成した事が無い人は、 今すぐEAを作成したいと思っていても、先ずはインジケータ作成から始めて下さい。 基本的にプログラミング未経験者でインジケータを自作出来ないレベルの人はEA作成なんて出来ません。 足し算も出来ない人が掛け算なんて出来ますか?掛け算も出来ない人がべき乗計算なんて出来ますか?
インジケータ作成出来ないプログラミング未経験者で最初からEA作成しようとしている人に何度も聞きますが、
高IQの持ち主のギフテッド(外部リンク)ですか?
だから焦らずにインジケータ作成を経験して、基本的な事を学習してからEA作成をして下さい。
EA作成基本


項目 詳細
es1.EAの新規エントリー
EA作成基本


  • プログラムを使ってトレードする
  • 新規エントリーオーダーについて
  • スクリプト作成
  • IsDemo()関数でデモ口座チェックをする
  • OrderSend()関数で新規エントリーする[マジックナンバー設定]
  • OrderSend()関数の戻り値と引数について
  • 関数の引数省略について
  • 完成したサンプルソースコード
es2.OrderSend()関数のエラー
EA作成基本


  • 注文成功時
  • 注文失敗時
  • ランタイムエラーの場合
  • トレードサーバーが返すエラーの場合
  • 完成したサンプルソースコード
es3.ポジションの選択
EA作成基本


  • ポジションの手動選択
  • OrderSelect()でポジションを選択する
  • 任意のポジションを抽出する[マジックナンバーで抽出]
  • ポジションのサマリを集計する
  • チケットNo指定でポジション選択する
  • サンプルソースコードの全体
es4.注文の変更(リミット・ストップの設定)
EA作成基本


  • リミット・ストップの手動設定
  • OrderSelect()でチケットNo指定選択する
  • OrderModify()でリミット設定する
  • 変更失敗時
  • 売り注文に対するリミット設定
  • ストップを設定する
  • 完成したサンプルソースコード
es5.ポジションの決済
EA作成基本


  • ポジションの手動決済
  • OrderClose()でチケットNo指定して決済する
  • クローズ済みのポジションへの対応
  • 完成したサンプルソースコード



EA作成の応用

エキスパートアドバイザー(EA)ファイルを作成し、基本で学んだ内容を全て組み込みます。
今回はフォワードテストについては考慮せずに、バックテストで動作する最低限のEAを作成します。
EA作成基本

インジケータ作成出来ないプログラミング未経験者で最初からEA作成しようとしている人に何度も聞きますが、
高IQの持ち主のギフテッド(外部リンク)ですか?
焦らずにインジケータ作成を経験して、基本的な事を学習してからEA作成をして下さい。

項目 詳細
ea1.EA作成準備編
EA作成の応用


  • エキスパートアドバイザー(EA)ファイルを作成する
  • エキスパートアドバイザーの初期コード
ea2.EAの仕様検討
EA作成の応用


  • どんなEAを作成するか仕様検討する
  • 何を基準にエントリーさせるか?
  • 順張りか逆張りか?
  • リミット・ストップはどうするか?
  • 判定するタイミングをどうするか?
  • ポジションの増玉はどうするか?
  • 仕様のまとめ
  • エントリー基準の詳細
ea3.EAの実装
EA作成の応用


  • 仕様の再確認
  • EAの基礎作成(セーフティ)
  • EAの基礎作成(処理タイミング)
  • EAの基礎作成(テスト用オブジェクト描画)
  • エントリー判定処理作成
  • エントリー判定処理の修正
  • 下抜けエントリー判定を追加
  • エントリー判定結果にenum列挙を使う
  • 進捗状況確認
  • 完成したサンプルソースコード
ea4.新規エントリー処理の実装
EA作成の応用


  • 仕様の再確認
  • EA識別用マジックナンバーを追加
  • 静的グローバル変数に最小ロット用変数を追加
  • 新規エントリー関数の実装
  • エントリーオーダー判定処理を追加する
  • ポジション情報を管理する
  • 進捗状況確認
  • 完成したサンプルソースコード
ea5.決済処理の実装
EA作成の応用


  • 仕様の再確認
  • ポジション情報を表示するデバッグ用コメント追加
  • ポジション決済処理追加
  • ポジション決済判定処理を追加
  • ポジション情報を初期化する
  • 進捗状況確認
  • 完成したサンプルソースコード
ea6.リミット・ストップ処理の実装
EA作成の応用


  • 仕様の再確認
  • リミット・ストップ設定処理を追加
  • リミット・ストップ判定処理を追加
  • リミット・ストップレートの正規化
    【NormalizeDouble()関数を使用】
  • 進捗状況確認
  • 完成したサンプルソースコード


これでEAの機能を一通り実装出来ました。
とりあえずお疲れさまでした・・・と言いたい所なのですが、一番重要なのはここからですw

一応バックテスト上では正常に動作しますので、バックテストで利益が出せるようにカスタマイズとバックテスト作業を繰り返して下さい。 フォワードテストでは色々と問題が発生しますが、バックテストで利益が出ないようなEAはフォワードテストをする価値はありません (アービトラージや高速取引を行うEAは逆にバックテストをする意味はありませんが、アビトラや高速取引を想定していない話です)。
そしてこの作業が最も時間を要し、なかなか成果もアイデアも出ないのでここで挫折する人も多くなります。
だからEAは自分の力で一から作ってEAの仕組みを理解する必要があるのです。

でもネットで拾ったEAを訳も分からず使うような人はEAの調整が出来ません。
そういう人はバックテストの結果を有効活用する事も出来ませんし、EAの調整もする事が出来ないのでまるで聖杯探しのように一生ネットでEAを拾い続けます。
F4.初心者が絶対にやってはいけないNG行動で 紹介した「ネットで拾ったEAが動きません。」という問い合わせに対して回答したく無いのは、 「自分でEA調整出来ない人間を助けても時間の無駄、一生同じような質問をし続けてくる」という事が目に見えて分かっているからというのもあります。

ここまで読んでEA作成を勉強して来た人なら共感出来ると思います。
未だ共感出来ないという人は、これから始まる終わりの見えないバックテストと調整作業の繰り返しを実際に体験して苦労したら共感出来ると思います。


ちなみにフォワードテストで発生する問題への対処についてはEAの仕上げ調整で説明します。

それからここまで読んで一通りプログラムを作成出来るようになった初心者の方々・・・
もうあなたはその辺の外注SESよりも優秀なプログラマーです
ヒント

既に説明済みですが、実際現場にいる外注SESというのは就職難で嫌々IT企業に入社したプログラミング未経験の人間が客先へ派遣(実際は請負契約なので偽装請負と呼ばれています。しかも多重下請け構造の末端の人間。)される事が多く、意味も分からず現場でソースコードをなんとなく変更しています。
その為、彼らは変数の宣言や、変数のデータサイズについて知りませんし、動的変数配列も知りませんし、変数配列の範囲外アクセスについて知りません。
当然デバッグも出来ないので自分が仕込んだ不具合の原因を見つける事すら出来ません。
変数配列やメモリマップについての知識が欠如している為、その辺に関する致命的な不具合を仕込んで納品する天才です。
「有り得ない!そんな人間が契約破棄されずゴロゴロ存在している筈が無い!そんなバカな会社がある筈が無い!」と思われそうですが、事実は小説より奇なりです。
実際謎のシステム障害でいつまで経っても復旧しないサービスのニュースを見た事はありますよね?
結局管理職の人間もITリテラシーが欠如している人間の為、説明しても問題の大きさや重要性を理解出来ません。何故なら出勤打刻をつけに会社に通っているだけの年功序列で偉くなってしまったただのオッサンだからです。

しかし、彼らと違って自分の意志でプログラミングを学び、自分の手を動かしてプログラミングの基本を学んだあなたは、仕事で意味も分からずソースコードを嫌々触らされている外注SES達とはレベルが違います。
自作したEAで儲ける事が出来なかった(残念ながらEAを作成しても多くの人は儲けられません)としても、プログラミングの知識があるので他プログラミング言語を学んでアプリ開発をすればもしかしたらそちらの分野で儲ける事が出来る可能性も秘めています。
プログラミングの基礎知識があれば、他言語も似たようなものなので他言語も直ぐに習得可能です。

IT後進国と呼ばれ、プログラマー人口が年々減少しているこの日本で、あなたはもう立派なプログラマーになれたと思います。
ついこの間までは「intって何?変数の宣言って何?意味不明」と言っていた筈ですが、それを他人に説明出来るくらいのレベルに到達しています。 近い将来外注SESにそれを説明したり、外注SESが仕込んだバッファオーバーフローの不具合修正をする時が来るかもしれませんよw
その時きっとこう思うでしょう
「外注SESってプログラミング未経験者を客先に丸投げ放置派遣するって本当だったんだ~。確かにIT後進国ですね」と。
他人に質問する時も「なんか動きません」とかエスパー相手にするような質問の仕方をしなくなっている筈です。自分で調べられる事は自分で調べて、分からない部分を特定してピンポイントで質問出来るようになっている筈です。
むしろ自分でデバッグして不具合原因部分を特定して、それを自分で調べて自分で解決出来るようになっているかもしれません。
実際、IT業界の現場では↓の動画のような人間で溢れているので、冗談抜きで彼らよりも優秀なプログラマーになっていると思います。


プロジェクト作成とモジュール
項目 詳細
PJ01.プロジェクト作成
  • プロジェクトについて
  • モジュールについて
  • プロジェクトファイルの作成
  • モジュールを追加
  • 中間ファイルと実行ファイル
  • grep検索
  • 複数行のコメントアウトに/* */を使用しない理由
PJ02.サンプルソースをプロジェクト化
  • プロジェクト構成を設計する
  • モジュールに初期化処理を追加
  • モジュールにソースヘッダを追加
  • プロジェクトのソースコード全体
PJ03.モジュールに関数追加
  • モジュールに関数追加
  • プリプロセッサとマクロ置換(#define)
  • ヘッダファイル(.mphファイル)追加
  • ヘッダファイル(.mqh)のインクルード(#include)
  • 2重インクルード防止(#ifnedf ~ #endif)
  • プロジェクトのソースコード全体
04.メイン処理に呼び出し追加

現在作成中です。


EAのバックテストと最適化

バックテストの基本的な説明なので、これをやればバックテストの成績が良くなる類のものではありません。
項目 詳細
B01.バックテストについて
  • バックテストとは?
  • バックテストで何をするの?
  • ゴミEAになり易い要因
  • 何故FX?
  • 時間軸
  • 通貨ペア
  • トレードの根拠(テクニカル分析)
  • トレードの根拠(材料または誰かのオススメ)
  • エッジ(優位性)
  • 結局どうしたらいいの?
B02.ストラテジーテスターの使い方
  • ストラテジーテスターの起動
  • ストラテジーテスターの基本設定
  • ストラテジーテスターの結果確認
  • ヒストリカルデータの取得
  • エキスパート設定

この項目は現在作成中です。



EAの仕上げ調整


フォワードテストで発生する問題に対応する調整を行います。
この項目は現在作成中です。







ヒント

項目 詳細
H1.コンピュータが扱う2進数と16進数について
ヒント


  • 2進数について
  • 16進数について
H2-1.データ型について①【整数】
ヒント


  • 整数について
  • 整数の種類のついて
  • 符号無し整数について
  • 符号付き整数について
  • 何故int型を使うのか?
  • オーバーフロー(上限超過)したらどうなるのか?
H2-2.データ型について②【浮動小数点】

  • 少数の表現について
  • 浮動小数点の表現
  • 異なるデータ型の変数に代入するとどうなるのか?
  • FPユニットのお話
H2-3.データ型について③【datetime型】

  • datetime型の表現
  • 時間差分を計算するには
  • 表示時間を取得するには
H2-4.データ型について④【文字と文字列】

  • 文字の表現
  • MQL4での文字の扱い方
  • 文字と文字列の違い
  • stringについて
H3.板情報と指値注文・逆指値注文について
板情報


  • FXの板情報について
  • 板情報の見方
  • スプレッドについて
  • 指値と逆指値について
H4.ビット演算について


・この項目は現在作成中です。
H5.ヘッダファイルとインクルードについて


・この項目は現在作成中です。


バックテストでのみ勝てる詐欺EAの解説




項目 詳細
詐欺EA1.ヒストリカルデータ(hst)を先読みする詐欺EA
HST先読み詐欺EA


  • 新規EAの準備
  • セーフティ追加
  • ヒストリカルデータ(hst)のフォーマットについて
  • hstファイルの読み込み(dllを使用)
  • 自動売買の取引処理作成
  • ヒストリカルデータを先読みした詐欺EAを作成
  • 作成した詐欺EAが無限に勝てるか動作チェックw
  • 完成したサンプルソースコード




Excel VBAの使い方

項目 詳細
VB1.Excel VBAについて


  • マクロについて
  • Excel VBAについて
  • VBAの開発環境を整える
  • VBEオプションを変更する


この項目は現在作成中です。



EA作成の要望
項目 詳細
設定した口座残高になったら決済&EA自動停止






MT5への移植方法
項目 詳細
MQL4とMQL5の違い

現在作成中です。




iCustom()関数の使い方






特殊なインジケータ

通常の方法では作成出来ないインジケータの作成方法を紹介します。

この項目は現在作成中です。



簡易GUI作成


この項目は現在作成中です。




その他便利機能

インジケータやEAには関係無い(結局関連付けるので、関係無くは無いかも)のですが、知っておくと便利な機能を紹介します。

この項目は現在作成中です。



オブジェクト指向のクラスについて


この項目は現在作成中です。




凝ったGUI作成(上級者向け)


この項目は現在作成中です。
ベテラン向けなので、プログラミング中級者以下の人は読まないで下さい。



MT4と関係の無い相場関連のTips


この項目は現在作成中です。




収益が出なくて挫折しかけている人向け


EAを作成したものの、びっくりする程稼げなくてお手上げになって諦めかけている人が読んで下さい。
未だ諦めかけていない人は読まないで下さい。
努力もせずに諦めかけている人は読まないで下さい、読んでも時間の無駄ですのでそのまま諦めて下さい。
努力をしたくなく楽して稼ぎたいと思っている人で諦めかけている人は読まないで下さい、読んでも時間の無駄ですのでそのまま諦めて下さい。

これを読むと勝てるようになる魔法のような内容ではありません。

プログラミング未経験者向け

この項目は現在作成中です。




その他(上級者向け)



この項目は現在作成中です。
ベテラン向けなので、プログラミング中級者以下の人は読まないで下さい。
項目 詳細
ブラウザ操作
LINEへの通知


MT4とEAサンプルソースコードの紹介

トップページの内容と一緒です。
EA開発ソフトの簡単な使い方とテスト方法の説明、サンプルプログラムの簡単な説明をします。
(サイト立ち上げ初期の頃に書いた内容の為、上記未経験者向け項目で紹介した内容と重複する内容もあります)
項目
1. MT4で出来ること
2. MT4のインストール/デモ口座申請
3. ヒストリカルデータ取得
4. ストラテジーテスター起動
5. メタエディター起動
6. サンプルソースコード解析
7. MQL4プログラム新規作成
8. ダウンロードしたインジケータの導入方法
9. ボリンジャーバンド逆張りサンプルソースコード(リミット・ストップ設定)


スポンサーリンク
検索

↑の検索エンジンが表示されない人は、
↓の古い検索エンジンを使用して下さい。
カスタム検索
MQL4リファレンスツリー
スポンサーリンク
スポンサーリンク


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


Top

inserted by FC2 system