注意事項:
プログラミングの紹介は管理人の独断と偏見で書かれています。
MQL4プログラミングに関する書籍は一切読んでいない為、EAの作成・解析方法等は完全に管理人特有のやり方になります。
MQL4用に作成している為、MQL5向けではありません。
あくまでプログラミングの紹介なので、必ず勝てるEAの作成方法ではありません。
挿絵の画像は
ビタワンさんの「社畜ちゃん台詞メーカー」で作成したものです。
目次
読み飛ばして最初からEA作成をしようとする高IQの持ち主の天才
ギフテッド(外部リンク)のプログラミング未経験者が余りにも多過ぎるので、
目次の個別ページへのダイレクトリンクは全て解除しました。
- アンケート
- FX未経験者向け
- プログラミング未経験者向け
- F1.プログラミングについて
- F1-2.プログラミングの基礎1(処理と変数)
- F1-3.プログラミングの基礎2(条件分岐と繰り返し)
- F1-4.プログラミングの基礎3(変数配列)
- F1-5.プログラミングの基礎4(関数)
- F1-6.プログラミングの基礎5(MQL関数)
- F2.変数配列について
- F3.ログ出力について
- 初心者が絶対にやってはいけない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のバックテストと最適化
- ヒント
- H1.コンピュータが扱う2進数と16進数について
- H2-1.データ型について①【整数】
- H2-2.データ型について②【浮動小数点】
- H2-3.データ型について③【datetime型】
- H2-4.データ型について④【文字と文字列】
- H3.板情報と指値注文・逆指値注文について
- バックテストでのみ勝てる詐欺EAの解説
- 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業者は自分で調べて納得した業者を自分の意思で選んで下さい。
他人が勧める業者は口座開設アフィリエイト報酬の高い業者か、
pipsバック報酬(IBプログラム)目的の可能性があるのでろくな事はありません。
何も考えないで他人に勧められたFX業者の口座を開設するのはカモにされる可能性があるので注意しなければなりません。
デモ口座なら特に問題は有りませんが、
本番用の口座を開設する時は特に注意して下さい。
当然ですがこのサイトも例外ではありません。カモにされないように細心の注意を払って下さい。
・口座開設アフィリエイト報酬の高い業者への誘導
・EAを無料配布してpipsバック報酬(IBプログラム)用海外業者への誘導
・無限に勝てるEAと豪語しているのに何故かそれを販売
・爆益アピールをしてアナリストが解説した内容をコピペ改変して蘊蓄をひけらかし、信者化した人間を有料メルマガ登録(最近は有料note販売やLINEの有料配信等が流行っているみたいです)へ誘導
・情報商材への誘導
・裏情報を知っているように匂わせて、限定コミュニティへ誘導(そこからIBプログラムや商材販売への誘導)
等など・・・
世の中には鵜の目鷹の目でカモを探して狙っている輩が沢山いる事を忘れないで下さい。
勿論このサイトも例外ではありません。このサイトに記載されている事を鵜呑みにして信者化しないで下さい。
「もしかしたらこのサイトも有料コンテンツへの誘導や、特定業者へのライブ口座開設の誘導があるかもしれない」と常に気を張って下さい。
論理思考と合理的判断力を維持して、常に自分で意思決定をして下さい。
「勝者の秘密を教えてもらって、勝てるようになれば簡単に取り返せるから安い買い物だ!」なんて思っていませんか?
それは誘導している人の受け売りでは無いですよね?
もう既に
信者化して正しい判断が出来ない状態になっていませんか?
話が通じない境界知能の人には多分いくら言っても理解できないと思いますので、一度そういう所にお金を払ってしまうのもいいんじゃないでしょうか?
授業料だと思って払ってみて下さい。ただサンクコスト効果から信者化しない程度にw
どんなに言っても分からない人は、大儲けしている筈なのに何故か不特定多数の人間から金を集めている怪しいセミナーに参加して、そのセミナー運営者が出資法違反で逮捕されて、自分は信者化した単なるカモだった事を実際に体験してみたらいかがでしょう?
分からない人は実際に被害に遭わなければ聞く耳を持たないでしょうから。
ただ、ク○ポジを損切りして市場に授業料を払った方が100万倍は勉強になります。
他人に騙されて信者化して搾取されて市場の勉強になる事はありません、この業界には子供騙しのような詐欺を行う輩がいるという事を体験が出来るだけです。
マルチ商法グループの男ら逮捕 「マーケットピーク」暗号資産の投資に学生らを勧誘か 契約書を交付しなかった特定商取引法違反の疑い
暗号資産の投資をうたい、不正な勧誘を行った疑いでマルチ商法グループの男ら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
そういうのにお金払っちゃう人って○カなんですよね。
○カな人って自分が騙されてるっていう事を認めたくなくて、「それ詐欺じゃない?」って言うと怒るんすよ。
「ひょっとして詐欺じゃないかな」って自分も薄々感じてる(真のバ○はそれすら感じていない)んですけど、
でも○カな人ってそれを自分が認めてしまうと「詐欺なんだ」って事になっちゃうみたいな、
要は
「自分が認めてないんだったらまだ詐欺じゃない」
みたいな、
よく分からない物事の理解をするんすよ。
なので(信者化した洗脳済みの思考停止した論理思考が欠如した人間には)詐欺だよって言わない方がいいと思います。
多分喧嘩になって揉めるので
情報商材は自分以下の情報弱者にしか絶対に売れねぇんだろ?
丑嶋社長が言ってたよ。
商品を買うカモは決まっていて、何度でも似たような商品を買うんだってな。
金欲しさによってくる債務者と似てるぜ。
人気のブランド品は高いほうが売れる。
何故だと思う?
物の価値判断ができねぇー奴は高ければ高いほど価値のある物って信じ込むから、ブランド品をありがたがって買うんだ。
ブランド品も情報商材も「イメージ」を高値でかわされてるンだ。
金儲けに興味を持った大貧民にどんどん餌をばらまけ。そしたらどんどん群がって・・・なけなしの金をさし出す。
俺らが売るものは金儲けの方法じゃねぇ。
金儲けができそうな雰囲気だ。
金持ちのフリだ。
すべては私の自作自演だ。
金持ちを演じれば、人は私に興味を持ち、私のようになりたがる。
そして情報商材は売れたのだ。
いいですか?教訓です。
楽して儲けるうまい話など無いということです。
あなたは金メッキを貼った嘘まみれのハリボテでした。
あなたは空っぽです。
ファーストフードのバイト時給780円から一転!3桁億ドルの稼ぎ方!y@sufxのKY SchemeトレードEA!
高校中退!ニート生活のどん底から始めた無限に儲かるhur◯jiの海外口座限定のIB Scheme Rush EA!
闇金ウシジマ君[フリーエージェント編]。
そんなに
儲かるなら
テメェの金で
運用しろよ!
自分の力で市場から金を抜けないから、儲かっているフリをして情報弱者を騙して信者化させて、クソの役にも立たないEAを売りつけたりポンジスキームをやっているんだろうが!
営業妨害?情報弱者の素人を騙して金を巻き上げる為に平気で嘘をつく事を「営業」と言っている時点でヤバい虚言癖やろ?
そして被害者は全員境界知能。
自由意志の放棄をして自分で何も考えずに他人に丸投げして儲けようと思っている詰め込み暗記教育で量産された思考停止ゾンビ人間が存在し続ける限り、情報弱者をIB(ピップスバックアフィリエイト)で搾取する行為やポンジスキームは無くならない。
更に可愛そうな事に、騙されている張本人は詐欺被害にあっていると思っていない事と、ダニングクルーガー効果のテンプレートのように「自分は賢い」と思い込んでいる境界知能である事。
虚言癖の詐欺師を「先生」と呼んで崇め奉ってお金を差し出して貢いでいる時点で
養分信者。
Yasufx huroji
何度も言いますが
被害者全員境界知能。
By管理人
あと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の役割と
インクルードについて正しく理解したのも相当後になってからです。
分からない事だらけの状態で、とにかく参考書に書いてあるサンプルソース通りに打ち込んで実際の動作確認をする作業を繰り返していました。
とにかく分からない状態でもプログラムを実際に作成して動作させる事が言語習得の近道です。
分からなくても動作確認をしている事で感覚的に「こういう機能なんだ」となんとなく理解できるので、その状態で細かい解説を読むとびっくりする程理解できるようになります。
なので初心者の頃は、ただ読んだだけでは「ふ~ん、何か良く分からないし意味不明だから無理」で終わってしまいます。
M1-3.トレンド系インジケータ作成(終値ライン)作成編で実際にカスタムインジケータを作成したら、
ちょっとカスタマイズして高値ラインや安値ラインのインジケータを作成してみて下さい。
これは一文変更するだけで出来てしまいます。こういう小さなカスタマイズをする方法を自分で調べて挑戦してみる事で理解が深まります。
基本部分の単語はそれ程種類がありませんし、関数も頻繁に使うものを何度も何度も使うので、
ソースコードを継続して見続ける事で「あ・・・この単語(または関数)をまた使っている!」と気が付く事が増えてきます。
しばらくするとソースコード上で知らない単語や関数が減ってスラスラ読めるようになります。
ソースコードを見る事にも慣れてくるので、最初は全く分からなくてもソースコードを読んで触ってプログラムを動作させる作業を継続して下さい。
初心者が絶対にやってはいけないNG行動
項目 |
詳細 |
F4.初心者が絶対にやってはいけないNG行動
|
- 他人のソースコードを丸ごとコピー
- 情報量が多過ぎて的外れな行動をしてしまう
- 調べる気が無く他人に答えだけを求める
- 何の根拠も無く何故か自分が絶対に正しいと思い込む
- 実際に手を動かさない
- 自力で解決しようと試みない
- 言われた事しかしない
- デバッグをしない
- EA作成できるようになるまでのルーティン
- 注意書きやアドバイスを完全無視する
- 最後に
- とことん真剣になれない思考停止という病
|
MQL4未経験者向け(インジケータ作成の基本)
プログラミング未経験者の方は上の
"プログラミング未経験者向け"の内容を先に読んで下さい。
プログラミングの知識はあるけど、MQL4未経験者向けの内容です。
インジケータ作成方法から順に紹介します。
今すぐEAを作成したいと思っていても、先ずはインジケータ作成から始めて下さい。
順序立てて説明しているので、上から順番に読み進めて下さい。
"オシレーター系インジケータ作成(自作RCI3本表示)"のページだけを見て、「理解できませんでした」と言われても困ります。
それから
紹介しているサンプルソースコードはコピペせずに手動で入力して下さい。
プログラミング熟練者ならコピペでも構いませんが、プログラミング未経験者は
頻繁に基本的な構文ミスをします。
手動で入力してコンパイルエラーになったら確実に構文ミスをやらかしています。
どこをどう間違えているかはサンプルソースコードと比較すれば分かります、構文ミスの場所が分かったら手動で修正してください。
コピペはしないで下さい必ず手入力で修正して下さい。
手動で構文ミスを直す事で、自然と構文ミスの頻度が減りますし、構文ミスを自分で直せる力がつくので、自然と構文のルールが身につきます。
プログラミング未経験者の人は、解説ページを眺めるだけで無く実際に.ex4ファイルを生成してMT4で動作させて下さい。
プログラミングは学校の勉強みたいに暗記する事に意味はありません、ただ見ているだけでは分かったつもりになっただけで実際にはプログラミングスキルは全く身についていません。
その為、ちょっとした簡単なエラーが発生しただけで何をしたら良いのか分からなくなってお手上げ状態になります。
参考資料やサンプルソースを見ながら実際に自分の手を動かしてインジケータを作成する事が絶対必要になります。面倒でもやって下さい。
見て暗記をするのでは無く、とにかく手を動かしてインジケータを沢山作って経験を蓄積させて下さい。
サブウインドウ |
項目 |
詳細 |
S1.オシレーター系インジケータ作成(RSI)
|
- サブウインドウを表示する
- カスタムインジケータプロパティの設定
- カスタムインジケータプロパティの設定(プログラム)
- 完成したサンプルソースコード
|
S2.オシレーター系インジケータ作成 (自作RCI3本表示)
|
- RCIの計算式からロジックを考える
- struct(構造体)型を宣言する
- enum列挙型を宣言する
- インプットパラメータを追加する
- インジケータプロパティ設定
- インジケータ短縮名設定
- カスタムインジケータ用動的配列追加
- RCI算出関数を定義する
- 構造体配列を宣言する
- 構造体メンバにデータ設定する
- 構造体型変数配列をソートする
- 同値ランクの中間値を設定する
- RCIを算出する
- RCIラインを表示する
- 完成したサンプルソースコード
|
S3.オシレーター系インジケータ作成 (RSIチャートウインドウ表示)
|
- RSIをメインのチャートウインドウに表示する
- メインチャートウインドウ表示用にレート変換する
- チャートプロパティ取得と、関数のオーバーロード
- iHighest()関数で最大値インデックス取得
- メインチャートウインドウに変換したRSIを表示
- 完成したサンプルソースコード
|
もっとインジケータのソースコードをみたいという人は、
ダウンロードページのインジケータを参考にしてみて下さい。
昔適当に作ったものや、解説する前提で作られていないものなので、ソースコードの内容がゴチャゴチャしていますが。
インジケータ作成の応用
主に
問い合わせられた内容を紹介しています。
MQL4未経験者向け(インジケータ作成の基本)で説明した内容の組み合わせなので、基本に比べて説明が少なくサンプルソース中心になります。
量が増えてきたら別ページに移動させます。
コンパイルエラーの修正方法
デバッグのやり方
プログラミング経験者は知っていて当然の内容なので見る必要はありません。
デバッグついて分からない人が多いみたいですので、
下のEA作成紹介のページを見る前に必ず読んでやり方を学習して下さい。
デバッグという作業はMQL4に限らずプログラミング全般で必要な作業になりますので、
「デバッグって何?」レベルの人は必ず読んで下さい。
本来であればインジケータ作成の紹介の前に読んで欲しい内容ですが、前置きばかりが長いとプログラミング未経験者が実際にプログラムを組む前に挫折する可能性があるので、
このタイミングで紹介しています。
それから上手く動作しない問い合わせをして来て「デバッグして値を確認して下さい」と言って、このページのリンクを紹介しても一切デバッグせずに
「なんか動作が変です。どうすればいいですか?」という回答しかしない人が非常に多いです。
「なんか動作が変です。」と言われて適切な回答が出来る人がこの世の存在するのでしょうか?エスパー以外は無理です。
項目 |
詳細 |
D1.デバッグとは?
|
- デバッグとは
- 原因特定が難しいバグ
- 原因特定が簡単なバグ
- エラーにならないバグ
- 動作チェックを目的としたデバッグ
|
D2.デバッグツールを用いたデバッグ
|
- デバッグサンプルソース
- MetaEditorのデバッグツールを使う
- 変数をウォッチする
- 処理をステップ実行する
- ステップインで関数の中身をチェックする
|
D3.ログ出力を用いたデバッグ
|
- printf()関数を用いたデバッグ
- オブジェクトプロパティをログ出力する
- ストラテジーテスターで高速稼働テスト
- 最後に重要な事
|
時系列配列について
時系列配列を理解していない初心者があまりにも多いのでこの項目を追加しました。
単純に読み飛ばしていて時系列配列を理解出来ていないだけかもしれませんが、
ここの項目も読み飛ばして「分かりません」と問い合わせてくる人は、もうどうしようもありませんので、
まずは基礎的読解力と論理思考を身に付けて下さい。
エキスパートアドバイザー(EA)作成の基本
プログラミング未経験者の方は上の
"プログラミング未経験者向け"の内容を先に読んで下さい。
MQL4未経験者の方は上の
"MQL4未経験者向け(インジケータ作成の基本) "の内容を先に読んで下さい。
MQL4でカスタムインジケータを作成した事が無い人は、
今すぐEAを作成したいと思っていても、先ずはインジケータ作成から始めて下さい。
基本的にプログラミング未経験者でインジケータを自作出来ないレベルの人はEA作成なんて出来ません。
足し算も出来ない人が掛け算なんて出来ますか?掛け算も出来ない人がべき乗計算なんて出来ますか?
インジケータ作成出来ないプログラミング未経験者で最初からEA作成しようとしている人に何度も聞きますが、
高IQの持ち主のギフテッド(外部リンク)ですか?
だから焦らずにインジケータ作成を経験して、基本的な事を学習してからEA作成をして下さい。
項目 |
詳細 |
es1.EAの新規エントリー
|
- プログラムを使ってトレードする
- 新規エントリーオーダーについて
- スクリプト作成
- IsDemo()関数でデモ口座チェックをする
- OrderSend()関数で新規エントリーする[マジックナンバー設定]
- OrderSend()関数の戻り値と引数について
- 関数の引数省略について
- 完成したサンプルソースコード
|
es2.OrderSend()関数のエラー
|
- 注文成功時
- 注文失敗時
- ランタイムエラーの場合
- トレードサーバーが返すエラーの場合
- 完成したサンプルソースコード
|
es3.ポジションの選択
|
- ポジションの手動選択
- OrderSelect()でポジションを選択する
- 任意のポジションを抽出する[マジックナンバーで抽出]
- ポジションのサマリを集計する
- チケットNo指定でポジション選択する
- サンプルソースコードの全体
|
es4.注文の変更(リミット・ストップの設定)
|
- リミット・ストップの手動設定
- OrderSelect()でチケットNo指定選択する
- OrderModify()でリミット設定する
- 変更失敗時
- 売り注文に対するリミット設定
- ストップを設定する
- 完成したサンプルソースコード
|
es5.ポジションの決済
|
- ポジションの手動決済
- OrderClose()でチケットNo指定して決済する
- クローズ済みのポジションへの対応
- 完成したサンプルソースコード
|
EA作成の応用
エキスパートアドバイザー(EA)ファイルを作成し、基本で学んだ内容を全て組み込みます。
今回はフォワードテストについては考慮せずに、バックテストで動作する最低限のEAを作成します。
インジケータ作成出来ないプログラミング未経験者で最初からEA作成しようとしている人に何度も聞きますが、
高IQの持ち主のギフテッド(外部リンク)ですか?
焦らずにインジケータ作成を経験して、基本的な事を学習してからEA作成をして下さい。
項目 |
詳細 |
ea1.EA作成準備編
|
- エキスパートアドバイザー(EA)ファイルを作成する
- エキスパートアドバイザーの初期コード
|
ea2.EAの仕様検討
|
- どんなEAを作成するか仕様検討する
- 何を基準にエントリーさせるか?
- 順張りか逆張りか?
- リミット・ストップはどうするか?
- 判定するタイミングをどうするか?
- ポジションの増玉はどうするか?
- 仕様のまとめ
- エントリー基準の詳細
|
ea3.EAの実装
|
- 仕様の再確認
- EAの基礎作成(セーフティ)
- EAの基礎作成(処理タイミング)
- EAの基礎作成(テスト用オブジェクト描画)
- エントリー判定処理作成
- エントリー判定処理の修正
- 下抜けエントリー判定を追加
- エントリー判定結果にenum列挙を使う
- 進捗状況確認
- 完成したサンプルソースコード
|
ea4.新規エントリー処理の実装
|
- 仕様の再確認
- EA識別用マジックナンバーを追加
- 静的グローバル変数に最小ロット用変数を追加
- 新規エントリー関数の実装
- エントリーオーダー判定処理を追加する
- ポジション情報を管理する
- 進捗状況確認
- 完成したサンプルソースコード
|
ea5.決済処理の実装
|
- 仕様の再確認
- ポジション情報を表示するデバッグ用コメント追加
- ポジション決済処理追加
- ポジション決済判定処理を追加
- ポジション情報を初期化する
- 進捗状況確認
- 完成したサンプルソースコード
|
ea6.リミット・ストップ処理の実装
|
- 仕様の再確認
- リミット・ストップ設定処理を追加
- リミット・ストップ判定処理を追加
- リミット・ストップレートの正規化
【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の仕上げ調整
フォワードテストで発生する問題に対応する調整を行います。
この項目は現在作成中です。
ヒント
バックテストでのみ勝てる詐欺EAの解説
注意事項:
この項目は思考停止した人を騙す為の詐欺EA作成を助長する為の内容ではありません。
詐欺EAの仕組みを理解して、詐欺EAを見極める能力を養って被害に遭われないようにするのが目的です。
当然ですがこの項目の内容を悪用して、詐欺EAを思考停止した人に売りつけて告訴されても私は知りません。
項目 |
詳細 |
詐欺EA1.ヒストリカルデータ(hst)を先読みする詐欺EA
|
- 新規EAの準備
- セーフティ追加
- ヒストリカルデータ(hst)のフォーマットについて
- hstファイルの読み込み(dllを使用)
- 自動売買の取引処理作成
- ヒストリカルデータを先読みした詐欺EAを作成
- 作成した詐欺EAが無限に勝てるか動作チェックw
- 完成したサンプルソースコード
|
注意事項:
この項目は思考停止した人を騙す為の詐欺EA作成を助長する為の内容ではありません。
詐欺EAの仕組みを理解して、詐欺EAを見極める能力を養って被害に遭われないようにするのが目的です。
当然ですがこの項目の内容を悪用して、詐欺EAを思考停止した人に売りつけて告訴されても私は知りません。
Excel VBAの使い方
この項目は現在作成中です。
EA作成の要望
項目 |
詳細 |
設定した口座残高になったら決済&EA自動停止 |
|
MT5への移植方法
現在作成中です。
iCustom()関数の使い方
特殊なインジケータ
通常の方法では作成出来ないインジケータの作成方法を紹介します。
この項目は現在作成中です。
簡易GUI作成
この項目は現在作成中です。
その他便利機能
インジケータやEAには関係無い(結局関連付けるので、関係無くは無いかも)のですが、知っておくと便利な機能を紹介します。
この項目は現在作成中です。
オブジェクト指向のクラスについて
この項目は現在作成中です。
凝ったGUI作成(上級者向け)
この項目は現在作成中です。
ベテラン向けなので、プログラミング中級者以下の人は読まないで下さい。
MT4と関係の無い相場関連のTips
この項目は現在作成中です。
収益が出なくて挫折しかけている人向け
EAを作成したものの、びっくりする程稼げなくてお手上げになって諦めかけている人が読んで下さい。
未だ諦めかけていない人は読まないで下さい。
努力もせずに諦めかけている人は読まないで下さい、読んでも時間の無駄ですのでそのまま諦めて下さい。
努力をしたくなく楽して稼ぎたいと思っている人で諦めかけている人は読まないで下さい、読んでも時間の無駄ですのでそのまま諦めて下さい。
これを読むと勝てるようになる魔法のような内容ではありません。
この項目は現在作成中です。
その他(上級者向け)
この項目は現在作成中です。
ベテラン向けなので、プログラミング中級者以下の人は読まないで下さい。
MT4とEAサンプルソースコードの紹介
トップページの内容と一緒です。
EA開発ソフトの簡単な使い方とテスト方法の説明、サンプルプログラムの簡単な説明をします。
(サイト立ち上げ初期の頃に書いた内容の為、上記未経験者向け項目で紹介した内容と重複する内容もあります)