Wizard In The Market
システムトレードの魔術師

*

■超直感!MT4プログラミング講座■ 第29回 決済スプリクトの作成(2)

公開日: : 最終更新日:2015/01/13 MT4(MQL4)プログラミング講座

こんにちは。キリンです。
住民票の変更も行い、年金も国民年金に切り替えました。
免許証の住所変更にもこれから行く予定です。
今日はガスコンロ買いに行きます。
実は僕の家、1人暮らしでもガスの口が二つあるんですよ。
パスタ作りたくてわざわざそういう家選びました。
自炊するぞー!


第29回 決済スプリクトの作成(2)

■決済スプリクトの流れ
■for文での動作
■決済スプリクトの流れ
前回は決済スプリクトの関数の説明をざっとしてみました。
今日はそれらがどのように機能しているかの説明を行っていきます。
■for文での動作
▼for(int i=0; i < OrdersTotal(); i++)
「持っている注文の数だけiをループさせる」という意味です。
すべてのポジションから「条件を満たす注文」を探すために用いています。
▼ if(OrderSelect(i, SELECT_BY_POS) == false) break;
breakというのは、forループを無理やり終了させる処理定数です。
OrderSelectがfalse(失敗したとき)は、for文を終了させます。
ちなみに、ifの()の中にある関数は、一度動作することになります。
ですので、OrderSelectがtrueだった場合は、そのまま下に動作が移行します。
▼if(OrderSymbol() != Symbol() || OrderMagicNumber() != MAGIC) continue;
OrderSelectで選択したポジションが、現在のSymbolとMAGICに一致しているかを
確認視しています。
[ || ]というのは、or演算子で、「どちらか一方が成り立つときtrueを返す」というものです。
[ != ]とは、「左辺=右辺が成り立たないときtruを返す」という演算子です。
また、continueとは、for文の1ループをそこで終わらせ、次のiへと移行させるという処理定数です。
まとめると、
OrderSymbol() が Symbol() と一致しない、もしくは
OrderMagicNumber() が MAGIC と一致しない場合は、
次の[ i ]でもう一度同じ動作をする
というループが行われています。
これから抜け出してくるループは、
Symbol()とMAGICが一致した注文が選択された状態になっているわけです。
▼int type = OrderType();
 if(type == OP_BUY || type == OP_SELL)
Symbol()とMAGICが一致した注文のタイプを確認しています。
「予約注文(指値・逆指値注文)」の場合は、決済できませんので、
それを防ぐためです。
▼ticket = OrderTicket();
決済するためには、注文のチケットナンバーが必要になります。
そのチケットナンバーをここで取得しているんですね。
▼if(ticket == 0) return(false);
もし、for文のなかで一度もSymbol()とMAGICが一致するものがなかった場合、
for文が終わったとしても、ticketが0のままになります。
その際は、クローズさせたいポジションが存在しなかったということで、
動作を終了(return(0))させます。
ここで、チケットの選択までは説明ができました。
次回はOrderCloseのお話をさせていただきますね。
最後までお読みくださりまして、ありがとうございます!

にほんブログ村 為替ブログへ 
Fx-Kirin

About Fx-Kirin

2009年10月にFXを開始、翌年2010年5月から脱サラをしてFX業界に専念。 2012年10月頃から本格的に勝ち始め、一月で資産を倍にする、2年半月間負けなし等、安定した収支で2013年11月に生涯FX収支が1億を超える。 投資スタイルはシステムトレード。プログラミングの知識がほぼない状態から、独学で自分がしたいと思うことであればほぼ実現することが可能なレベルまで成長。好きな言語はRuby, Python。必要となればC++からVBA、Pascal等なんでも行う。MT4/MT5のプログラミングも得意。 2011年にはFXで稼いだ資金をもとにシンガポールに移住し、留学も兼ねて起業をチャレンジするほど、ビジネスを興すことに熱意がある。国内の業者を主に使い始めたことから、2012年に帰国。零細株式会社経営中。

Adsense

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 67 follow us in feedly

関連記事

no image

■超直感!MT4プログラミング講座■ 第2回 変数を覚えよう!

こんばんは。キリンです。 この講座の第1回で、非常に大きな反響をいただけました。 MT4のプログラミングに興味持っている

記事を読む

no image

■超直感!MT4プログラミング講座■ 第20回 ボリンジャーバンドを作ろう(2)

おはようございますっ!キリンです。 脱サラ後は朝のブログを習慣にする予定です。 毎日文章を書くことは、文章力をつける上で

記事を読む

no image

■超直感!MT4プログラミング講座■ 第7回 インディケーター表示のために

没になった回です。 内容が雑なため、第8回へ移動していただければと思います。 興味のある方はご覧いただければと思います。

記事を読む

no image

■超直感!MT4プログラミング講座■ 第17回 iMA()に慣れよう

こんばんは!キリンです。 今日、鮒谷さんのかの有名なメルマガ、平成進化論において面白い話が載っていました。 簡単にご紹介

記事を読む

no image

■超直感!MT4プログラミング講座■ 第38回 ブレイクアウトシステムのEA作成

おはようございます。キリンです。 脱サラしたことがついに親に発覚し、昨日電話かかってくると思ったらきませんでした。 親は

記事を読む

no image

■超直感!MT4プログラミング講座■ 第1回 プログラミングって何?

こんにちは!キリンです。 今日から一週間に一回くらいの更新頻度を目標に、 MT4プログラミング講座を更新していきます。

記事を読む

no image

■超直感!MT4プログラミング講座■ 第30回 決済スプリクトの作成(3)

おはようございます。キリンです。 今回は記念すべき第30回ですね! 開始当初から考えると思ったより速いペースでの達成です

記事を読む

no image

■超直感!MT4プログラミング講座■ 第6回 インディケータープログラムの解説

こんにちは!キリンです。 GW真っ最中! 私は引っ越し先を探してきました。 納得のいく部屋を見つけて、さらに洗濯機も購入

記事を読む

no image

■超直感!MT4プログラミング講座■ 第11回 配列を覚えよう

こんばんは。キリンです。 最近、各EAの動向で一喜一憂してしまっています。 精神的によろしくないですな^^; クロスファ

記事を読む

no image

■超直感!MT4プログラミング講座■ 第32回 発注スプリクトをサブルーチン化する(1)

おはようございます。キリンです。 昨日、半年振り以上にバスケをしてきました。 今日の筋肉痛はやばいです(w サラリーマン

記事を読む

Comment

  1. ごんた より:

    SECRET: 0
    PASS:
    私も、昨年会社止めて自営です!!
    税務署と県庁にいって会社名の登録しないと…
    私は、昨年税務署に行き青色申告と白色申告から青色申告を選択して、県庁に行って申告してきました!
    最初の一年わからない事が多かったです、頑張ってくださいね!

  2. SECRET: 0
    PASS:
    >ごんたさん
    僕も税務署へいかねばですね。
    アドバイスありがとうございます!
    青色申告がんばります。

  3. カメゾウ より:

    SECRET: 0
    PASS:
    いつも分かりやすく解説してくれているのでプログラミングを始めたばかりの自分でもナルホドと理解できます。しかし、新たに作成、追加はまだまだのようです。(これからに期待)
    決済スクリプトですが、OrderClose()にfor~文を追加して決済が必ず行うようには出来ないでしょうか。また、決済が済んだら音などで知らせるようにすると目が離せるのですが。

  4. SECRET: 0
    PASS:
    >カメゾウさん
    非常に励みになるコメントありがとうございます!
    ご質問の件ですが、
    おっしゃるとおり現時点ではエラー処理がないんですね。
    ですが、ちゃんと今後反映させていく予定ですのでご安心いただければと思います^^
    今後ともよろしくです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

PYPIへの登録を10秒でできるようになる方法

pip 使ってますよね Pythonを使っている人であれば、pip installでライブラリ

The art of debugging with GDB, DDD, and Eclipse の読書メモ

GDBの勉強がしたくて、下の本を原著で読んでみました。10年前の本だけど全然現役でした。

JupyterでボタンからJavascriptを実行して追加のアウトプットをさせない方法

Javascriptを実行するとアウトプットセルの行が増える これがとても面倒だった。上の

まだBokehで消耗してるの?これからはPandas-Bokehを使おうぜ

タイトルはあまり気にしないでください。全然、Bokehで消耗する価値があるとは思っています。ただ

SQLAlchemy のマイグレーションライブラリ Alembic を使ってみる。

SQLAlchemyの作者が作ったデータベースマイグレーションツール。個人的には、SQLAlch

→もっと見る

PAGE TOP ↑