easylanguage初級セミナー · スキップ語:...

31
EasyLanguage初級セミナー 2016726インディ・パ株式会社 1

Upload: others

Post on 18-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

EasyLanguage初級セミナー

2016年7月26日 インディ・パ株式会社

1

Page 2: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

セミナーに関するご留意事項

本セミナーでは、セミナーでご紹介する商品等の勧誘を行うことがあります。 マネックス証券株式会社及び説明者は、セミナー及び関連資料等の内容につき、その正確性や完全性について意見を表明し、保証するものではございません。情報、予想及び判断は有価証券の購入、売却、デリバティブ取引、その他の取引を推奨し、勧誘するものではございません。過去の実績や予想・意見は、将来の結果を保証するものではございません。 提供する情報等は作成時又は提供時現在のものであり、今後予告なしに変更・削除されることがございます。当社及び説明者はセミナー及び関連資料等の内容に依拠してお客様が取った行動の結果に対し責任を負うものではございません。 銘柄の選択、売買価格などの投資にかかる最終決定は、お客様ご自身の判断と責任でなさるようにお願いいたします。なお、セミナー及び関連資料等は当社及び情報提供元の事前の書面による了解なしに複製・配布することはできません。記載内容に関するご質問・ご照会等にはお応え致しかねますので、あらかじめご容赦ください。 マネックス証券株式会社 金融商品取引業者 関東財務局長(金商)第165号 加入協会:日本証券業協会、一般社団法人金融先物取引業協会、一般社団法人日本投資顧問業協会

2

Page 3: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

日本株取引ツール「トレードステーション」における 国内上場有価証券取引に関する重要事項

<リスク> 国内株式及び国内ETF、REIT、預託証券、受益証券発行信託の受益証券等(以下「国内株式等」)の売買では、株価等の価格の変動や発行者等の信用状況の悪化等により元本損失が生じることがあります。また、国内ETF等の売買では、裏付けとなっている資産の株式相場、債券相場、金利水準、為替相場、不動産相場、商品相場等(これらの指数を含む。)や評価額の変動により、元本損失が生じることがあります。信用取引では、元本(保証金)に比べ、取引額が最大3.3倍程度となる可能性があるため、価格、上記各指数等の変動、又は発行者の信用状況の悪化等により元本を上回る損失(元本超過損)が生じることがあります。 <保証金の額又は計算方法> 信用取引では、売買金額の30%以上かつ30万円以上の保証金が必要です。 <手数料等(税抜)> 国内株式等のインターネット売買手数料は、一日の約定金額1,000万円ごとに最大3,500円かかります。単元未満株のインターネット売買手数料は、約定金額に対し0.5%(最低手数料48円)を乗じた額がかかります。国内ETF等の売買では、保有期間に応じて信託報酬その他手数料がかかることがあります。 <その他> お取引の際は、当社ウェブサイトに掲載の「契約締結前交付書面」「上場有価証券等書面」「リスク・手数料などの重要事項に関する説明」、及び「日本株取引サービス『トレードステーション』に係るご注意事項」 (https://info.monex.co.jp/ts-support-info/information/post.html)を必ずお読みください。

3

Page 4: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

EasyLanguageとは?

トレーダーのためのプログラミング言語。

TradeStation上でインディケーターやストラテジー等を作成することを目的として設計、開発。

汎用的なプログラミング言語よりもプログラミング初学者にとって学習が容易。

長い歴史。過去の資産がたくさんある。

4

Page 5: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

EasyLanguageを学習すると出来るようになること

TradeStation上でインディケーターやストラテジー等を開発すること EasyLanguageで書かれた既存のインディケーター、ストラテジー等の変

更、改良

アルゴリズムよる自動売買

投資、裁量トレードで売買を行なうための補助ツール作成

投資、トレードを行なうためのデータの調査解析

5

Page 6: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

典型的なインディケーター例

TradeStation開発環境(TDE)で書かれた典型的なインディケーターの例

6

Page 7: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

TradeStation開発環境(TDE)

TradeStation開発環境(TDE):TradeStation上でEasyLanguage使用してイ

ンディケーターやストラテジーを作成したり編集したりするための環境

TDEはTradeStaionアプリケーション本体から独立したアプリケーションとして動作

TradeStationの[トレーディングアプリ]タブから[EasyLanguage]アイコンを選択して開く

EasyLaguageエディターとEasyLanguageでの開発作業に関連する複数の機能

7

Page 8: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

TDEの特徴

EasyLanguage エディター: EasyLanguageのプログラム作成や変更

辞書: EasyLanguageの語や関数等の参照辞典、辞書

アウトプットバー: EasyLanguageプログラムの情報を出力

EasyLanguageシンタックスのカラーリング: EasyLanguageの関数や予約語等は自動的に色が付いた文字に

自動補完入力: 入力中の文字に応じて、候補となる関数や予約語をポップアップウィンドウ内に列挙

アウトライン: ブロック単位で折りたたみ表示と展開表示

8

Page 9: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

EasyLanguageエディター

EasyLanguageエディター:既存のEasyLanguageプログラムを編集するために開いたり、新規にEasyLanguageプログラムを作成するために使用

9

Page 10: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

EasyLanguageプログラムの検証

EasyLanguageプログラムをTradeStation本体で使用できるようにするためには検証を行う必要がある

検証により、EasyLanguageの仕様に沿ったシンタックスや文法が使用されているかどうかチェック

EasyLanguageエディターのメインメニューの[構築する(B)]→[検証(V)]を選択するか、ツールバー上の検証ボタン をクリック。

検証すると、そのプログラムは自動的に保存される

10

Page 11: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

EasyLanguage辞書

予約語、関数の概要、用例等が記載

TDE側面の辞書スライドタブ、またはTDE上部のツールバーの辞書アイコン をクリックして辞書を開く

辞書は3つのペインから構成 オブジェクトペイン(左):カテゴリーを表示。上部の[Search(検索)]入力

欄に任意の語を入力して検索することもできる。 メンバーペイン(右上):同じカテゴリーに分類されている語が個別に

列挙

ディスクリプションペイン(右下):メンバーペインで語を選択すると概要と用例が表示

用例の下にあるヘルプリンクは、TradeStationのヘルプへ繋がっており、その語について更に詳細な情報を得ることができる。

11

Page 12: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

アウトプット

アウトプットバーはTDE下部のアウトプットタブにある

プログラムの検証時にシンタックスエラーがある場合、アウトプットタブにエラーの種類と箇所が表示

検証が成功してエラーがない場合には[0 エラー,0 警告]と表示

検証したインディケーターやストラテジーが既にTradeStationのチャートやレーダースクリーンに適用済みであれば、検証後に自動的に再計算される

12

Page 13: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

シンタックスのカラーリング

予約語、関数、文字列などのシンタックスはEasyLanguageの語カテゴリーの種類に応じて色分け

検証前にミススペルやシンタックスエラーが存在するかどうか目視で確認しやすくなる

EasyLanguageカテゴリー 初期設定色

属性 灰

コメント 緑

関数 紫

一般的な命令と文 黒

引用 青

予約語 青

スキップ語 緑

文字列 濃い赤

13

Page 14: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

足の概念について理解する

TradeStationは足の単位で動作する(ティック、分、日等の単位ではない)

TradeStationはまず最大参照足数を確認した後、チャートの左端の最初の足から最後の足の方向に、足ごとにEasyLanguageプログラム内の命令を上から下に実行する。

最大参照足数:インディケータやストラテジーは、計算開始前に最低限計算に必要な足の数を要求する。この要求された足の数が最大参照足数。チャート内で計算を始めるためには、チャートにこの最大参照足数より多い足が存在している必要がある

14

Page 15: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

足の持っているデータ

Open(始値)、High(高値)、Low(安値)、Close(終値)

Date(日付)、Time(時間)

Volume、Ticks、Up Ticks、Down Ticks、OpenInt 「取引出来高」、「ティックカウント」の選択により意味が異なる

15

Page 16: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

過去の足のデータ参照

参照したい予約語や変数に続けて、角括弧[ ] を書くことで過去の価格や値を参照することができる。

5足前の終値: Close[5]

12足前の値幅: High[12] – Low[12]

次も同じ結果になります (High – Low)[12]

次の結果は違う結果になる High – Low[12] 現在の足の高値から12足前の安値の値を減算。

16

Page 17: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

EasyLanguageの構成要素

EasyLanguageのプログラムは以下の要素により構成されます。

1. 語

2. 式

3. 文

4. 句読点

17

Page 18: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

EasyLanguageの語

他の言語同様EasyLanguageも語から構成される

EasyLanguageの語は以下の5つのカテゴリに分類される

1. 予約語: EasyLanguageによって事前に定義された語。Open, Close, Plot1, Buyなどがある。例えば、予約語Highは足の高値を表す。

2. 関数: 定義済みの式を呼び出す。Average, RSI, Lowest等がある。

3. ユーザ定義語: ユーザが定義した語。例えば、ユーザがInput, Variablesで定義したパラメータ、変数等。

4. スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの可読性を上げるために使用。Of, the, at等。

5. 属性:インディケータやストラテジーの動作や計算ルールを設定するために使用される語 。LegacyColorValue、IntraBarOrderGeneration 等。

18

Page 19: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

EasyLanguageの式

EasyLanguageの最も一般的な式は以下の2種類

数値式:数値の参照や計算を行う。例えば予約語Highは、ある数値を参照するのでこれは数値式でもある。Volume * 2 や、(High – Low) * .5なども数値式。

真偽式: 2つの数値を比較して真か偽かを評価する。

Close = Open 終値は始値と等しい High > High[1] 高値は1つ前の足の高値より高い Date <> Date[1] 今日の日付は1つ前の足の日付ではない

19

Page 20: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

EasyLanguageの文

EasyLanguageの一般的な文は以下の4種類

インプット宣言文

変数宣言文

変数代入文

プロット文: インディケーター用

売買文: ストラテジー用

20

Page 21: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

文の順序

一般的なガイドラインとして、文は下記の順序で書かれている必要がある

インプット宣言文

変数宣言文

変数代入文

プロット文: インディケーター用

売買文: ストラテジー用

21

Page 22: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

EasyLanguageの句読点

; セミコロン: 文の末尾に使用

( ) 丸括弧: 算術演算子利用時のグループ化に使用

, コンマ: リスト内のアイテムを区切るために使用

[ ] 角括弧: 過去の足の参照、プロット描画をずらして表示、または配列の要素参照に使用。

” 複引用符: テキストまたはラベルをくくります (例: “プロット名”)。

: コロン: 宣言部で使用。

{ } 波括弧: 中括弧の中にある記述(コメント)を無視

// ダブルスラッシュ: ダブルスラッシュの後に続く記述行(コメント行)を無視

22

Page 23: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

Plot文

インディケーターにチャート上でラインを描画させるには Plot文を使用

インディケーターのPlot文の形式: PlotN(数値式, “プロット名”); Nには1から99まで割り振る。

単純なプロット文の例: Plot1(Open, “The Open”); Plot1はこのインディケータの最初のプロットであることを表す。始値のプロットが行われる。

23

Page 24: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

算術演算子

EasyLanguageはインディケータやストラテジー等のプログラムの中で加算、減算、乗算、除算を実行できます:

加算: +

減算: -

乗算: *

除算: /

演算順序:乗算と除算は左から右、続いて、加算と減算を左から右 ただし、丸括弧の中のものから先に計算される

24

Page 25: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

インディケーターを作成してみる

EasyLanguageの文法やプログラミングの学習は省略して、今回はとりあえずインディケーターを作成してみます

現在の足の終値と5足前の終値の変化比(差)を描画するオシレーターを作成してみます

25

Page 26: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

インディケーター作成手順(1)

TradeStationを立ち上げる

プラットフォーム左側にある[トレーディングアプリ]タブをクリックして表示される[EasyLanguage]のアイコンをクリックすると、TDEが起動

TDEのメインメニューから[ファイル(F)]→[新規作成(N)]→[インディケーター(I)]

またはツールバーの新規ボタンをクリック後にドロップダウンリストからインディケーターを選択

新規のインディケーターを開き作成を開始

26

Page 27: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

インディケーター作成手順(2)

[新規インディケーター]ダイアログボックスの[名前(N)]欄に、このインディケーターの名前を入力 ここでは、名前をMyOscとします。

[OK]ボタンをクリックするとインディケーターのエディターウィンドウが空白で新規に作成されます。

27

Page 28: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

インディケーター作成手順(3)

エディターウィンドウに下記のプログラムを書き込んで、MyOsc インジケータを完成

Plot1 : 1番目の描画物

Close-Close[5] : 現在の足の終値-5本前の足の終値

“MyOsc” : プロット名

Plot2: 2番目の描画物 見やすいように0の基準線を引くだけ

28

Page 29: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

インディケーター作成手順(4)

最後に[検証]をしてプログラムの語や文法をチェック。ツールバー上の検証ボタン をクリックするか、[構築する]->[検証]を選択。

検証が成功してエラーがない場合には、アウトプットタブに[0 エラー,0 警告]と表示

シンタックスや文法に間違いがあると、アウトプットタブにエラーの発生している行とエラーの詳細が表示される。エラーの箇所を修正して再度検証

29

Page 30: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

作成したインディケーターをチャートに適用

チャートを表示させる

[挿入] -> [インディケーター]

[分析テクニックを挿入] ダイアログウィンドウで 作成したインディケーター MyOsc を選択し、[OK]を クリック

30

Page 31: EasyLanguage初級セミナー · スキップ語: 命令実行時にTradeStationに認識されない語。プログラムの 可読性を上げるために使用。Of, the, at

まとめ

EasyLanguageの簡単な紹介 トレーダーのためのプログラミング言語 EasyLanguageを学習すると出来るようになること TradeStation開発環境 EasyLanguageの概要 EasyLanguageプログラミングの例としてインディケーターのプログラミ

ンを体験

31