Protra言語のプログラムでは、さまざまな組み込み関数を利用できます。ここでは組み込み関数の詳細と@作用素との関係を説明します。
int Length(array) | 配列の長さを返します。 |
---|
float Exp(float) | eの累乗を返します。 |
---|---|
float Log(float) | 自然対数を返します。 |
float Sqrt(float) | 平方根を返します。 |
float Sin(float) | サインを返します。 |
float Cos(float) | コサインを返します。 |
float Tan(float) | タンジェントを返します。 |
float Asin(float) | アークサインを返します。 |
float Acos(float) | アークコサインを返します。 |
float Atan(float) | アークタンジェントを返します。 |
float Pow(float, float) | 最初の数を2番目の数で累乗した値を返します。 |
float Random() | 0.0以上1.0未満の浮動小数点の乱数を返します。 |
int Random(int max) | 0以上max未満の整数の乱数を返します。 |
int Open | 始値を返します。 |
---|---|
int High | 高値を返します。 |
int Low | 安値を返します。 |
int Close | 終値を返します。 |
float Volume | 出来高を1000で割ったものを返します。 |
int Index | 最も古い株価データの営業日から何営業日目かを返します。 |
int RightIndex | チャートの右端のIndexを返します(Protra)。 最新の株価データのIndexを返します(PtSim)。 |
対象となる日付と銘柄は、ProtraかPtSimによって暗黙的に指定されます。指定された日付と銘柄を変更するには@作用素を使います。日付はint型@作用素で指定した値の営業日だけ前後にずらせます。銘柄はstring型@作用素で証券コードで指定できます。
株価データが存在しない日付や銘柄を指定すると、組み込み関数はnullを返します。int型@作用素で古すぎる日付や未来の日付を指定した場合や、string型@作用素でまだ上場していない銘柄や、存在しない銘柄を指定した場合が該当します。
Indexはint型@作用素の値を加えた値を返します。RightIndexはint型@作用素の影響を受けません。string型@作用素をIndexやRightIndexに指定すると、その銘柄のIndexやRightIndexの値が返ります。IndexとRightIndexの値は各銘柄の上場日に依存するので、銘柄によって異なる場合があります。
string Code | 証券コードを返します。 |
---|---|
string Market | 市場コードを返します。"T1"が東証1部、"T2"が東証2部、"M"がマザーズ、"J"がJasdaqです。 |
int Unit | 単元数を返します。不明の場合は0です。 |
これらの組み込み関数の対象となる銘柄は、ProtraかPtSimによって暗黙的に指定されます。変更するときはstring型@作用素を使います。
int Year | 年を返します。 |
---|---|
int Month | 月を返します。 |
int Day | 日を返します。 |
int DayOfWeek | 曜日を返します。月曜から金曜を1から5で返します。 |
これらの組み込み関数の対象となる日付は、ProtraかPtSimによって暗黙的に指定されます。変更したいときはint型@作用素を使います。
Protraでチャートの描画に使う組み込み関数です。
int X | 描画すべきx座標を返します。 |
---|---|
int Dx | チャートの1日分の幅を返します。 |
int Rgb | 赤、緑、青の明度から求めた色を表す整数を返します。 明度は0~255の整数です |
null DrawLine(int rgb, float x1, float y1, float x2, float y2) | |
座標(x1, y1)から(x2, y2)へ色rgbの直線を描画します。 | |
null DrawRectangle(int rgb, float x1, float y1, float x2, float y2) | |
座標(x, y)が左下で幅w、高さhの色rgbの矩形を描画します。 高さが負の場合は座標(x, y)が左上で下方に矩形を描画します | |
null DrawEllipse(int rgb, float x, float y, float w, float h) | |
矩形に内接する楕円を描画します。 | |
null DrawString(int rgb, string s, float x, float y, int dh) | |
座標(x, y)のdhポイント上に色rgbの文字列sを描画します。 最初の引数を省略すると黒で描画します。 | |
null FillRectangle(int rgb, float x, float y, float w, float h) | |
矩形内部を塗りつぶします。 | |
null FillEllipse(int rgb, float x, float y, float w, float h) | |
矩形に内接する楕円を塗りつぶします。 | |
null Indicator(int i, float v) | |
チャートに表示する指標$Name[i] の値としてvを登録します。 |
{i}X
のようにint型@作用素をXに用いると、前後の営業日のx座標であるX + Dx * i
が返ります。int型@作用素をIndicatorに用いると、前後の営業日の指標の値を登録できます。ほかの関数は@作用素の影響を受けません。
PtSimで売買の指示に使う組み込み関数です。
null Buy(int price, int num) | price円でnum株買います。 |
---|---|
null Sell(int price, int num) | price円でnum株売ります。 |
売買の対象となる日付と銘柄はPtSimによって暗黙的に指定されます。銘柄を変更するときはstring型@作用素で証券コードを指定します。日付をint型作用素でずらすことも一応できますが、間違いが起きやすいのでお勧めできません。