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

戦略的な投資家

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

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

EasyLanguage初心者講座⑤ 条件分岐(If/Switch)について理解する

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

今回はEasyLanguageの2種類の条件分岐(If/Switch)について解説します。
条件分岐処理は最もよく使う処理の1つなので、ぜひマスターしてください。

もくじ

  • 今回作成するEasyLanguageプログラム
  • 今回学習する内容
  • 解説
    • インデント(字下げ)について
    • 条件分岐処理(If)について
    • 複数条件分岐処理(Switch)について
  • コードの説明
  • まとめ

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

<コード>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//Input変数を宣言
Input:
kikan(25);
//Variable変数を宣言
Variable:
heikin(0);
 
//指定した期間の終値の移動平均を取得
heikin = Average(Close,kikan);
 
//平均線の傾きに応じてプロットの色を設定
If heikin > heikin[1] then begin
SetPlotColor(1, Red);
End;
If heikin < heikin[1] then begin
SetPlotColor(1, Cyan);
End;
 
//移動平均をプロット
Plot1(heikin,"移動平均");

今回作成するのは傾きによって色を変える移動平均線インジケーターです。
インジケーターを作成する際はスケール位置の変更を実施してください。

今回学習する内容

  • インデント(字下げ)について
  • 条件分岐処理(If)について
  • 複数条件分岐処理(Switch)について

解説

インデント(字下げ)について

インデントとはその名の通り字下げ機能のことです。
コード編集領域で「Tab」キーを押すことでインデントを行うことが出来ます。
後述のIfやSwitchの配下の処理をインデントするといった使い方とします。
インデントはコード見やすくするための機能で、必ずしなければいけないという訳ではありません。
「Tab」キーで何文字分インデントするかは、TradeStation開発環境の
「ツール」→「オプション」→「一般」の「タブストップ/インデントサイズ」
で設定することが出来ます。

条件分岐処理(If)について

条件分岐処理(If)とは、指定した条件によって、処理を分けることが出来る仕組みです。
使い方は以下のようになります。

If 条件① Then Begin
  条件①に合致した時に実行するコード
End
Else Begin

  条件①に合致しないときに実行するコード
End
;

条件分岐に使える関係演算子は以下のようになります。

  • 「>」     : より大きい
  • 「<」     : より小さい
  • 「=」     : 等しい
  • 「」    : 等しくない
  • 「>=」    : より大きいか等しい
  • 「」    : より小さいか等しい
  • 「Crosses over」    : 現在の足ではより大きいが、前の足ではより小さいか等しい
  • 「Crosses under」    : 現在の足ではより小さいが、前の足ではより大きいか等しい

また論理演算子は以下となります

  • 「And」    : 複数の条件をアンドで結合します
  • 「Or」    : 複数の条件をOr条件で結合します

 

<使用例1>

1
If Close > Open then Plot1(Close,"終値");  //陽線の時だけ終値をプロット

※上記のように1行で記載することが出来ます。その場合、beginとEndは不要になります。

<使用例2>

1
2
3
If Close > Open And Close = High then begin
Plot1(Close,"終値"); //陽線でかつ上髭がない時だけ終値をプロット
End;

※上記のように複数の条件を組み合わせて使用することが出来ます。

<使用例3>

1
2
3
4
5
6
7
8
9
If Close > Open then begin
Plot1(Close,"陽線"); //陽線の時はプロット1に終値をプロット
End
Else If Close < Open then begin
Plot2(Close,"陰線"); //陰線の時はプロット2に終値をプロット
End
Else If Close = Open then begin
Plot3(Close,"同時線");//同時線の時はプロット3に終値をプロット
End;

※上記のように複数パターンに条件分岐することが出来ます。

複数条件分岐処理(Switch)について

複数条件分岐処理(Switch)は複数の条件に処理を分けることが出来る仕組みです。
IFを組み合わせれば複数条件に分岐することが出来ますが、
条件が多い場合はSwitchを使った方がすっきりと記載することが出来ます。
使い方は以下のようになります。

Switch (①判定する値) Begin
Case ②条件:
②条件に合致した時に実行するコード

Default:

   ②条件に合致しないときに実行するコード
End
;

<使用例1>

1
2
3
4
5
6
7
8
9
10
11
12
13
Value1 = 5;
 
Switch(Value1) Begin
Case 1 to 3: //1-3のとき
Print("条件1");
 
Case 4, 7:  //4,7のとき
Print("条件2");
 
Default:    //上記以外のとき
Print("条件3");
End;

※上記のようにValue1の値によって複数条件に分岐することが出来ます。

コードの説明

今回作成したインジケーターのコードの解説です。

1
2
3
//Input変数を宣言
Input:
kikan(25);

期間をパラメーターとして入力できるようにInput変数を宣言しています。
カッコ内で指定した値(25)が初期値(デフォルト値)となります。

5
6
7
//Variable変数を宣言
Variable:
heikin(0);

プログラム中の計算結果を保存するための変数を宣言しています。

9
10
//指定した期間の終値の移動平均を取得
heikin = Average(Close,kikan);

パラメーターで指定された期間の終値の平均値を変数(heikin)に代入しています。

12
13
14
15
16
17
18
//平均線の傾きに応じてプロットの色を設定
If heikin > heikin[1] then begin
SetPlotColor(1, Red);
End;
If heikin < heikin[1] then begin
SetPlotColor(1, Cyan);
End;

平均線の傾きに応じてプロットの色を設定しています。
予約語SetPlotColorは以下のように使います。

SetPlotColor(プロットの番号,  色);

今回は「Plot1」の色を変更するので、プロットの番号には「1」を指定します。

20
21
//移動平均をプロット
Plot1(heikin,"移動平均");

移動平均をプロットしています。

まとめ

今回はEasyLanguageの2つの条件分岐処理について解説しました。
If文を組み合わせて使えば、Switch文と同じことが実現できるので
まずはIf文を使いこなせるようになるのが良いと思います。

条件分岐処理が使いこなせるようになれば、「インジケーターを使って
特定の条件に合致する銘柄を探す」といったことが簡単に出来るようになるので
ぜひマスターしてください。
今回の内容は以上となります。

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

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

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

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

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

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

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

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

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

Filed Under: Easylanguage Tagged With: Easylanguage, IF, Switch, 条件分岐

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 戦略的な投資家 | 免責事項