2014年08月23日

ペイント

いつか作ろうと思ってたインジがすでに存在してました。orz

EasyPen Free
http://www.mql5.com/en/market/product/243

MT5ですけど、お絵かきソフトですね。



こんなことできるなんて、うーん、便利。MT4で似たようなものを作ってみたいです。
posted by ロンド at 18:28| Comment(0) | MT5 | 更新情報をチェックする

2013年12月24日

【MT5】通貨ペアと価格を表示するインジ

クリスマスなのに特にやることがないので、いつかMT5で自分が使うであろうインジを作ってみました。

と言っても、ただ単に通貨ペアと価格を表示するだけです。

Pair.jpg

Price_Label.mq5
(右クリックしてダウンロードしてください)


正直ネタ切れなんで、適当にMT5用のものを作っていこうかなと思います。
posted by ロンド at 22:21| Comment(14) | MT5 | 更新情報をチェックする

2013年11月05日

MQL5のオブジェクトポインタ

MQL5にはポインタがありません。ありませんが、オブジェクトポインタはあります。

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から始まる整数となりました。そして欠番となったところから番号が割り当てられるみたいです。
posted by ロンド at 17:50| Comment(0) | MT5 | 更新情報をチェックする

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++と同じです。問題は、

•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

エラーもなく普通に使えました。なんか違うのかな?
よく分かりませんが、使えないというものは使わない方がいいですね。
posted by ロンド at 18:44| Comment(0) | MT5 | 更新情報をチェックする

2010年09月25日

MT5のPrice Channel

MT5はまだ本格的には使っていないのですが、徐々に慣れていこうかなとは思ってます。今すぐにMT4がなくなるってことはないでしょうけど。

MT5に付属のインジはいろいろありますが・・・ 

USDJPYH1.png

Price Channelは使えない。(汗)
水色のべた塗りがいいのでしょうか・・・。私にはなぜこうなっているのかが分かりません。

というわけで、MQL5の勉強も兼ねてサンプルのPrice Channelから改変して、インジを作ってみました。

こんな感じです。

USDJPYH2.png

一定期間の高値安値が分かりやすいと思います。

ファイルも置いておきます。
Price_Channel1.mq5

素人のプログラムです。コードでおかしなところがあれば教えていただければ非常にうれしいです。
posted by ロンド at 19:15| Comment(0) | MT5 | 更新情報をチェックする