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

*

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

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

こんにちは!キリンです。
今日、ついに大阪の地に降り立ちました。
5年ぶりの大阪。あの頃とはまったく気持ちが違いますね。
懐かしいけど新しい、そんな新鮮な気持ちで今も過ごしています。
今日は布団ないけどね!w(荷物が届くのは明日です・・・)
では、本日の講義です。


第27回 発注スプリクトの作成(3)

■発注スプリクト
■MQL定義済み変数
■作成したプログラムの説明
■本日の宿題
さて、今までの講義でOrderSend()の基本的な使い方はマスターしていただけたと思います。
今日はさっそくOrderSend()を使ってスプリクトを作ってみましょう。
最後のやりごたえのある宿題を用意していますので、
ぜひ挑戦してみてくださいね。
■発注スプリクトプログラム
いつものようにメタエディターの
[ File ]⇒[ New ]からスプリクトの雛形を呼び出してください。
ファイル名は[ order ]としてみました。
そして、グローバル関数を定義し、start()の中身を作成していきます。
僕はこのように作成しました。

//+------------------------------------------------------------------+
//| 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()
{
//—-
double stopPrice = 0;
double takeProfit = 0;
if(Slpips != 0) stopPrice = Ask – Slpips*Point;
if(Tppips != 0) takeProfit = Ask + Tppips*Point;
OrderSend(NULL, OP_BUY, Lots, Ask, Slippage, stopPrice, takeProfit, COMMENT, MAGIC, Red);
//—-
return(0);
}
//+------------------------------------------------------------------+

OrderSend()関数の引数部に注目してみていただきたいです。
今まで説明した内容が実施されておりますので、よくご覧になっていただければと思います。
■MQL定義済み変数
▼Ask
チャート上に表示されているAskの値段を返します。
▼Point
1pipの値幅を返します。
4digitsの業者なら0.0001
5digitsの御者なら0.00001
となります。
■作成したプログラムの説明
今回のプログラムの中で面白いといいますか、
重要なところは、
利食い値と損切り値をpipsベースで自動で計算させるようにしています。
こうすることでextern部の数値を変更するだけで簡単に利食い・損切り値を設定できるんですね。
ただ、なぜif文があるのでしょうか?
利食い値や損切り値を0にすると入力されない注文を行うことができるんです。
Askと利食い値、損切り値が同じ値になると注文が通らないのは、
FXをやってらっしゃるみなさんならお分かりいただけますね。
■本日の宿題
売りの場合のプログラムを作ってください。
ヒント:買いを売りにすればいいだけだけど、利食いや損切りは・・・・
今日の講義は以上です。
中身自体は簡単なのですが、
これを使ってどうやってEAに使えるのかっていうところまではまだ
難しいのかなって思います。
ぜひ、宿題やってみてくださいね!
最後までお読みいただきありがとうございました^^

にほんブログ村 為替ブログへ 
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プログラミング講座■ 第16回 インディケーターの実働部分

こんばんは。キリンです。 先ほどHey!Hey!Hey!の大阪の歌特集をやっていました。 Dreams Come Tru

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

■超直感!MT4プログラミング講座■ 第25回 発注スプリクトの作成

おはようございます。キリンです。 今日から引越しの準備です。 今週はあまり仕事が進んでないです・・・。 引越しの準備とか

記事を読む

no image

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

おはようございます。キリンです。 日本、負けてしまいましたね。 でも、すごい感動しました。 すごい夢をもらいました。 優

記事を読む

no image

■超直感!MT4プログラミング講座■ 第39回 ブレイクアウトシステムのEAの最適化をやってみよ

こんばんは!キリンです。 今日は最適化をしてみます。 簡単に成績がいいものができてしまうので、 成果が出たときは非常に嬉

記事を読む

no image

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

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

記事を読む

no image

■超直感!MT4プログラミング講座■ 第35回 MAの傾きを使ったEA

こんばんはっ!キリンです。 土曜日なんですが、脱サラすると関係なかったり・・・。 なんか実感が湧かない今日この頃です。

記事を読む

no image

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

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

記事を読む

Comment

  1. りある より:

    SECRET: 0
    PASS:
    こんばんは、引越しお疲れさんです。
    片付けも大変でしょうが頑張ってくださいね。
    では、私も頑張って回答します。
    extern double Lots = 0.1;
    extern int Slippage = 5;
    extern int Slpips = 20;
    extern int Tppips = 20;
    //extern string COMMENT = "BUY";
    extern string COMMENT = "SELL";
    extern int MAGIC = 123;
    //+------------------------------------------------------------------+
    //| script program start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //—-
    double stopPrice = 0;
    double takeProfit = 0;
    //if(Slpips != 0) stopPrice = Ask – Slpips*Point;
    if(Slpips != 0) stopPrice = Bid + Slpips*Point;
    //if(Tppips != 0) takeProfit = Ask + Tppips*Point;
    if(Tppips != 0) takeProfit = Bid – Tppips*Point;
    OrderSend(NULL, OP_SELL, Lots, Bid, Slippage, stopPrice, takeProfit, COMMENT, MAGIC, Blue);
    //—-
    return(0);
    }
    こんなんで良いのかな?見難かったらごめんなさい。

  2. junky より:

    SECRET: 0
    PASS:
    勉強不足でEAの方は理解できていません。
    で、この後、エントリー条件を加えるんですよね。
    楽しみです。。。

  3. SECRET: 0
    PASS:
    >junkyさん
    エントリー条件は決済スプリクトが完成してから
    導入してみる予定です^^

junky にコメントする コメントをキャンセル

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

Adsense

Ubuntu で仮想ディスプレイを使う

雑多な備忘録ですが、せっかくなので残しておきます。 Ubuntu 18.04 の resolv.c

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

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

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

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

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

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

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

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

→もっと見る

PAGE TOP ↑