//==================================================
// LDS2.pt
//--------------------------------------------------
// このシステムのルール
//
// 1. 保有株がない状態のとき
//    ・20日間移動平均との乖離率が-25%を下回った。
//    ・終値が50円以上である。
//    ・出来高が10万以上である。
//    以上が満たされた場合約100万円分を終値で買う。
//
// 2. 保有株がある状態のとき
//    ・終値が20日間+σを上回った。
//    ・終値が買値の50%を下回った。
//    以上のうち1つでも満たされた場合保有株をすべて売る。
//--------------------------------------------------
// written by darai, 2003/10/19
//==================================================
#include <TIlib>

if ! $BB
	$BB = BB_new(20)
else
	BB_next($BB)
end

def Cond1
	if ! Close
		return
	end
	ma = BB_value($BB)
	if ! ma
		return
	end
	r = 100*(Close - ma)/ma
	return r < -25 && Close >= 50 && Volume >= 100
end

def Cond2
	if ! Close
		return
	end
	ma = BB_value($BB)
	sigma = BB_deviation($BB)
	if ma && sigma
		if Close > ma + sigma
			return 1
		end
	end
	return Close < 0.5*$buy
end

def Num(price)
	num = 1000000/price
	if num >= 1000
		num = (num/1000)*1000
	elsif num >= 100
		num = (num/100)*100
	elsif num == 0
		num = 1
	end
	return num
end

if ! $hold && Cond1
	$hold = Num(Close)
	$buy = Close
	Buy(Close, $hold)
elsif $hold && Cond2
	Sell(Close, $hold)
	$hold = 0
end
