2014iCustom()関数を使ってEAをつくるコツiCustom()関数を利用して、既存のインジケーターから必要なデータを取得して、EAなどを作成できることはよく知られています。ネット上で公開されている「BandsMA」というインジケーターからデータを取得する場合を例にしましょう。配列を宣言している場所をみつけて、その順番を確認します。上の例でいうと、MovingBuffer[]=0番目の配列UpperBuffer[]=1番目の配列LowerBuffer[]=2番目の配列ということが分かります。次に、上のような複雑なスタート関数内のプログラムを解析して、どの配列がどのグラフに対応しているかを調べます。上のプログラムを解析すると、どうやら、1番目の配列が一番上のグラフに対応し、2番目の配列が一番の下のグラフに対応していることがわかります(このファイルの場合には配列の名称からだけでもこのことは推測できますが...)。してはじめて、EA上に、iCustom()関数を使って、データを呼び出すことができます。上の例でいうと、BB_Upという変数には、「BandsMA」の1番目の配列の0番目のバー上の値が、BB_Lwという変数には、「BandsMA」の2番目の配列の0番目のバー上の値が、それぞれ代入されています。~し、このやり方は、いかにも面倒くさいし、そもそも、MQLファイルが入手できず、EXファイルしか手元にない場合には、どうしたらいいんでしょう。私がよく使うのは、以下のようなやり方です。上のようなインジケーターをあらかじめ用意しておき、名前を「test(iCustom)」とでもしておきます。この「test(iCustom)」をチャートに表示させます。すると、チャート左上に、「BandsMA」の0番目の配列の0番目のバー上の値が出ます。次に、チャート上の0番目のバー上のグラフに一つずつマウスポインタをあてて、それぞれの値をチェックします。上の画像を見ると、真ん中のグラフの値が先ほどのチャート左上の数値と一致しているので、真ん中のグラフが0番目の配列に対応していることが一発でわかります。あとは、「test(iCustom)」の外部パラメーターを変えながら、すべての配列とグラフの対応関係を調べればいいだけです。このやり方なら、元々のインジケーターのプログラムソースなど見る必要なんて一切ありません。11:10)本当に「頭にくるほど」簡単ですね。私にとってはコロンブスの卵です。プロの方にとっては常套手段なのでしょうか。14:38)>EA太郎さん私も当初は元々のインジケーターのソースを解析してやってました。ご承知のように、プログラムというのは、自分で作るより他人のソースを解析する方が難しいですよね。あるとき、非常に複雑なインジケーターからデータを取る必要があり、困り果てていたところ、苦し紛れに思いついた方法なんです。^^;他の業者さんはどうしてるか分かりませんが、とある業者さんのサイトを覗いてみたら、iCustom()関数の使い方を解説する中で、元々のインジケーターのソース解析を熱心にやっていたので、「あらまぁ~」と思い、今回記事にしてみました。10:46)>asdfさんありがとうございます。http://goo.gl/LoUyV3もぜひご覧ください。12:40)>田中さんはい、インジケーターはチャートに表示する必要はありません。「ファイル」→「データフォルダを開く」→「MQL4」→「Indicators」の中にそのインジケーターが入っている必要はあります。できますか?上記のtest(iCustom)を作りやってみましたが、表示されません。できないインジケータもあると聞いたことがあります。できないのでしょうか?教えていただけますか?宜しくお願いします。17:28)>mimiさんインジケーターによっては、このやり方でデータを抽出できないものもあります。詳しいことは、そのインジケーターを調べないと分かりませんが、調べてもわからないこともあります。インジケーター作成代行を承ります。編集Jimdoあなたもジンドゥーで無料ホームページを。