超初心者向けEAプログラミング入門⑤

EA
スポンサーリンク

はじめに

ここではEAプログラミング未経験者や超初心者といった方向けに、変数について説明します。

プログラムにおいて、変数は基礎なので覚えるようにしましょう。

※前回の記事はこちら

変数とは

変数とは、簡単にいうと情報を入れる箱です。

プログラムは基本的に箱で整理整頓しておくというお作法みたいなものがあります。というのも、箱が無いと物(情報)を持っておくことができないのです。

私生活の物でわかりやすく言い換えると、紙を持ち運ぶにはクリアファイル、小物を沢山持ち運ぶにはダンボール、水を持ち運びするにはバケツでとかそういった感じです。

物(情報)をFXで例えると、Ask(現在の買値)の情報やトレード回数等が情報にあたります。この情報を後で使うから取りあえず持っておきたいといった場合に変数を使います。

変数はプログラムを書くうえで必須か?と言われたら最悪無くても何とかなります。
ただ、日常生活に例えたら部屋の収納ボックスのような存在で、無かったら散らかります。物(ソースコード)が増えれば増える程どんどん散らかりますのでその点は覚えておきましょう。

なので、最初は変数の有用性が分からない場合はそれでいいと思います。変数無しで最初はどんどんプログラミングしていって、ふと何か見づらいなーと思ったら変数の事を思い出して下さい!

変数を使う

「超初心者向けEAプログラミング入門③」でも使っているプログラムをベースに、変数を使ったプログラムです。

double dNowAsk;
dNowAsk = Ask;
 
if(dNowAsk==High[1])
{
   Comment("↓:",dNowAsk );
}
else
{
   Comment("↑:",dNowAsk );
}

まず、double dNewAsk; で変数(箱)を作っています。プログラム的に言えば変数宣言です。

doubleというのは箱の種類です。dNowAskというのは箱の名前です。

【変数宣言の仕方】
double dNowAsk;
変数の種類 半角スペース 変数の名前;

※箱に何も入っていない事を明確にするため、以下ような書き方もできます(一般的にこっちの書き方のが綺麗です)が上記と内容はかわりません
double dNoeAsk = 0;

変数の種類についてですが、わかりやすく言うと水を入れるのにダンボールの箱だとダメですよという事です。ちゃんとバケツを準備する必要があります。それと同じで、変数(箱)の種類もちゃんとした種類を選ぶ必要があります。価格の値を入れたり、整数を入れたり、文字を入れたりする変数があります。 doubleは主に価格を入れるための箱の種類となります。

続いて変数の名前についてですが、これは自分で勝手につけてOKです。dNowAskは私が変数に何が入っているのかわかりやすいように名付けました。dはdoubleのdでNowは今でAskは買値です。このように、名前は自分でわかりやすいように付けてOKです。
※別にわかりにくくなりますが、 double a;のようにaでもプログラムは動きます

次に、dNowAsk = Ask; の箇所でAskの情報を作った箱に入れています。これを書く事でAskの情報を丸々dNowAsk変数にセットしています。

それ以降、前はAskと書いていた場所も全てdNowAskに書き換えています。

変数を使う利点

上記内容だと、あまりAskの情報を変数に入れた利点は見えてきませんが、例えばAskの部分がめちゃくちゃ難しい(Ask-Bid-High[2]+High[4] ※デタラメな式です)式だった場合、

if(Ask-Bid-High[2]+High[4]==High[1]) 
{
   Comment("↓:",Ask-Bid-High[2]+High[4]); 
} 
else
{
   Comment("↑:",Ask-Bid-High[2]+High[4]); 
} 

こんな風になり、非常に見づらいですが、

double dNowAsk; 
dNowAsk = Ask-Bid-High[2]+High[4]; 
 
if(dNowAsk==High[1]) 
{
   Comment("↓:",dNowAsk ); 
} 
else
{
   Comment("↑:",dNowAsk ); 
} 

変数を使うと、このようにとてもすっきり見やすいですね!dNowAskには、難しい式の答えが入っているというわけです。さらにメリットとして、式に変更があった場合も1箇所だけ(変数に入れている式の場所だけ)修正すれば済みますよね。前者の色んな所に同じ式を書いている場合、3箇所共に修正する必要があるし、全てちゃんと同じ式になっているか確認しないといけません。

変数を使う利点は、

  • プログラムを修正する場合、修正する箇所が減る
  • プログラムが見やすくなる

主にプログラムの整理です。

変数の種類

double型のほかにも、変数の種類があるので代表的な物を説明します。

変数の型内容
double価格をセット倍精度浮動小数点数
int 回数をセット整数
string文字をセット文字列
bool成か否をセットtrue又はfalse
datetime日付をセット日付型

最後に

プログラムにおいて、変数はプログラムの修正の面や整理の面において便利なのでぜひ活用するようにしましょう。

変数を全く使わず凄くわかりづらい、修正しづらいプログラムを書く事も可能ですが、これはオススメしません。

取りあえず、何でも変数を作って値を入れるというクセをつけていく事から初めていきましょう。

次回、入門⑥ではプログラミングの幅が格段に広がる、関数について書いています。

※プログラミング知識が無くてもEAが作れる!


※オンラインレッスン

コメント