So-net無料ブログ作成
検索選択

日中足で日足情報5 [Indicator]

前回最後と書きましたが、文字の表示方法が分かったので、日足MAの改良版を作成しました(12/6 文字表示改良)。スクリーンショット (35).png
MAも2本にしました。

スクリーンショット (36).png
Lengthで日数変更、Flagでオンオフができるようにしています。
IsPrevはfalseで当日現在値もMAの計算に含めています。
注:
分足以外のチャートではエラーが出るはずです。
100日以上の移動平均は対応していません。
チャートのデータ範囲は、大きい方の移動平均日数+数日以上が必要です。
ローソク足に重ねる場合、スケーリングは「元データに軸を合わせる」を選択してください。
使用法がわからない場合は、「日中足で日足情報」の1−4を見てください。


//--------------------------------------------------------------------
//This code is created by Tradestation Developement Enviroment ver 9.5
//Copyright (c) 2016 nari
//Released under the MIT license
//http://opensource.org/licenses/mit-license.php
//--------------------------------------------------------------------
//
//日中足(分足)チャートに2本の日足移動平均を出力します
//分足以外はエラーとなるはずです
//移動平均は100日以内限定です
//チャートのデータ範囲として、移動平均日数+αが必要です
//
//
Inputs: Length1(5), Flag1(true), Length2(25), Flag2(true), IsPrev(false);
variables: NumDays1(Length1 - 1), NumDays2(Length2 - 1), RowToAvg(4), Offset( 0 )
		, Index(0), IsNoText1(true), IsNoText2(true);
//NumDays:移動平均の日数(RS_DailyDataArray関係ないと思われる)
//RowToAvg 1:当日始値 2:当日高値 3:当日安値 4:当日終値(現在日には使用できません)

arrays: DataArray[12, 100](0), SubArray[3](0);

If IsPrev then 
begin 
	NumDays1 = Length1;
	NumDays2 = Length2;
End;

if CurrentBar = 1 or Date <> Date[1] then
Begin
Value1 = RS_DailyDataArray(1, DataArray, Index, SubArray);
If index > 0 then
	Begin
		If Flag1 and DataArray[RowToAvg, 100 - Length1 + 1] > 0 then	
			Value2 = RS_Average(RowToAvg, NumDays1, Offset, DataArray, Index);
		If Flag2 and DataArray[RowToAvg, 100 - Length2 + 1] > 0 then	
			Value4 = RS_Average(RowToAvg, NumDays2, Offset, DataArray, Index);
	End;
End;

If Flag1 and Value2 > 0 then begin
	If IsPrev then
		Value3 = Value2
	Else
		Value3 = (Value2 * (Length1 - 1) + Close)/Length1;

	Plot1(Value3, "DailyMa", Magenta, Default, 2);
	If LastBarOnChart and IsNoText1 then
	Begin
		value6 = Text_New(Date, Time, Value3, NumToStr(Length1, 0) + "dMA");
		IsNoText1 = false;
	end;
End;
If Flag2 and Value4 > 0 then begin
	If IsPrev then
		Value5 = Value4
	Else
		Value5 = (Value4 * (Length2 - 1) + Close)/Length2;

	Plot2(Value5, "DailyMa2", DarkCyan, Default, 2);
	If LastBarOnChart and IsNoText2 then
	Begin
		value7 = Text_New(Date, Time, Value5, NumToStr(Length2, 0) + "dMA");
		IsNoText2 = false;
	end;
End;


今度こそ、自動売買の練習をしよう。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この記事のトラックバックURL:

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。