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

*

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

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

おはようございます。キリンです。
昨日、半年振り以上にバスケをしてきました。
今日の筋肉痛はやばいです(w
サラリーマン時代に仕事⇒FTLの事業⇒寝る⇒仕事・・・・
休みの日もFTLの事業をずっとやり続けていたため、
かなり運動不足でした。それを痛感。
これから適時運動していこうと思っています。
では、本日の講義です。


第32回 発注スプリクトをサブルーチン化する(1)

■サブルーチンかする前に
■実際にサブルーチンを使った買い発注スプリクト
■サブルーチンかする前に
これから発注スプリクトをサブルーチン化していく際、
念頭に置くことは「引数を何にするか」という点です。
実際の発注スプリクトのstart()を見ていきます。

double stopPrice = Ask – Slpips*Point;
double takeProfit = Ask + Tppips*Point;
OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, stopPrice, takeProfit, COMMENT, MAGIC, Red);

この中で、発注に実際に関わる変数はどれになるでしょうか?
この判断は、ここに差があるとは思うのですが、
僕はこのように判断しました。
・Slpips
・Tppips
・Lots
・Slippage
・COMMENT
・MAGIC
※買い注文のみを行うサブルーチンです。
上記を外部から入力するようにすれば、
使いやすくなりますよね。
■実際にサブルーチンを使った買い発注スプリクト
では、これを元にサブルーチンを作ってみます。

void MyBuySend(double lots, int slippage, int slpips, int tppips, string comment, int magic){
double stopPrice = Ask – slpips*Point;
double takeProfit = Ask + Tppips*Point;
OrderSend(NULL, OP_BUY, lots, Ask, slippage, stopPrice, takeProfit, comment, magic, Red);
}

このような形ですね。
実際に、これを使う場合にはこのように記述します。

//+------------------------------------------------------------------+
//| order.mq4 |
//| Kirin-FTLabo |
//| http://ameblo.jp/ftlabo-kirin/ |
//+------------------------------------------------------------------+
#property copyright “Kirin-FTLabo”
#property link “http://ameblo.jp/ftlabo-kirin/”
extern double Lots = 0.1;
extern int Slippage = 5;
extern int Slpips = 20;
extern int Tppips = 20;
extern string COMMENT = “BUY”;
extern int MAGIC = 123;
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//—-
MyBuySend(Lots, Slippage, Slpips, Tppips, COMMENT, MAGIC);
//—-
return(0);
}
//+------------------------------------------------------------------+
void MyBuySend(double lots, int slippage, int slpips, int tppips, string comment, int magic){
double stopPrice = Ask – slpips*Point;
double takeProfit = Ask + Tppips*Point;
OrderSend(Symbol(), OP_BUY, lots, Ask, slippage, stopPrice, takeProfit, comment, magic, Red);
}

これがサブルーチンを使った買いの発注スプリクトです。
でも、実はこれだけだとあまり実用的でないんです。
発注はエラーが起こることがしばしばあります。
それの対策が一切ありません。
次回からはそのエラー対策も含めた使い勝手の良い発注スプリクトを作成していきます。
楽しみにしていただければと思います^^
今日もお読みいただきまして、誠にありがとうございます!

にほんブログ村 為替ブログへ 
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
  • 65 follow us in feedly

関連記事

no image

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

こんばんは!キリンです。 私は本日を持って、脱サラをしました。 もう二度とサラリーマン生活に戻らないという固い信念のもと

記事を読む

no image

■超直感!MT4プログラミング講座■ 第23回 ボリンジャーバンドのおさらい(2)

こんばんはっ!キリンです。 平日に私服で電車に乗っているのが非常に違和感を感じます。 でも、脱サラしたんだなっという感無

記事を読む

no image

■超直感!MT4プログラミング講座■ 第34回 決済スプリクトをサブルーチン化する

こんにちは。キリンです。 自立ってそんなに難しくないと思うんですが、 自律は大変ですよね。 自立できれば自律を目指さなけ

記事を読む

no image

■超直感!MT4プログラミング講座■ 第15回 MQL定義済み関数について

こんにちは!キリンです。 このブログ自体が夜書くことが多いので、「こんにちは!」っていうと新鮮ですね。 春の陽気を感じら

記事を読む

no image

■超直感!MT4プログラミング講座■ 第31回 サブルーチンを使えるようになろう

おはようございます。キリンです。 昨日、家の近くの図書館に行ってきました。 そこで借りた本の一冊に、 「生き方」(稲盛 

記事を読む

no image

ハースト指数のインジケータ

こんにちは。キリークです。 来週の月曜日に日本を発ちます。 準備が大変だっ!w さて、今日は知っている人は知っているであ

記事を読む

no image

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

おはようございます。キリンです。 今日は、マインドアップ的読書感想文で非常に良いことが書いてありました。 その中のさわり

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

■超直感!MT4プログラミング講座■ 第22回 ボリンジャーバンドのおさらい

こんばんは!キリンです。 お酒を飲んでからの講義は難しいですね。 何か対策を考えなければっ! 頑張って書いていきます。

記事を読む

Comment

  1. SECRET: 0
    PASS:
    はじめまして。
    だんだん本格的になってきましたね。
    いつも楽しみにしています。
    o(〃^▽^〃)o

  2. chori より:

    SECRET: 0
    PASS:
    部長…若いのにもうお○さんですか?
    これからはお○さんと呼んで差し上げます(°∀°)b

  3. りある より:

    SECRET: 0
    PASS:
    関数内の comment や magic は小文字ですが、外部変数では大文字ですよね。何故ですかね、疑問に思いながら使ってます。
    次回も楽しみにしています。

  4. SECRET: 0
    PASS:
    >choriさん
    やめてくださいw
    もう筋肉痛は治りましたよ!

  5. SECRET: 0
    PASS:
    >りあるさん
    ローカル関数はできる限り小文字に、グローバル関数はできる限り大文字にしております。
    参考になれいましたでしょうか?

Message

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

Adsense

Windowsユーザ御用達の uci.edu から直接python wheelをインストールしてくれるライブラリ pipwin

あんまり情報が出てこないのでメモ書き。 https://twitter.com/fx_kiri

Python2 から Python3 へのC Extension の移行

最初に追加 モジュールの初期化と状態情報を書き換える initmyextension 関

Interactive Brokers 証券の Python API を利用する

Interactive Brokers 証券とは 日本には珍しく自動売買プラットフォームが提供され

Python Pandas からお手軽に highcharts が使える kanichart 作りました。

Kanichart fx-kirin/kanichart: Easy(簡易) plotting

Python 2, Python 3 で更新したファイルを調べてreloadするパッケージを作った。

pdbでのデバッグにはreload機能がない IPythonには優秀なautorelaod機能

→もっと見る

PAGE TOP ↑