[Protra-users 41] @作用素の使い方について

Back to archive index

す〜さん vast-****@kcf*****
2007年 11月 25日 (日) 12:42:27 JST


panacoranさんへ
t_sugaです。

描画されたラインチャートを見た場合、
添付のマクロですと正しいように思えるのですが、
ロジック的に考えると、正しい動作に見えない気もしないでもありません。
@作用素の使い方としては、正しい使い方なのでしょうか?

先行ラインと遅行ラインの20行〜22行を
	obj[2] = 0                              // @作用素変数の初期値を設定
	OwarineLine_next(obj)                   // ローソク足1本目の終値を取得
	obj[2] = at

下記のように変更した場合正しく描画されない
	obj[2] = at                              // @作用素変数の初期値を設定
	OwarineLine_next(obj)                    // ローソク足1本目の終値を取得





#include <Color>
#include <TIlib>

$Names[0] = "終値5日先行ライン"
$Colors[0] = $DeepPink

// *********************************************
// *********************************************

//            『終値5日先行ライン』

// *********************************************
// *********************************************

def OwarineLine_new()
	obj=[4]
	obj[0] = null                           // 当日の終値
	obj[1] = null                           // 前日の終値

	obj[2] = 0                              // @作用素変数の初期値を設定
	OwarineLine_next(obj)                   // ローソク足1本目の終値を取得
	obj[2] = at

	return obj
end

def OwarineLine_next(obj)
	obj[1] = obj[0]                         // 前日に当日を退避
	obj[0] = {obj[2]}Close()                // 新しく当日を取込む
end

def OwarineLine_draw(obj, color)
	// 終値ラインの描画処理
	if obj[1] && obj[0]                               // 終値が有るなら
		DrawLine(color,2, {-1}X, obj[1], X, obj[0])   // 終値の描画(終値_newのobj)
	end
end

//Candle_draw($DarkOrange, $SlateBlue)

if ! $OL
    $OL = {-5}OwarineLine_new()
else
    OwarineLine_next($OL)
    OwarineLine_draw($OL, $Colors[0])
end






#include <Color>
#include <TIlib>

$Names[0] = "終値5日遅行ライン"
$Colors[0] = $Lime

// *********************************************
// *********************************************

//            『終値5日遅行ライン』

// *********************************************
// *********************************************

def OwarineLine_new()
	obj=[4]
	obj[0] = null                           // 当日の終値
	obj[1] = null                           // 前日の終値

	obj[2] = 0                              // @作用素変数の初期値を設定
	OwarineLine_next(obj)                   // ローソク足1本目の終値を取得
	obj[2] = at

	return obj
end

def OwarineLine_next(obj)
	obj[1] = obj[0]                         // 前日に当日を退避
	obj[0] = {obj[2]}Close()                // 新しく当日を取込む
end

def OwarineLine_draw(obj, color)
	// 終値ラインの描画処理
	if obj[1] && obj[0]                               // 終値が有るなら
		DrawLine(color,2, {-1}X, obj[1], X, obj[0])   // 終値の描画(終値_newのobj)
	end
end

//Candle_draw($DarkOrange, $SlateBlue)

if ! $OL
    $OL = {5}OwarineLine_new()
else
    OwarineLine_next($OL)
    OwarineLine_draw($OL, $Colors[0])
end




Protra-users メーリングリストの案内
Back to archive index