ここからはMetaTraderでプログラミングする際、必要になる関数をいろいろと紹介していきます。
プログラミングの経験がある方も、ここからは読んでくださいね!
関数、なんだか聞き慣れない単語ですね。変数と同じように数学の時間習った記憶はあるが、何なのかよくわからない、そんな単語だと思います。
でも、安心してください。やはり「関数」も数学のそれとは意味が少し異なります。
関数を一言で説明すると、「機能」というとわかりやすいでしょう。
(そもそも「関数」も「機能」も英語"function"の訳語です)
すなわち「関数」を使うことで注文を出す(発注)といった機能を使うことができる訳です。
「機能」を自分で作ることももちろんできるのですが、それはもう少し後で触れることにします。
発注するための関数は、MetaTrader (MetaEditor)では、OrderSend()です。
前の章で以下のような行が出てきたのを思い出してください。
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,NULL,NULL,NULL,0,0,Blue);
さて、OrderSendに続くカッコ内の文字は何でしょうか?
これらは通常「引数」(ひきすう、Argument)と呼ばれ、関数のパラメータとなっています。
・・・何のことかさっぱりわかりませんね。
では想像してみてください。
OrderSend()だけが打ち込まれたとして、いったいコンピュータはどの通貨を買えばいいのでしょうか?
そもそも「買う(ロング)」のではなく、「売る(ショート)」のかも知れません。
何単位を取引するのかだって、指定しないとコンピュータはどうすることもできません。
カッコ内の文字は、そういった重要な情報をコンピュータに伝えるためのものです。
これは関数の内部で処理され、(関数に引数が渡る、といいます)コンピュータは必要な動作を行うことができます。
それでは上の例で、それぞれの引数が持つ意味を見ていきましょう。以下、各番号は引数の順番に対応しています。
下の3つ(9~11)に関しては、今は使わないですし話が難しくなるので、とりあえずそんなものがあるのか、程度に考えてください。