■超直感!MT4プログラミング講座■ 第8回 スクリプトを使ってみよう!

スポンサーリンク

こんばんは!キリンです。
昨日の動画を上げてから気づいたのですが、
おそらく、昨日の動画で私の話で何をいっているのか伝わっていない方が
多いのではないかなと思いました。
もうちょっと基礎的なところをしっかり説明していかないといけないと
痛感した次第です。


第8回 スクリプトを使ってみよう!

一番最初からインディケーター作るのは難しかったかもしれません。
まずは簡単なプログラムを作ってみましょう。
みなさんスクリプトってご存知でしょうか?
一言で言えば、
「プログラムを一度だけ動作させる」
ものになります。
MT4では、指定した発注を行ったり、全ポジションを決済させたりする動作ができます。
今回はそういった作業ではなく、
「文字を表示させる」
というプログラム上最も基本的な動作をさせようと思います。
では、さっそくスプリクトを作ってみましょう。
まずはスプリクトの基本構造の呼び出しから。
Trading Systems ~経済的自由を得るために~
メタエディターを起動して、[ File ] ⇒ [ New ]を選択します。
Trading Systems ~経済的自由を得るために~
「Script」にチェックを入れて、「次へ」を選択します。
Trading Systems ~経済的自由を得るために~
名前の部分に「test」と入力して、「完了」を押します。
Trading Systems ~経済的自由を得るために~
この作業でスプリクトの基本構成が作成できます。
そして、start()の{}のなかに「 Print(“test”); 」と入力します。
Trading Systems ~経済的自由を得るために~
・Print(string comment)
 ()のなかに与えた文字列の引数をmt4のターミナルのexpert欄に履歴として表示させるものです。
さっそく実際に動かしてみましょう。
Trading Systems ~経済的自由を得るために~
メタトレーダーのナビゲーターの「Script」を選択します。
Trading Systems ~経済的自由を得るために~
そのなかで「test」をダブルクリックします。
すると、先ほど作成したtestのスプリクトが動作します。
動作の確認は、「ターミナル」の「expert」で可能です。
$Trading Systems ~経済的自由を得るために~
下から、スプリクトの実行履歴になります。
2010.05.07 00:03:45 test USDJPY,Daily: loaded successfully
スプリクトプログラムのロードが完了したという意味です。。
2010.05.07 00:03:45 test USDJPY,Daily: test
Print(“test”);
が実行されて、testという文字が出てきました。
2010.05.07 00:03:45 test USDJPY,Daily: uninit reason 0
スプリクトの動作が終了して、戻り値の0が出力されました
2010.05.07 00:03:45 test USDJPY,Daily: removed
スプリクトが終了したので取り除きました。
という動作になります。
Printの括弧のなかを置き換えて
Print(“test 2”);
とすると、
2010.05.07 00:03:45 test USDJPY,Daily: test 2
と表示されます。
色々試してみてくださいね!
今日で初めてプログラムを作成できたって方が多いと嬉しいですね♪
まだMetaEditor上での日本語の入力の方法を説明していなかったので、
次回はその方法のお話をさせていただこうと思います!
ちょっと路線変更しちゃいましたが、
混乱を招かなければいいなと思います。
分かりやすく!をモットーに頑張っていきますので、
今後ともよろしくお願いします!
ではでは~♪
最後までお読みくださりまして、ありがとうございます。

コメント

  1. junky より:

    SECRET: 0
    PASS:
    ちょっとバタバタしてて、動画を見てませんでした。
    先になるかもしれませんが、必ずここでマスターしたいとおもってますので、よろしくお願いします。
    自分としては、それぞれの行のコマンドの意味することがわかればいいなあと・・・

  2. SECRET: 0
    PASS:
    >junkyさん
    お言葉、ありがとうございます!
    ご期待に沿えるよう頑張ります。
    各行がどういう働きをしているかですよね。
    それを説明していければと思います^^

  3. junky より:

    SECRET: 0
    PASS:
    チャート画面上に表示できないでしょうか?
    これが出来るとプログラムの面白さがわかるんじゃないかと思うんですが・・・(笑)
    perlの本も最初はHello world.を表示させることでしたよ~~~

  4. SECRET: 0
    PASS:
    >junkyさん
    チャート上に表示させることはできますね!
    近いうちにオーダーができるスプリクトを作成予定です。
    それができると面白いと思います。
    お楽しみに!

  5. junky より:

    SECRET: 0
    PASS:
    indicatorで、この Print("test"); を挿入、コンパイルして、チャート画面にドラッグしたのですがtestの文字が表示されません・・・
    たびたび脱線して申し訳ありませんが、ご教授いただけませんでしょうか?

  6. SECRET: 0
    PASS:
    >junkyさん
    Printはチャート上に表示されません。
    expertログ上には表示されていると思うのですがいかがでしょうか?
    チャート上への表示はComment()です。
    また、インディケーターはstart部に毎度処理が変わるものがないと、自動で取り除かれてしまうようです。
    上記の内容で回答になっていますでしょうか。
    ご不明な点がありましたら、ご質問いただければと思います。
    コメントありがとうございます!

  7. icecream より:

    はじめまして
    つい数日前にMT4の存在を知っていれてみたのですがいじりかたがさっぱりわからなくてここで勉強させてもらいはじめました。
    本文中にある手順に従ってtestファイルを作成したつもりなのですがMT4の方には
    http://gyazo.com/98992c82191147e8186b386f4413db56

    このような感じでtestというアイコンが存在しません。
    その他165個の中にもないようなのですが
    どこにあると考えられますでしょうか?

タイトルとURLをコピーしました