커뮤니티
행복; 수식 작성 바랍니다
2012-08-27 03:42:39
373
글번호 54091
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
증권사의 HTS를 보면
오늘이 주말이 아니고 수요일이어서 주봉이 완성되지 않았어도 오늘(수요일)까지를
계산한 주봉관련 지표가 일봉 차트에 겹쳐서 그려지고 있습니다
예를 들면
수요일까지를 계산한
기준봉이 주봉인
볼린저밴드(12. 2)의 지표를 일봉차트에 겹쳐서 그려주고 있습니다
수식 작성 바랍니다
< 지표식 1 >
일봉차트를 data1로 하고
주봉차트를 data2로 한 후
오늘이 주말이 아니고 수요일이어서 주봉이 완성되지 않았어도
오늘(수요일)까지를 계산한
기준봉이 주봉인
볼린저밴드(12, 2) 의 지표 A 그리기
지표 A 가 그려지면 Drag 하여 일봉차트와 겹치도록 할 것입니다
< 지표식 2 >
일봉차트를 data1로 하고
월봉차트를 data3로 한 후
오늘이 월말이 아니고 20일이어서 월봉이 완성되지 않았어도
오늘(20일)까지를 계산한
기준봉이 월봉인
볼린저밴드(12, 2) 의 지표 B
지표 B 가 그려지면 Drag 하여 일봉차트와 겹치도록 할 것입니다
< 시스템식1 >
기준봉이 일봉인
주가가 종가 기준으로
상기의 지표 A(주봉 볼린저)의 하한선을 상향돌파하면 매수하고
10% 하락하거나 10% 상승하면 매도
< 시스템식2 >
기준봉이 일봉인
주가가 종가 기준으로
상기의 지표 B(월봉 볼린저)의 하한선을 상향돌파하면 매수하고
10% 하락하거나 10% 상승하면 매도
수고하십시요
답변 1
예스스탁 예스스탁 답변
2012-08-27 14:14:32
안녕하세요
예스스탁입니다.
수식에서는 항상 완성된 봉의 데이터만 사용되므로
문의하신 부분은 가능하지 않습니다.
일봉에서 주봉을 참조할 경우 당일 실시간에서는
주봉의 현재 시점의 값으로 잠깐 지표를 보여주지만
봉완성되면 다시 현재 미완성봉을 포함하지 않고 완성된봉까지만의
데이터로 계산된 값으로 그려집니다. 월봉도 만찬가지 입니다.
문의하신 부분은 참조데이터를 이용하면 따로 방법이 없습니다
일봉에서 주봉/월봉의 볼린져밴드를 직접 계산하는 식으로 작성해야 합니다.
1. 지표식(주봉 볼린져밴드)
input : weekPeriod(12),weekDv(2);
var : weekcnt(0),weekcount(0),weeksum(0),weekmav(0),weekBBup(0),weekBBdn(0);
var : weekAvgv(0),weekSumSqrt(0),weekCounter(0),weekStdv(0),weekBBmd(0);
Array : weekC[50](0);
# 봉 볼린져밴드 계산 시작
if dayofweek(date) < dayofweek(date[1]) Then{
for weekcnt = 1 to 49{
weekC[weekcnt] = weekC[weekcnt-1][1];
}
}
weekC[0] = C;
weeksum = 0;
for weekcount = 0 to weekPeriod-1{
weeksum = weeksum+weekC[weekcount];
}
weekmav = weeksum/weekPeriod;
If weekC[weekPeriod] != 0 Then Begin
weekAvgv = weekmav;
weekSumSqrt = 0;
For weekCounter = 0 To weekPeriod - 1 Begin
weekSumSqrt = weekSumSqrt + (weekC[weekCounter] - weekAvgv) * (weekC[weekCounter] - weekAvgv);
End;
weekStdv = SquareRoot(weekSumSqrt / weekPeriod);
End
Else
weekStdv = 0;
weekBBup = weekmav + (weekDv * weekStdv);
weekBBmd = weekmav;
weekBBdn = weekmav - (weekDv * weekStdv);
# 주봉 볼린져밴드 계산 끝
plot1(weekBBup);
plot2(weekBBmd);
plot3(weekBBdn);
2. 지표식(월봉 볼린져밴드)
input : MonthPeriod(12),MonthDv(2);
var : Monthcnt(0),Monthcount(0),Monthsum(0),Monthmav(0),MonthBBup(0),MonthBBdn(0);
var : MonthAvgv(0),MonthSumSqrt(0),MonthCounter(0),MonthStdv(0),MonthBBmd(0);
Array : MonthC[50](0);
# 월봉 볼린져밴드 계산 시작
if date > date[1]+30 Then{
for Monthcnt = 1 to 49{
MonthC[Monthcnt] = MonthC[Monthcnt-1][1];
}
}
MonthC[0] = C;
Monthsum = 0;
for Monthcount = 0 to MonthPeriod-1{
Monthsum = Monthsum+MonthC[Monthcount];
}
Monthmav = Monthsum/MonthPeriod;
If MonthC[MonthPeriod] != 0 Then Begin
MonthAvgv = Monthmav;
MonthSumSqrt = 0;
For MonthCounter = 0 To MonthPeriod - 1 Begin
MonthSumSqrt = MonthSumSqrt + (MonthC[MonthCounter] - MonthAvgv) * (MonthC[MonthCounter] - MonthAvgv);
End;
MonthStdv = SquareRoot(MonthSumSqrt / MonthPeriod);
End
Else
MonthStdv = 0;
MonthBBup = Monthmav + (MonthDv * MonthStdv);
MonthBBmd = Monthmav;
MonthBBdn = Monthmav - (MonthDv * MonthStdv);
# 월봉 볼린져밴드 계산 끝
plot1(MonthBBup);
plot2(MonthBBmd);
plot3(MonthBBdn);
3. 시스템1
input : weekPeriod(12),weekDv(2);
var : weekcnt(0),weekcount(0),weeksum(0),weekmav(0),weekBBup(0),weekBBdn(0);
var : weekAvgv(0),weekSumSqrt(0),weekCounter(0),weekStdv(0),weekBBmd(0);
Array : weekC[50](0);
# 봉 볼린져밴드 계산 시작
if dayofweek(date) < dayofweek(date[1]) Then{
for weekcnt = 1 to 49{
weekC[weekcnt] = weekC[weekcnt-1][1];
}
}
weekC[0] = C;
weeksum = 0;
for weekcount = 0 to weekPeriod-1{
weeksum = weeksum+weekC[weekcount];
}
weekmav = weeksum/weekPeriod;
If weekC[weekPeriod] != 0 Then Begin
weekAvgv = weekmav;
weekSumSqrt = 0;
For weekCounter = 0 To weekPeriod - 1 Begin
weekSumSqrt = weekSumSqrt + (weekC[weekCounter] - weekAvgv) * (weekC[weekCounter] - weekAvgv);
End;
weekStdv = SquareRoot(weekSumSqrt / weekPeriod);
End
Else
weekStdv = 0;
weekBBup = weekmav + (weekDv * weekStdv);
weekBBmd = weekmav;
weekBBdn = weekmav - (weekDv * weekStdv);
# 주봉 볼린져밴드 계산 끝
if Crossup(c,weekBBdn) Then
buy();
SetStopLoss(10,PercentStop);
SetStopProfittarget(10,PercentStop);
4. 시스템2
input : MonthPeriod(12),MonthDv(2);
var : Monthcnt(0),Monthcount(0),Monthsum(0),Monthmav(0),MonthBBup(0),MonthBBdn(0);
var : MonthAvgv(0),MonthSumSqrt(0),MonthCounter(0),MonthStdv(0),MonthBBmd(0);
Array : MonthC[50](0);
# 월봉 볼린져밴드 계산 시작
if date > date[1]+30 Then{
for Monthcnt = 1 to 49{
MonthC[Monthcnt] = MonthC[Monthcnt-1][1];
}
}
MonthC[0] = C;
Monthsum = 0;
for Monthcount = 0 to MonthPeriod-1{
Monthsum = Monthsum+MonthC[Monthcount];
}
Monthmav = Monthsum/MonthPeriod;
If MonthC[MonthPeriod] != 0 Then Begin
MonthAvgv = Monthmav;
MonthSumSqrt = 0;
For MonthCounter = 0 To MonthPeriod - 1 Begin
MonthSumSqrt = MonthSumSqrt + (MonthC[MonthCounter] - MonthAvgv) * (MonthC[MonthCounter] - MonthAvgv);
End;
MonthStdv = SquareRoot(MonthSumSqrt / MonthPeriod);
End
Else
MonthStdv = 0;
MonthBBup = Monthmav + (MonthDv * MonthStdv);
MonthBBmd = Monthmav;
MonthBBdn = Monthmav - (MonthDv * MonthStdv);
# 월봉 볼린져밴드 계산 끝
if Crossup(c,MonthBBdn) Then
buy();
SetStopLoss(10,PercentStop);
SetStopProfittarget(10,PercentStop);
즐거운 하루되세요
> 행복한가방 님이 쓴 글입니다.
> 제목 : 행복; 수식 작성 바랍니다
> 한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
증권사의 HTS를 보면
오늘이 주말이 아니고 수요일이어서 주봉이 완성되지 않았어도 오늘(수요일)까지를
계산한 주봉관련 지표가 일봉 차트에 겹쳐서 그려지고 있습니다
예를 들면
수요일까지를 계산한
기준봉이 주봉인
볼린저밴드(12. 2)의 지표를 일봉차트에 겹쳐서 그려주고 있습니다
수식 작성 바랍니다
< 지표식 1 >
일봉차트를 data1로 하고
주봉차트를 data2로 한 후
오늘이 주말이 아니고 수요일이어서 주봉이 완성되지 않았어도
오늘(수요일)까지를 계산한
기준봉이 주봉인
볼린저밴드(12, 2) 의 지표 A 그리기
지표 A 가 그려지면 Drag 하여 일봉차트와 겹치도록 할 것입니다
< 지표식 2 >
일봉차트를 data1로 하고
월봉차트를 data3로 한 후
오늘이 월말이 아니고 20일이어서 월봉이 완성되지 않았어도
오늘(20일)까지를 계산한
기준봉이 월봉인
볼린저밴드(12, 2) 의 지표 B
지표 B 가 그려지면 Drag 하여 일봉차트와 겹치도록 할 것입니다
< 시스템식1 >
기준봉이 일봉인
주가가 종가 기준으로
상기의 지표 A(주봉 볼린저)의 하한선을 상향돌파하면 매수하고
10% 하락하거나 10% 상승하면 매도
< 시스템식2 >
기준봉이 일봉인
주가가 종가 기준으로
상기의 지표 B(월봉 볼린저)의 하한선을 상향돌파하면 매수하고
10% 하락하거나 10% 상승하면 매도
수고하십시요