いつか作ろうと思ってたインジがすでに存在してました。orz
EasyPen Free
http://www.mql5.com/en/market/product/243
MT5ですけど、お絵かきソフトですね。
こんなことできるなんて、うーん、便利。MT4で似たようなものを作ってみたいです。
2014年08月23日
2013年12月24日
【MT5】通貨ペアと価格を表示するインジ
クリスマスなのに特にやることがないので、いつかMT5で自分が使うであろうインジを作ってみました。
と言っても、ただ単に通貨ペアと価格を表示するだけです。

Price_Label.mq5
(右クリックしてダウンロードしてください)
正直ネタ切れなんで、適当にMT5用のものを作っていこうかなと思います。
と言っても、ただ単に通貨ペアと価格を表示するだけです。

Price_Label.mq5
(右クリックしてダウンロードしてください)
正直ネタ切れなんで、適当にMT5用のものを作っていこうかなと思います。
2013年11月05日
MQL5のオブジェクトポインタ
MQL5にはポインタがありません。ありませんが、オブジェクトポインタはあります。
Object Pointers
http://www.mql5.com/en/docs/basis/types/object_pointers
しかしC++のようなポインタではないようです。
descriptor(記述子?)というのに置き換わっているそうです。そのためではないでしょうけど、メンバ変数やメンバ関数をアクセスするときに、->(アロー演算子)ではなく .(ドット演算子)を使います。ちょっと混乱しそうです。
オブジェクトポインタの中身を見てみることにしました。
結果
pObj1 = 1
pObj3 = 3
pObj4 = 2
オブジェクトポインタは1から始まる整数となりました。そして欠番となったところから番号が割り当てられるみたいです。
Object Pointers
http://www.mql5.com/en/docs/basis/types/object_pointers
しかしC++のようなポインタではないようです。
In MQL5, there is a possibility to dynamically create objects of complex type. This is done by the new operator, which returns a descriptor of the created object. Descriptor is 8 bytes large. Syntactically, object descriptors in MQL5 are similar to pointers in C++.
(略)
Again, unlike C++, the variable hobject from the example above is not a pointer to the memory, it is a descriptor of the object.
descriptor(記述子?)というのに置き換わっているそうです。そのためではないでしょうけど、メンバ変数やメンバ関数をアクセスするときに、->(アロー演算子)ではなく .(ドット演算子)を使います。ちょっと混乱しそうです。
オブジェクトポインタの中身を見てみることにしました。
//クラス作成
class C1{};
class C2{};
class C3{};
class C4{};
//とりあえずオブジェクト3つ作ります
C1* pObj1 = new C1();
C2* pObj2 = new C2();
C3* pObj3 = new C3();
delete pObj2; //真ん中のC2だけ解放
C4* pObj4 = new C4(); //新たに作ります
//出力
Print("pObj1 = ", pObj1);
Print("pObj3 = ", pObj3);
Print("pObj4 = ", pObj4);
//残りを解放
delete pObj1;
delete pObj3;
delete pObj4;
結果
pObj1 = 1
pObj3 = 3
pObj4 = 2
オブジェクトポインタは1から始まる整数となりました。そして欠番となったところから番号が割り当てられるみたいです。
2013年11月01日
MQL5の列挙型
C++を勉強しつつMQL5で何をしようか考えているのですが、とりあえずリファレンスを見ながら気になったところを確認していこうと思います。
MQL5 Reference
http://www.mql5.com/en/docs
まず列挙型です。
Enumerations
http://www.mql5.com/en/docs/basis/types/integer/enumeration
使い方はC++と同じです。問題は、
サイズが4バイトなのはふーんって感じなんですが、enumの後に列挙型名がいつも必要となってます。anonymous enumeration(匿名列挙型?)は本当に使えないのかどうかだけ確認です。
結果 JPN = 4
エラーもなく普通に使えました。なんか違うのかな?
よく分かりませんが、使えないというものは使わない方がいいですね。
MQL5 Reference
http://www.mql5.com/en/docs
まず列挙型です。
Enumerations
http://www.mql5.com/en/docs/basis/types/integer/enumeration
使い方はC++と同じです。問題は、
•Unlike C++, the size of the internal representation of the enumerated type in MQL5 is always equal to 4 bytes. That is, sizeof (months) returns the value 4.
•Unlike C++, an anonymous enumeration can't be declared in MQL5. That is, a unique name must be always specified after the enum keyword.
サイズが4バイトなのはふーんって感じなんですが、enumの後に列挙型名がいつも必要となってます。anonymous enumeration(匿名列挙型?)は本当に使えないのかどうかだけ確認です。
enum { // enum 列挙型名{...}
USA = 1,
EURO,
GBR,
JPN,
AUS,
CHE,
CAN
};
printf("JPN = %d", JPN);
結果 JPN = 4
エラーもなく普通に使えました。なんか違うのかな?
よく分かりませんが、使えないというものは使わない方がいいですね。
2010年09月25日
MT5のPrice Channel
MT5はまだ本格的には使っていないのですが、徐々に慣れていこうかなとは思ってます。今すぐにMT4がなくなるってことはないでしょうけど。
MT5に付属のインジはいろいろありますが・・・

Price Channelは使えない。(汗)
水色のべた塗りがいいのでしょうか・・・。私にはなぜこうなっているのかが分かりません。
というわけで、MQL5の勉強も兼ねてサンプルのPrice Channelから改変して、インジを作ってみました。
こんな感じです。

一定期間の高値安値が分かりやすいと思います。
ファイルも置いておきます。
Price_Channel1.mq5
素人のプログラムです。コードでおかしなところがあれば教えていただければ非常にうれしいです。
MT5に付属のインジはいろいろありますが・・・

Price Channelは使えない。(汗)
水色のべた塗りがいいのでしょうか・・・。私にはなぜこうなっているのかが分かりません。
というわけで、MQL5の勉強も兼ねてサンプルのPrice Channelから改変して、インジを作ってみました。
こんな感じです。

一定期間の高値安値が分かりやすいと思います。
ファイルも置いておきます。
Price_Channel1.mq5
素人のプログラムです。コードでおかしなところがあれば教えていただければ非常にうれしいです。