• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • ホーム
  • このサイトについて
  • 著者について

戦略的な投資家

FXや株の投資戦略を追求するサイト

  • コース一覧
  • メカニカルな
    裁量トレード
  • バックテスト結果まとめ
  • システムトレード
  • 値動きの特徴
    アノマリー/時間帯
  • プライスアクション
    攻略の完全マップ
    • 初心者向けのプライスアクション講座 はじめに~目次
    • プライスアクション完全マップ【裁量トレードから自動売買まで】
    • デイトレードとスキャル
  • FX完全マップ
    • FXの予想
    • マクロファンダ
    • MT4のすべて
    • インジケーター
    • エリオット波動
    • エリオット波動完全マップ
  • 株式投資
    • 株の暴落を攻略する方法
    • コロナショックの暴落は投資チャンス【具体的な銘柄/ETF選びとタイミング】
You are here: Home / Easylanguage / EasyLanguage初心者講座③ EasyLanguageの変数を理解する

EasyLanguage初心者講座③ EasyLanguageの変数を理解する

By ロボ | 更新日 2019年6月19日

変数はプログラミングの一般的な知識ですが、EasyLanguageでは変数が更新されるタイミングや
予約語Intrabarpersistなど、独特な仕様を理解していないと戸惑うことがあります。
基礎講座③ではEasyLanguageの変数について詳しく解説していきたいと思います。

もくじ

  • 今回作成するEasyLanguageプログラム
  • 今回学習する内容
  • 解説
    • コメントとは
    • 四則演算とは
    • 変数について
      • 変数とは
      • Variable変数
      • Input変数
      • 変数が更新されるタイミング
      • 予約語:Intrabarpersist
  • まとめ

今回作成するEasyLanguageプログラム


<コード>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//Variable変数を宣言
Variable:
        hensuu1(0),
        Intrabarpersist hensuu2(0);
        
//変数をカウントアップ      
hensuu1 = hensuu1 + 1;
hensuu2 = hensuu2 + 1;
 
//変数を印刷ログに出力
Print("変数1:", hensuu1, "/変数2:", hensuu2);
 
//終値をプロット
Plot1(Close,"終値");

このコードは処理が実行されるたびに2つの変数をカウントアップして
印刷ログに出力するプログラムです。
また、処理が実行された位置がわかりやすいように終値をプロットしています。
今回はこのインジケーターを適用してEasyLanguageの変数について説明したいと思います。

今回学習する内容

  • コメントについて
  • 四則演算について
  • 変数について

変数の解説の前に、まずはコード中で使用している「コメント」と
「四則演算」について簡単に解説をします。

解説

コメントとは

コメントとは、プログラムのコード中にメモを書くための機能です。
コード中に直接メモを書いてしまうと、プログラムが動かなくなってしまうのですが、
コメント部分はプログラムのコードとしては認識されなくなるので
好きな内容を書いておくことが出来ます。
自分で書いたコードでも時間が経つと何をやっているか分からなくなることがあるので
積極的にコメントを入れることをお勧めします。

EasyLanguageでは2種類のコメントが使えます

<行コメント>

1
// 以降の行が1行だけコメントアウトされる

<ブロックコメント>

1
2
3
4
5
{
カッコで囲まれた行が
全てコメントアウトされる
 
}

※ブロックコメントのカッコは必ず閉じるようにしましょう。

また、コメントは

1
2
Plot1(Close,"終値");
//Plot2(Open,"始値");

このようにコードをコメントすることによって、その部分を実行しないように
するといった使い方も出来ます。

四則演算とは

四則演算とは、足し算・引き算・掛け算・割り算のことです。
EasyLanguageで使う演算子は以下のようになります。

  • 「*」 : 乗算(掛け算)
  • 「/」 : 除算(割り算)
  • 「+」 : 加算(足し算)
  • 「-」 : 減算(引き算)

計算の順序は一般的な算数と同じで、「カッコ()内」→「乗算・除算」→「加算・減算」の順となります。
計算結果を後述の変数に代入する場合には「=」を用いますが、変数を「=」の左側に持ってくる必要があります。

<具体例>

1
2
3
hensuu = 1 + 2 * 3;  //hensuuに7が代入される
 
hensuu = (hensuu + 3) / 2;   //変数に5が代入される

変数について

変数とは

変数とは値を保存するための名前の付いた箱のようなものです。
プログラム中で変数を使うためには、まず箱を作っておく必要があります。
この箱を作る作業のことを、変数の宣言といいます。
変数の名前は日本語でもOKですが、Closeのような予約語を
変数名にすることは出来ません。

ここではEasyLanguageで宣言できる2つの変数について説明します。

Variable変数

プログラム内で使用される一般的な変数です。

Variable : 変数名(初期値);

といった形で宣言します。
複数の変数を宣言する場合は、カンマ(,)区切りで追加してくことが出来ます。
途中で改行しても問題ありませんが、全ての変数の宣言が終わった後には
必ずセミコロン(;)を付ける必要があります。
Variableの部分を「Var」、「Vars」、「Variables」と記載しても
全く同じ意味になります。

変数名 = 値;

といった形で変数に値を代入することが出来ます。
また、EasyLanguageには事前宣言変数というものがあり、Value0~Value99という変数は
宣言しなくても使用することが出来ます。

<使用例>

1
2
3
4
5
6
7
8
Var: aaa(0), bbb(1), 日本語(5),
ddd(-5);
 
aaa = 1;
bbb = 2;
日本語 = 3;
ddd = 4;
Value2 = 5;

 

Input変数

インジケーターの設定から入力値を受け取ることが出来る変数です。

Input : 変数名(初期値);

といった形で宣言します。
複数の変数を宣言する場合は、カンマ(,)区切りで追加してくことが出来ます。
途中で改行しても問題ありませんが、全ての変数の宣言が終わった後には
必ずセミコロン(;)を付ける必要があります
Inputの部分を「Inputs」と記載しても全く同じ意味になります。
この変数にプログラム中で値を代入することは出来ません。
Input変数の値はインジケーターの入力パラメーターとして
設定できるようになります。

<使用例>

1
2
Input : aaa(0), bbb(1), 日本語(5),
ddd(-5);

変数が更新されるタイミング

EasyLanguageでは変数はローソク足が確定したタイミングで値が更新されます。
今回作成したEasyLanguageプログラムを使って詳しく解説していきます。
前回と同じように計11本(確定10本、未確定1本)のローソク足が表示されたチャートに
このインジケーターを適用してみます。

<印刷ログの出力>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
変数1:   1.00/変数2:   1.00
変数1:   2.00/変数2:   2.00
変数1:   3.00/変数2:   3.00
変数1:   4.00/変数2:   4.00
変数1:   5.00/変数2:   5.00
変数1:   6.00/変数2:   6.00
変数1:   7.00/変数2:   7.00
変数1:   8.00/変数2:   8.00
変数1:   9.00/変数2:   9.00
変数1:  10.00/変数2:  10.00 //これ以降が最後の足で実行された処理
変数1:  10.00/変数2:  11.00 //ここからはTick更新で実行された処理
変数1:  10.00/変数2:  12.00
変数1:  10.00/変数2:  13.00
変数1:  10.00/変数2:  14.00
変数1:  10.00/変数2:  15.00

今回のインジケーターは処理が実行されるたびに2つの変数をカウントアップして
印刷ログに出力するインジケーターです。
ここで変数1の値に注目して頂きたいですが、変数1は10行目以降カウントが止まっています。

先ほども記載した通り、EasyLanguageの変数は通常ローソク足が確定したタイミングで更新されます。
確定済みのローソク足で処理を実行している9回目までは変数の値が1,2,3・・・と更新されていき
9回目の処理が終わった時点で「hensuu1=9」の状態になります。
しかし、10回目以降は未確定の足での処理になるので、変数の値が更新されず「9+1」の処理が
毎回実行されている状態になっています。
確かに、過去のローソク足では処理(=変数の更新)が1回ずつしか行われないことを考えると、
このような動きになるのはとても納得がいきます。

予約語:Intrabarpersist

インジケーターによっては、Tick更新ごとに変数の値を更新したい場合があります。
そのような場合に使用するのが予約語の「Intrabarpersist」です。
hensuu2のように変数の宣言時に「Intrabarpersist」をつけると、Tickを受け取るたびに
変数の値が更新されるようになります。

 

まとめ

今回はEasyLanguageの変数について詳しく解説しました。

  • Variable変数
  • Input変数
  • 変数の更新されるタイミング

上記について理解していただければOKです。
今回は以上となります。

 

ブログランキングの1位を目指してます!

記事がお役に立てたなら↓のボタンを1回ずつクリックお願いします。

人気ブログランキング
人気ブログランキング

にほんブログ村 為替ブログ システムトレード 自作EA派へ
にほんブログ村

最後までお読みいただき、ありがとうございました。

このブログは投資やトレードのかなり深い内容をお伝えしていますので、一通り読んでいただければ、相当な力がつきます。

ただ記事数がとても多いので、全て読むのは大変かもしれません。

無料メール講座では、「現実的な聖杯」を作るために必要なノウハウや情報をメールで分かりやすく発信しております。

メール講座の読者様は全市場の季節性アノマリーチャートをプレゼントしております。

Filed Under: Easylanguage Tagged With: Easylanguage, 初心者, 変数

INDI株(自動運転テーマ株)が支持線で含み線の陽線且つ短期的な比較分析の強さ

自動運転のテーマ株に試し玉~インディ・セミコンダクター(INDI)【裁量トレードネタ】

トランプ大統領により米国の黄金時代が来る!という声も聞こえてきます。そんななか僕たち投資家は、どの銘柄が次の大きな成長を遂げるかを虎視眈々と狙ってます。 自動車産業は今、大きな変革の波に直面しており、特に自動運転技術が注 […]

米国株のバックテスト 連続上げvs連続下げ

米国株のバックテスト 連続した上昇 vs 連続した下落

米国株は、日足が連続して上昇した後に買うのが有利でしょうか?それとも連続して下げた後に買うのが有利でしょうか? S&P500採用銘柄全銘柄の過去35年間のデータを使って徹底的にバックテストしました。 結論から言うと、米国 […]

短期移動平均線のデッドクロスとゴールデンクロスの買いをバックテスト

米国株のバックテスト スイングトレードなら移動平均線のデッドクロスで買う方が勝ちやすい

米国株のバックテストの続きです。 今回は、日足の終値と短期移動平均線のゴールデンクロスとデッドクロスでの買いをバックテストしました。 通常はゴールデンクロスは買い、デッドクロスはショートのシグナルなのですが、今回はどちら […]

米国株のバックテスト X日高値安値抜けと200日移動平均線【ドンチャンチャネル】

米国株のバックテスト、今回はX日間の高値か安値を抜けたら買う。そして一定期間保有してエグジットする、というのをテストしたいと思います。 いわゆる、ドンチャンチャネルブレイクアウト手法のバックテストということになりますが、 […]

200日移動平均線の下で推移中にRSIの買われすぎと売られすぎ

米国株のバックテスト~RSIの優位性はナスダック100銘柄でも通用するか?

先日行った米国株(S&P500採用銘柄)でのRSIの買われすぎ/売られすぎの傾向は、ナスダック100採用銘柄でも同じなのかを追加でバックテストしました。 結論から言うと、ナスダック100においても、S&P […]

200日移動平均線とRSIを組み合わせてバックテスト

米国株のバックテスト RSIと200日移動平均線の組合せ

米国株をRSIを使ってバックテストする企画の続きです。今回はRSIの買われすぎと売られすぎに200日移動平均線を追加してバックテストしてみます。 まずは結論から。 200日移動平均線の上で推移している場合、RSIの売られ […]

About ロボ

株のシステムトレーダー。エクセルを使った株のサヤ取り自動売買システムが専門。

Primary Sidebar

株のスイングトレードを中心に、FXや先物もトレードします。
基本は裁量トレーダーですが、高いバックテストの能力を持っており、システムトレードの良い部分はどんどん取り入れていってます。
複数の戦略ポートフォリオを運用し、市場平均を上回るリターンを市場平均よりも小さなドローダウンで実現するのが僕の仕事です。
AmazonKindleで2冊のベストセラー電子書籍を持つ「プロになるためのデイトレード入門」「日本一即戦力なFX講座」 詳しくは...

自動売買に関する凄いブログのリスト↓

人気ブログランキング
人気ブログランキング

にほんブログ村 為替ブログ システムトレード 自作EA派へ
にほんブログ村

カテゴリー

  • AUDUSD(オージードル)予想
  • CHFJPY(スイスフラン円)予想
  • Easylanguage
  • EURJPY(ユーロ円)予想
  • EURUSD(ユーロドル)予想
  • FX
  • FX為替の予想
  • GBPJPY(ポンド円)予想
  • GBPUSD(ポンドドル)予想
  • MT4
  • NZDJPY(NZドル円)予想
  • Trend-Follow
  • USDJPY(ドル円)予想
  • XAUUSD(ゴールド)予想
  • ご質問と回答
  • アノマリー
  • インジケーター
  • エリオット波動
  • システムトレード
  • ビットコイン予想
  • ファンダメンタルズ
  • プライスアクション
  • レラティブストレングス
  • 投資
  • 日経平均
  • 株トレード
  • 株価予想
  • 株式投資
  • 現実的な聖杯
  • 移動平均線
  • 米国株
  • 自動売買

Copyright © 2019 戦略的な投資家 | 免責事項