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

戦略的な投資家

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

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

EasyLanguage初心者講座⑥ ループ処理(For/While)ついて理解する

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

今回はEasylanguageのループ処理(For/While)について解説します。
ループ処理は前回の条件分岐処理と並んでよく使う処理なので、ぜひマスターしてください。

もくじ

  • 今回作成するEasylanguageプログラム
  • 今回学習する内容
  • 解説
    • ループ処理とは
    • ループ処理(For)について
    • ループ処理(While)について
  • コードの説明
  • まとめ

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

<コード>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//Input変数を宣言
Input:
kikan(25);
//Variable変数を宣言
Variable:
heikin(0),
goukei(0),
count(0);
 
//指定した期間の終値の合計値を計算
goukei = 0;
For count = 0 to kikan - 1 begin
goukei = goukei + Close[count];
end;
 
//平均値を計算
heikin = goukei/kikan;
 
//平均線の傾きに応じてプロットの色を設定
If heikin > heikin[1] then begin
SetPlotColor(1, Red);
End;
If heikin < heikin[1] then begin
SetPlotColor(1, Cyan);
End;
 
//移動平均をプロット
Plot1(heikin,"移動平均");

インジケーターを作成する際はスケール位置の変更を実施してください。
前回と同じ傾きによって色を変える移動平均線インジケーターですが
今回は組み込み関数を使わず、ループ処理を使って平均線の値を計算しています。

今回学習する内容

  • ループ処理とは
  • ループ処理(For)について
  • ループ処理(While)について

解説

ループ処理とは

ループ処理とは特定の条件の間、特定の処理を繰り返すための仕組みです。
ここではEasyLanguagの2つのループ処理(For/While)について解説します。

ループ処理(For)について

ループ処理(For)とは特定の処理を特定の回数繰り返すための仕組みです。
決まった回数だけ処理を実行する場合はForを使のが便利です。

For  変数(カウント用)  = 開始値  To  終了値  Begin
実行する処理
End;

変数の開始値を「1」、終了値を「5」に設定した場合、ループするたびに
変数の値が1、2、3・・・と1ずつ加算されながら処理が繰り返され、変数の値が
5になるとループが終了します。(処理は計5回実行されます)
Toの部分をDownToにすることで、変数を1ずつ減算することが出来ます。
また、Breakを使うことでループをカウントの途中でループを終了することが出来ます。

<使用例1>

1
2
3
4
5
6
7
8
9
Variable:
count(0),
goukei(0);
 
goukei = 0;
//現在値(Close[0])から順に9本前の終値(Close[9])まで計10本分の終値合計を計算
For count = 0 to 9 begin
goukei = goukei + Close[count];
End;

※変数(count)を加算しながらループします

<使用例2>

1
2
3
4
5
6
7
8
9
Variable:
count(0),
goukei(0);
 
goukei = 0;
//9本前の終値(Close[9])から順に現在値(Close[0])まで計10本分の終値合計を計算
For count = 9 Downto 9 begin
goukei = goukei + Close[count];
End;

※変数(count)を減算しながらループします

<使用例3>

1
2
3
4
5
6
7
8
9
10
11
Variable:
count(0),
goukei(0);
 
goukei = 0;
For count = 0 to 9 begin
goukei = goukei + Close[count];
If count = 4 then begin
Break; //count=4になった時点でループを終了
End;
End;

※カウントが4になった時点でループを終了します

ループ処理(While)について

ループ処理(While)とは特定の条件の間、特定の処理を繰り返すための仕組みです。
条件を指定する場合、必ず終了するような条件を指定しないとプログラムが無限ループしてしまいます。
カウント用の変数を用いて条件を指定する場合、変数の加算・減算処理はWhileの中に記載する必要があります。
Forと同様で、Breakを使うことでループを終了することが出来ます。

while  条件  Begin
実行する処理
End;

<使用例1>

1
2
3
4
5
Value1 = 5;  //カウント用の変数
While  Value1 > 0 Begin
Print(Value1);
Value1 = Value1 - 1;   //カウント用の変数を減算
End;

※Value1の値が0より大きい間だけ処理を続けます。
上記のコードでは5回の処理が実行されます。

 

コードの説明

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

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

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

5
6
7
8
9
//Variable変数を宣言
Variable:
heikin(0),
goukei(0),
count(0);

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

11
12
13
14
15
//指定した期間の終値の合計値を計算
goukei = 0;
For count = 0 to kikan - 1 begin
goukei = goukei + Close[count];
end;

パラメーターで指定された期間の終値の合計値を計算しています。
ループ処理の中でローソク足を指定期間分遡って終値を足し合わせています。
12行目ですが、変数には前回の実行結果が残っているので必ず「0」を代入しなおす必要があります。
このあたりの動きがわかりづらい人は、初心者講座②と初心者講座③を読んでみてください。

17
18
//平均値を計算
heikin = goukei/kikan;

合計値を期間で割って平均値を計算し、結果を変数(heikin)に代入しています。

20
21
22
23
24
25
26
//平均線の傾きに応じてプロットの色を設定
If heikin > heikin[1] then begin
SetPlotColor(1, Red);
End;
If heikin < heikin[1] then begin
SetPlotColor(1, Cyan);
End;

平均線の傾きに応じてプロットの色を設定しています。

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

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

まとめ

今回はEasyLanguageのループ処理について解説しました。
ループ処理自体はそれほど難しくはないと思いますが、コード中でループ処理を使うと
インジケーター動きと合わさって2重ループのような状態になるので
インジケーターの動きをしっかり理解していないと混乱してしまいます。

インジケーターの動きは初心者講座②で詳しく解説していますので、
まだ読まれてない方は、ぜひ一度目を通してみてください。

今回の内容は以上となります。

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

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

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

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

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

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

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

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

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

Filed Under: Easylanguage Tagged With: Easylanguage, For, While, ループ

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