mt4 (MetaTrader4)使い倒シストレ

メタトレーダー、自作インジケータ、自作EAで完全自動売買。使えるものは何でも使え。
インジケーター、EA(自動売買システム)製作のご依頼はこちらへ
Googolyen FX Factory
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


にほんブログ村 為替ブログ FX システムトレード派へ
--/--/--(--) --:--:-- | スポンサー広告 | Trackback(-) | Comment(-)
Japanese Programing

MQL4はプログラミング言語Cとよく似ている言語です。
(自由度としてはあまり高くありませんが…(涙)

しかしながら、MQL4ではCには無い特別な機能(?)があります。

以下のコードをみてください。

#define π 3.14159286

//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
double ラジアン = ラジアン変換(180.0);
double 度 = 度変換(3.14159286);
Comment(ラジアン, ", ", 度);

}

double ラジアン変換(double 度)
{
return (2.0*度*π/180.0);
}

double 度変換(double ラジアン)
{
return ((180.0*ラジアン)/(2.0*π));
}


普段MQL4を使っておられる方は、少し違和感を覚えるコードですね。
(MetaEditor上で上記コードをペーストしても文字化けを起こす場合は、
フォントをTerminalに変更してください。)

そう!

変数名や関数名に「日本語」を使っているのです。
そして上記のコードは、何事もなかったかのようにコンパイルできます。

もちろん「日本語」だけではなく、ロシア語、中国語、アラビア語(できるのだろうか)、etc...
枚挙に暇なく、様々な国の言葉でプログラミングができます。


なんという国際化言語。

この辺りに力を入れたMQL4の開発者は、
より多くの人にこの言語を使ってもらいたかったのではないでしょうか!
(言語としての自由度を抑えてでも…うぅ…(涙))


ちなみにオブジェクト指向プログラミング言語Javaでも国際化に対応してます。
って全然関係ないですね(笑)


日本語を使ったプログラミングの利点としては
・変数や関数名が非常に分かりやすくなる(だって日本語ですもの)。
・変数や関数名の命名に悩まない(だって日本語…(略))。
・いつもと違う雰囲気を楽しめる(だtt…(略))


逆に欠点としては
・プログラミング中に「半角/全角」キーを何度も押さなければならない。
・日本語1文字消すのに、「BackSpace」を2回押さなければならない。
・文字の消し忘れによって構文エラーが混入する可能性がある。
・表示フォントに依存する。


こんなところでしょうか。


上記の利点・欠点を踏まえて

エンジョイ MQL4プログラミング!!



にほんブログ村 為替ブログ FX システムトレード派へ
スポンサーサイト
東日本大震災について
東日本大震災について

東日本大震災被災地の皆様及びご家族の皆様に対し、
心よりお見舞い申し上げます。
亡くなられた方々のご冥福、一日も早い復旧を重ねてお祈り申し上げます。

弊社も一定期間業務を行えない状態でしたが、
弊社社員は皆無事で、現在は業務も再開しております。

弊社関係者様には、停止期間中、何かとご不便ご迷惑をお掛け致しまして
大変申し訳ございませんでした。

また、心配してご連絡頂いた方々へ
心より御礼申し上げます。

今後とも何卒宜しくお願い申し上げます。



にほんブログ村 為替ブログ FX システムトレード派へ
MQL5 Reference 日本語 (追記有り)
こんにちわっ!
ご無沙汰しております。

ブログの方を大分放置していました。

さてさて唐突ではございますが、
マニアなみなさんはMQL5(ファイブ)の方も少しずつ手を出し始めたりしてますか?


例によってそのリファレンスは英語でした。

なので、それをちょこちょこと日本語に翻訳していきました。

まだ全ページを翻訳したわけではありませんが、
ご利用くだされ。


MQL5 日本語リファレンス


翻訳ミスなどがあれば
こっそりかつ大胆に教えて頂けますと助かります。

宜しくお願いします!


追記 (2010.10.28.2:20)

METAQUOTES社のアジア分社(?)から、上記のMQL5 日本語リファレンスのサイトを
閉鎖するようにとの連絡がありました。

何に問題があったのかはわかりませんが、
詳細が分かり、問題が解決されるまでは
MQL5 日本語リファレンスのサイトを一時閉鎖します。



にほんブログ村 為替ブログ FX システムトレード派へ
HP移転のお知らせ
いつも大変お世話になっております。

Googolyen FX Factoryのホームページを移転しましたので
ご連絡致します。

新しいアドレスは
http://googolyenfx.com/
です。

こちら

(新)Googolyen FX Factory

ブックマーク等にご登録していらっしゃる場合は、
お手数をお掛け致しますが、変更を宜しくお願い申し上げます。


HPの内容等は
基本的に前と変わっていませんが、

ご依頼頂く際に、
「納期はどのぐらいになるのか?」
と聞かれることが多かったので、
納期目安の項目を追加しました。

あくまでも目安ですので、それよりも早い時もありますし
遅い時もありますが、ご参考にして下さいませ。


今後とも何卒宜しくお願い申し上げます。



にほんブログ村 為替ブログ FX システムトレード派へ
staticを使って健康的に
MQL4では『static』を使用することができます。
このstatic、実はとても便利なものなんです
(便利、便利じゃないの基準は色々あると思いますが、
私は便利と思ってます(笑))。



まずはstaticの使い方について少々。

以下のコードを見てください。

int start()
{
int counter, counter_s;
counter = RunningTimes();
counter_s = RunningTimes_s();
Comment(counter, ", ", counter_s);
}

int RunningTimes()
{
int count = 0;
count++;
return (count);
}

int RunningTimes_s()
{
static int count = 0;
count++;
return (count);
}


このコードを実行すると、
・counterの値はずっと1のまま
・counter_sの値は1ずつ増加する

となります。
前回この関数を呼び出した時のcount値を覚えておいて、その値に1を足している訳です。
static変数を使えば、その関数を抜けた後も、値を保持することができるのです。


値を保持する為に『グローバル変数を使っていた場面』に使えるんです。

よく見かける場面を見てみましょう。

int AllBars;
bool isNewBar()
{
bool res=false;
if (AllBars!=Bars)
{
AllBars=Bars;
res=true;
}
return(res);
}

新足が登場するとtrueを返す関数です。

この関数内で使われているAllBars変数の特徴は以下です。
・AllBars変数はグローバル領域で宣言された変数
・AllBars変数はプログラム全体の中でisNewBar()関数内でしか使われない
・AllBarsは値を保持する為に使われている

ピコーン!


staticが使えます。
そしてstaticを使えば、グローバル変数の数を1個減らすことができますね。

isNewBar()関数をstaticを使って書き換えたコードが以下になります。

bool isNewBar()
{
static int allBars = 0;
bool res=false;
if (allBars!=Bars)
{
allBars=Bars;
res=true;
}
return(res);
}


たったこれだけですが、グローバル変数を減らすことに成功しました。
これで前回記事にした、グローバル変数乱用の弊害から一つ逃れることができますね。


健康的なソースファイル作りにお役立てください。

にほんブログ村 為替ブログ FX システムトレード派へ
Designed by aykm.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。