「 develop 」 一覧
第25回:EAに指値注文、逆指値注文でエントリーさせる
EAに指値注文、逆指値注文でエントリーさせる記述 これまでには決済で指値注文、逆指値注文をしてきましたが、今回はエントリーにおいて指値注文、逆指値注文を行います。これによりエントリータイミングをずら
第24回:iCustomでインジケータをEA化する
インジケータとiCustom 今回はインジケーターのシグナルを使って、EAを作ります。 iCustomという関数を使うと インジケータをEAのロジックに組み込むことができるようになります。
第23回:短時間に大量のポジションを取るリスクを排除する
ポジションの時間を制御する EAプログラミングでは思わぬバグがつきものです。 よくあることとしては短時間の間に大量にポジションをとってしまうことなどが挙げられます。 今回は短い時間に
第22回:チャート上にデータを表示させる
MT4のチャート上にデータを表示させる Comment()という関数を使うとビジュアルモードのバックテストの際や、 ライブトレードの際にチャート上にコメントを表示させることができます。
第21回:パラメータ設定で変更できる数値を作る
パラメータ変数の作り方 EAはMT4側で設定できるようにした方がユーザーフレンドリーです。 また、MT4で数値を変更できるようにすることで 数値最適化を行うことができます。 今回はこれ
第20回:複数のポジションを識別・判別する
口座内の異なる通貨ペア、マジックナンバーのポジションを区別する MT4では同時に異なる種類のポジションを持つことができます。 それゆえに決済の際にはどのポジションに対する条件なのかを明確にしな
第19回:for文で回す
MQLのfor文 プログラミングでは同じような処理を何回もしなければならないことがあります。 例えば前回のような の処理が100や1000などになると記述も変更も大変です。 for
第18回:配列で変数をまとめる
MQLの配列 MQLでティックチャートを使うとします。 MQLでは過去のティックチャートのデータは保存されていないので、 直近のレートを変数に保存しておく必要があります。 上記のよ
第17回:OrderSelectでポジションの情報を取得する
ポジションの情報を取得する 今回はすでに持っているポジション、オーダーした複数のポジションの情報を取得します。 ポジションの情報を取得するには、 どのポジションに対して情報を要求するのか宣
第16回:EA内で日本時間を作る
サーバー時刻のEAの演算を日本時刻にする MT4の時刻は多くの場合日本時間ではなく、 サーバーが置いてある時刻になっています。 そのため、雇用統計の時間をEAに認識させるためには時刻の修正を
第15回:OrderModifyで損切り、利確注文を出す
SL,TPをEAから送信する ここでは ポジション取得時に損切りと利確を同時に送信するMQLプログラミングを行います。 前回までのOrderSendの中に損切りと利確を入力する項目がありまし
第14回:MarketInfoでスプレッドを取得する
MarketInfoという情報屋 MQLではスプレッド、口座通貨、ストップレベルなどを取得する際に MarketInfo という関数を使います。 このように書くとその通貨ペアのスプレッ
第13回:コードに汎用性を持たせる~”USDJPY”よりSymbol()~
MT4で設定を変更ができるような記述をする これまでに様々なコードを扱いましたが、 これまでの書き方では毎回設定や数値を変更するたびに ソースコードを編集しなければなりません。 今回はな
第12回:消えてしまう数値を一時的に保存して利用する~変数~
変数の役割 これまでにもあまり大した説明をせずに変数を扱ってきましたが、 ここでは変数について重点的に行います。 変数には大きく分けて2種類の役割があります。 1.何度も使う数値や数式を引
第11回:様々な値を使う~Bid,TimeCurrent(),iOpen(Symbol(),0,0)~
MQLで使える数値を引き出す MQLでは様々な値を簡単な記述で参照することができます。 例えば、 BidやAskはこのままで現在のレートを出してくれます。 Bidの後に()は必要ありま
第10回:テクニカル指標を使ったEA~RSIのEAを作る~
今回はテクニカル指標によるEAの一つとして、 RSIのEA を作ります。 ※実際に稼働させるEAには他にも様々な設定や記述や安全装置が必要です。 RSIを条件に入れたEAを作る
第9回:ロウソク足による条件を作る~3回連続で陽線になったら買うEA~
ロウソク足の記述方法 MQLにはロウソク足の4本値が標準搭載されています。 それぞれ、 という記述で表現できます。 ロウソク足の位置は現在のロウソク足を0として、 1つ前のロウソ
第8回:決済の記述 OrderClose
ここではポジションを決済するための記述を行います。 OrderClose OrderSendで新規ポジションを持てたように ポジションを決済することができます。 OrderClose
第7回:条件の書き方 == && ||
今回はif文の中の条件を記述します。 == 等しいことを条件にする A == B でAとBが等しいことを条件にできます。 これと現在の口座のポジション数を表すOrdersTotal()と
第6回:オーダーに条件をつける IF文
ここではオーダーを送信する前に条件文を挿入します。 条件の書き方 前回までには、「新規ポジションの送信」、「コンパイル」、「EAの生成」を行いました。 ただ、前回のままでは、短時間に大量
第5回:コンパイルとEAの生成
ここではソースコードからEAを生成します。 mqファイルのコンパイル ソースコードファイルはEAファイルそのものではありません。 MT4にEAとして認識させ、稼働させるには mqファイルか
第4回:新規ポジションを送信する記述
ここでは MQLに特有の”新規ポジションの取得” を記述していきます。 OrderSend関数 MQLにはあらかじめ決められた関数という枠組みがあります。 必要な情報を与えてやれば、
第3回:新規作成後に記述されているコードの意味
ここでは新規作成で現れた記述に対する解説を行います。 // と /**/ と コメントアウト プログラミングではどのような記述を行っているのか頻繁にメモ書きをします。 これはメイン動
第2回:EAの新規作成
新規作成 メタエディタから「New」(新規作成)をクリックしてください。 するとこれから何を作るのかを聞いてきますので、 Experet Adviserを選択します。 「次へ」
第1回:EA開発の前準備~エディタソフトの確認~
メタエディタの準備 EAを開発するにはMT4に付属しているメタエディタというソフトを使います。 MT4をインストールすればセットでついてくるので、 新しくダウンロードする必要はありません
第0回:プログラミングの基本ルールと心が折れないための心得
プログラミングにはどの言語にも基本的に共通したルールがあります。 ルール1 入力は半角英数字 プログラミングでは基本的に半角英数字で入力を行ってください。 日本語全角入力ができるVBAな