커뮤니티
시스템식 부탁올립니다.
2018-07-26 16:34:44
134
글번호 120928
**
안녕하십니까!! 비슷한 질문을 올렸었었습니다.
차트에 적용해보았는데 일부는 의도와 다르게 작성된 부분도 있는것 같아서
다시한번 여쭤봅니다.
저의 수준을 고려하시어 최대 단순하고 쉬운 해법으로
부탁올립니다 ㅋㅋㅋ
미워도 다시한번~~!! 부탁드립니다.
감사합니다. 꾸벅^^;
** 시스템식
1. 조건
종가가 볼린저밴드 상단위에서 2봉연속 머물때 그 해당봉을 K봉이라고 합니다.
K봉은 최근것, 그다음최근것, 그다다음최근것들,,,로 과거에 많이 존재할
것입니다.(최근부터 과거 K0, K1,K2, K3......)
2. 진입
종가가 가장 최근 2개 K봉(K0, K1)들의 고점들중 가장큰 고점을
상향돌파하면 매수
3. 청산
질문1.)진입후 종가가 진입시 적용했던 2개의 K봉들의 저점들중 가장 작은 저점을
하향돌파하거나 또는 진입후 5봉이 지나면 청산
질문2) 질문1의 경우처럼 진입시 적용했던 2개의 K봉들의 저점들 중 가장 작은 저점을
하향돌파가 아니라, 그냥 또다시 새로운 K0, K1의 저점중
가장 작은 저점을 하향돌파할 경우에는 어떻게 표현하는지 지도부탁드립니다.
4. 기타
(1) 볼린저밴드 위에서 2번연속일때 K봉이라고 했는데 3번연속, 4번연속 등으로 호환할 수 있도록 수식이 작성되었으면 좋겠습니다.
(2) 최근 2개 K봉들의 고점이나 저점을 표현할 때 최근 2개가 아니라 3,4,5개봉으로도
호환할 수 있도록 수식이 작성되었으면 좋겠습니다.
(3) 볼린저밴드 위에 있는 봉은 처음에는 Crossup에 의해서였겠지만 그다음 볼린저밴드
위에 존재하는 봉은 Crossup에 의해서가 아니라 단순히 볼린져밴드보다 종가가 높은
경우이니 이 둘을 모두 Crossup처리하면 오류가 발생할수도 있지 않을까 걱정됩니다.
제 걱정이 맞는지도 고려해주시면 감사하겠습니다.
<끝>
답변 1
예스스탁 예스스탁 답변
2018-07-27 10:05:25
안녕하세요
예스스탁입니다.
수식에 주석을 붙여드립니다.
참고하셔서 수정보완해 사용하시기 바랍니다.
input : P(20),dv(2),n(2),x(2);
var : bbup(0),T(0),bars(0),cnt(0);
Array : HH[10](0),LL[10](0);
bbup = BollBandUp(P,dv);
#상향돌파하면 1구간
if CrossUp(C,bbup) Then
{
T = 1;
#1구간이후 봉수(초기값0)
bars = 0;
}
#종가가 상단아래면 -1구간
if C < BBup Then
{
T = -1;
bars = 0;
}
#1구간
if T == 1 then
{
#1구간이후 봉수
bars = bars+1;
#봉수가 n이상이상 발생된 이후에
if bars >= n Then
{
#HH의 0번방에 최근 n개봉 최고가
HH[0] = highest(H,n);
#LL의 0번방에 최근 n개봉 최저가
LL[0] = lowest(L,n);
#배열방수를 1씩 증가하면서 이전값 저장
#HH[1]은 직전,HH[1]는 전전 순으로 최근 8개 저장
#LL배열도 동일
for cnt = 1 to 9
{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
}
#x개 이상 k봉이 생기고
if HH[x-1] > 0 and LL[x-1] > 0 then
{
#x개의 k봉 최고가/최저가 개산
#초기값은 최근 k봉 최고/최저
var1 = HH[0];
var2 = LL[0];
#이전배열방에서 가격 가져와 최고값/최저값 갱싱
for cnt = 1 to x
{
if HH[cnt] > 0 and HH[cnt] > var1 Then
var1 = HH[cnt];
if LL[cnt] > 0 and LL[cnt] < var2 Then
var2 = LL[cnt];
}
#무포지션에 최근 k봉 x개의 최고값 돌파하면 매수
if MarketPosition == 0 and crossup(C,var1) Then
buy();
#진입시 k봉 2개 저점을 하향이탈 청산
if MarketPosition == 1 and CrossDown(C,var2[BarsSinceEntry]) Then
exitlong("bx1");
#최근 k봉 2개 저점을 하향이탈 청산
if MarketPosition == 1 and CrossDown(C,var2) Then
exitlong("bx2");
#진입후 5개봉 경과하면 청산
if MarketPosition == 1 and BarsSinceEntry == 5 Then
exitlong("bx");
}
즐거운 하루되세요
> 대단한콩 님이 쓴 글입니다.
> 제목 : 시스템식 부탁올립니다.
> **
안녕하십니까!! 비슷한 질문을 올렸었었습니다.
차트에 적용해보았는데 일부는 의도와 다르게 작성된 부분도 있는것 같아서
다시한번 여쭤봅니다.
저의 수준을 고려하시어 최대 단순하고 쉬운 해법으로
부탁올립니다 ㅋㅋㅋ
미워도 다시한번~~!! 부탁드립니다.
감사합니다. 꾸벅^^;
** 시스템식
1. 조건
종가가 볼린저밴드 상단위에서 2봉연속 머물때 그 해당봉을 K봉이라고 합니다.
K봉은 최근것, 그다음최근것, 그다다음최근것들,,,로 과거에 많이 존재할
것입니다.(최근부터 과거 K0, K1,K2, K3......)
2. 진입
종가가 가장 최근 2개 K봉(K0, K1)들의 고점들중 가장큰 고점을
상향돌파하면 매수
3. 청산
질문1.)진입후 종가가 진입시 적용했던 2개의 K봉들의 저점들중 가장 작은 저점을
하향돌파하거나 또는 진입후 5봉이 지나면 청산
질문2) 질문1의 경우처럼 진입시 적용했던 2개의 K봉들의 저점들 중 가장 작은 저점을
하향돌파가 아니라, 그냥 또다시 새로운 K0, K1의 저점중
가장 작은 저점을 하향돌파할 경우에는 어떻게 표현하는지 지도부탁드립니다.
4. 기타
(1) 볼린저밴드 위에서 2번연속일때 K봉이라고 했는데 3번연속, 4번연속 등으로 호환할 수 있도록 수식이 작성되었으면 좋겠습니다.
(2) 최근 2개 K봉들의 고점이나 저점을 표현할 때 최근 2개가 아니라 3,4,5개봉으로도
호환할 수 있도록 수식이 작성되었으면 좋겠습니다.
(3) 볼린저밴드 위에 있는 봉은 처음에는 Crossup에 의해서였겠지만 그다음 볼린저밴드
위에 존재하는 봉은 Crossup에 의해서가 아니라 단순히 볼린져밴드보다 종가가 높은
경우이니 이 둘을 모두 Crossup처리하면 오류가 발생할수도 있지 않을까 걱정됩니다.
제 걱정이 맞는지도 고려해주시면 감사하겠습니다.
<끝>