예스스탁
예스스탁 답변
2024-01-23 08:51:29
안녕하세요
예스스탁입니다.
trend변수 초기값이 잘못지정되어 있었습니다.
input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true);
var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1), upv1(0), dnv1(0);
var : sumTR(0),TH(0),TL(0),cnt(0);
var : preupv(0),prednv(0),trend1(1);
src = (DayHigh+DayLow)/2;
sumTR = 0;
for cnt = 0 to Periods-1
{
If DayClose(cnt+1) > DayHigh(cnt) then
TH = DayClose(cnt+1);
else
TH = DayHigh(cnt);
If DayClose(cnt+1) < daylow(cnt) then
TL = DayClose(cnt+1);
else
TL = daylow(cnt);
sumTR = sumTR + (TH-TL);
}
ATR2 = sumTR/Periods;
atrv = iff(changeATR, atr2, atr2);
if Bdate != Bdate[1] Then
{
preupv = upv[1];
prednv = dnv[1];
trend1 = trend[1];
}
upv = src-(Multiplier*atrv);
upv = iff(DayClose(1) > preupv,max(upv,preupv), upv);
upv1 = (DayOpen() - upv) + DayOpen();
dnv = src+(Multiplier*atrv);
dnv = iff(DayClose(1) < prednv,min(dnv, prednv), dnv);
dnv1 = (DayOpen() - dnv) + DayOpen();
trend = iff(trend1 == -1 and close > prednv , 1 ,IFf(trend1 == 1 and close < preupv, -1 , trend1));
if trend == 1 Then
plot1(upv,"Trend",REd);
Else
plot1(dnv,"Trend",BLACk);
즐거운 하루되세요
> 러블리 님이 쓴 글입니다.
> 제목 : 재문의드립니다
> input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true);
var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1), TL(0),upv1(0), dnv1(0);
src = (h+l)/2;
atr2 = ma(TrueRange, Periods);
atrv = iff(changeATR, atr(Periods), atr2);
upv = src-(Multiplier*atrv);
upv = iff(close[1] > upv[1],max(upv,upv[1]), upv);
upv1 = (DayOpen() - upv) + DayOpen();
dnv = src+(Multiplier*atrv);
dnv = iff(close[1] < dnv[1],min(dnv, dnv[1]), dnv);
dnv1 = (DayOpen() - dnv) + DayOpen();
trend = iff(trend == -1 and close > dnv[1] , 1 ,IFf(trend == 1 and close < upv[1] , -1 , trend));
if trend == 1 Then
plot1(upv,"Trend",REd);
Else
plot1(dnv,"Trend",BLACk);
-----------------------------------
위수식 일봉용을 분봉에 적용해서 보고싶습니다
일봉수식 데이타가 분봉에 표시되게..
----------------------------------------
아래수식은 답변주신 수식인데요 분봉차트에 적용하니까
upv-->dnv 또는 dnv--> upv로 스위치가 안일어납니다
안녕하세요
예스스탁입니다.
input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true);
var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1), upv1(0), dnv1(0);
var : sumTR(0),TH(0),TL(0),cnt(0);
var : preupv(0),prednv(0),trend1(0);
src = (DayHigh+DayLow)/2;
sumTR = 0;
for cnt = 0 to Periods-1
{
If DayClose(cnt+1) > DayHigh(cnt) then
TH = DayClose(cnt+1);
else
TH = DayHigh(cnt);
If DayClose(cnt+1) < daylow(cnt) then
TL = DayClose(cnt+1);
else
TL = daylow(cnt);
sumTR = sumTR + (TH-TL);
}
ATR2 = sumTR/Periods;
atrv = iff(changeATR, atr2, atr2);
if Bdate != Bdate[1] Then
{
preupv = upv[1];
prednv = dnv[1];
trend1 = trend[1];
}
upv = src-(Multiplier*atrv);
upv = iff(DayClose(1) > preupv,max(upv,preupv), upv);
upv1 = (DayOpen() - upv) + DayOpen();
dnv = src+(Multiplier*atrv);
dnv = iff(DayClose(1) < prednv,min(dnv, prednv), dnv);
dnv1 = (DayOpen() - dnv) + DayOpen();
trend = iff(trend1 == -1 and close > dnv1 , 1 ,IFf(trend1 == 1 and close < upv1 , -1 , trend1));
if trend == 1 Then
plot1(upv,"Trend",REd);
Else
plot1(dnv,"Trend",BLACk);
---------------------------------
주가가 dnv 를 상향돌파하면 dnv---> upv로 .. 주가가 upv를 하향돌파하면 upv-->dnv로
바뀌어야 하는데 안바뀝니다
다시 한번 검토해주시면 감사하겠습니다