スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 | CM(-) | --/--/--(--) --:--

MQL4で複数行を効率良く表示させるテクニック(MetaTrader 4 やる夫トレーダー)

やる夫トレーダー実行画面

やる夫トレーダー

(クリックで拡大)


MetaTrader MQL4 プログラムソース

//********************************************************************
// やる夫トレーダー Ver1.01
//                                   Copyright (c) 2007-2009, 人生解放 
//                                   http://winnerlife.blog35.fc2.com/ 
//********************************************************************

//********************************************************************
// プロパティ
//********************************************************************
#property indicator_separate_window

//********************************************************************
// 定数定義
//********************************************************************
#define INDICATOR_NAME "Yaruo"
#define STRING_ARRAY_MAX 50
#define USUAL_LINE_MAX 11

//********************************************************************
// グローバル変数(パラメータ)
//********************************************************************
extern string FontKind = "MS Pゴシック";
extern int    FontSize = 12;
extern int    FontHaba = 4;

string YaruoStr[STRING_ARRAY_MAX];

//********************************************************************
// 開始処理
//********************************************************************
int init()
{
   IndicatorShortName(INDICATOR_NAME);
   return(0);
}

//********************************************************************
// 終了処理
//********************************************************************
int deinit()
{
   ObjectsDeleteAll(0,OBJ_LABEL);

   return(0);
}

//********************************************************************
// 主処理
//********************************************************************
int start()
{
   // やる夫(通常時)を描画
   PreUsualYaruo();
   DrawUsualYaruo();

  return(0);
}

//********************************************************************
// やる夫(通常時)の文字列設定
//********************************************************************
void PreUsualYaruo()
{
   // 初期化
   ArrayInitialize(YaruoStr,STRING_ARRAY_MAX);
   int i=0;

   // 文字列設定
   YaruoStr[i] = "         ____ "; i++;
   YaruoStr[i] = "       /      \ "; i++;
   YaruoStr[i] = "      /  ─    ─\ "; i++;
   YaruoStr[i] = "    /   (●)  (●) \ "; i++;
   YaruoStr[i] = "    |       (__人__)    | "; i++;
   YaruoStr[i] = "     \      ` ⌒´   ,/ .| |          | "; i++;
   YaruoStr[i] = "    ノ           \ | |          | "; i++;
   YaruoStr[i] = "  /´                 | |          | "; i++;
   YaruoStr[i] = " |    l                | |          | "; i++;
   YaruoStr[i] = " ヽ    -一ー_~、⌒)^),-、   | |_________| "; i++;
   YaruoStr[i] = "  ヽ ____,ノγ⌒ヽ)ニニ- ̄   | |  | "; i++;

}

//********************************************************************
// やる夫(通常時)のラベル描画
//********************************************************************
void DrawUsualYaruo()
{
   for(int i=0; i < USUAL_LINE_MAX; i++)
   {
      DrawLabel("Yaruo"+i,YaruoStr[i],Black, 0,i*FontSize+i*FontHaba);
   }
}

//********************************************************************
// 描画(一行)
//********************************************************************
void DrawLabel(string Name, string Data, color Color, int X, int Y)
{
   ObjectCreate(Name,OBJ_LABEL,WindowFind(INDICATOR_NAME),0,0);
   ObjectSetText(Name,Data,FontSize,FontKind, Color);
   ObjectSet(Name,OBJPROP_XDISTANCE, X);
   ObjectSet(Name,OBJPROP_YDISTANCE, Y);
}


完全にネタですが…

MQL4では複数行の文字列表示を上手に扱うことができません。

しかし、上記のような記述形式を取れば(必要を強いられる場面はないと思いますが)、タイピングをほとんどすることなくコピペでコーディングができてしまいます。

やる夫トレーダーに関しては何か要望があれば、ネタとして楽しいインディケータを提供できればと考えています。

真面目なブログがふざけたことをするとどんな反響があるのか楽しみです。


MQL4テクニック | CM(5) | 2009/09/11(金) 15:05
お茶目な一面ありがとうございます☆
[ 2009/09/11 18:17 ]
初めまして。
MetaTraderをこれから始めようと思っています。

よければ、相互リンクをお願い致します。

[ 2009/09/12 02:36 ] [ 編集 ]
tarokitiさんへ
 どうも^^

LATTEさんへ
 相互リンクOKです。
こちらもリンク追加済みですので、ご確認宜しくお願いします。
[ 2009/09/12 06:26 ]
AA笑いました!
v-9日本初のお宅系インジケータとして海外に発信したいですね。
[ 2009/09/12 11:10 ]
MTさんへ
 海外の人には理解されないかもしれませんが、FXを楽しむという点では新しい試みかもしれません^^
[ 2009/09/13 23:25 ]
コメントの投稿
題名
名前
メールアドレス
URL
コメント
PASS
SECRET管理者にだけ表示を許可する


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。