커뮤니티
질문 드립니다.
2014-05-12 12:25:53
181
글번호 74980
항상 친절하시고 상세하신 답변 깊이 감사드립니다.
추세선함수를 이용하여, 쌍봉 및 쌍바닥을 지표식으로 표현하는 식 부탁드리고 싶습니다.
여기서 쌍바닥의 정의는,
12개봉 이내의 범위에서,
1. 같은 가격의 최저점인 SwingLow가 두 개 이상 존재하거나,
(가령 한 틱이 5포인트인 Ibovespa의 경우, 12봉 범위 내에서 최저점이 53575인 봉이 8개봉 건너 하나 더 있어서 총 두개인 경우). 및
2. 12개봉에서의 최저점이 나란히 두 봉 이상에서 같거나 (즉 이 때는 SwingLow점은 하나지만, 그 수준의 최저점은 두 개 이상이 됨)
(가령 Ibovespa의 경우, 12봉 범위 내에서 최저점이 53575인 봉이 세 번 연달아 나타나는 경우). 및
3. 가장 낮은 하나의 SwingLow 최저점과, 두번째로 가장 낮은 저점의 가격차이가 2틱 이내인 봉이 둘 이상 존재하는 경우
(가령 Ibovespa의 경우, 12봉 범위 내에서 한 봉의 최저점이 53575이고, 다른 7개 봉의 최저점이 53585인 경우).
쌍봉의 정의는,
역시 위와 유사하나 방향만 반대인 경우.
이렇게 해서 쌍바닥과 쌍봉이 찾아 지면,
쌍바닥의 최저점에서 오른 쪽으로 연장해서 그어지는 수평선인 쌍바닥선
쌍봉의 최고점에서 오른 쪽으로 연장해서 그어지는 수평선인 쌍봉선
을
추세선 함수로 구현하는 식을 부탁드리겠습니다.
여기에 사용될 스윙함수에서 Left는 3, Right는 2로 부탁드립니다.
대단히 감사합니다.
답변 1
예스스탁 예스스탁 답변
2014-05-12 15:09:01
안녕하세요
예스스탁입니다.
아래식 참고하시기 바랍니다.
input : Left(3),right(2);
var : SLD(0),SLT(0),SLV(0),SHI(0),SLD1(0),SLT1(0),SLV1(0),SHI1(0);
var : SHD(0),SHT(0),SHV(0),SLI(0),SHD1(0),SHT1(0),SHV1(0),SLI1(0);
var : TL1(0),TL2(0);
var1 = Highest(H,Left)[Right+1];
var2 = NthHighestBar(1,H,Left)[Right+1];
var3 = lowest(L,Left)[Right+1];
var4 = NthLowestBar(1,L,Left)[Right+1];
if SwingHigh(1,H,Left,Right,Left+Right+1) != -1 Then{
SHD = sdate[Right];
SHT = stime[Right];
SHV = High[Right];
SHI = index[Right];
SHD1 = SHD[1];
SHT1 = SHT[1];
SHV1 = SHV[1];
SHI1 = SHI1[1];
#직전 그려진 스윙하이연결선의 우측연장선은 없앰
TL_SetExtRight(TL1,false);
#스윙하이값과 기준봉 좌측봉들의 고가가 기준봉의 고가와 같은 값이 없고
#최근스윙하이와 직전스윙하이가 2틱이내이고
#최근스윙하이와 직전스윙하이가 12봉이내 이면
#최근스윙하이와 직전스윙하이를 연결
if var1 != SHV and
Abs(SHV-SHV1) <= PriceScale*2 And
SHI1 <= SHI+12 Then
TL1 = TL_New(SHD1,SHT1,SHV1,SHD,SHT,SHV);
#스윙하이값과 기준봉 좌측봉들의 고가가 기준봉의 고가와 같은 값이 있을 경우
#좌측봉중 고가와 기준봉의 고가를 연결
if var1 == SHV then
TL1 = TL_New(Sdate[Right+1+var2],Stime[Right+1+var2],H[Right+1+var2],SHD,SHT,SHV);
#스윙하이연결선 우측연장
TL_SetExtRight(TL1,True);
#스윙하이연결선 색상
TL_SetColor(TL1,RED);
}
if SwingLow(1,L,Left,Right,Left+Right+1) != -1 Then{
SLD = sdate[Right];
SLT = stime[Right];
SLV = Low[Right];
SLI = index[Right];
SLD1 = SLD[1];
SLT1 = SLT[1];
SLV1 = SLV[1];
SLI1 = SLI[1];
#직전 그려진 스윙로우연결선의 우측연장선은 없앰
TL_SetExtRight(TL2,false);
#스윙로우값과 기준봉 좌측봉들의 고가가 기준봉의 고가와 같은 값이 없고
#최근스윙로우와 직전스윙로우가 2틱이내이고
#최근스윙로우와 직전스윙로우가 12봉이내 이면
#최근스윙로우와 직전스윙로우를 연결
if var3 != SLV and
Abs(SLV-SLV1) <= PriceScale*2 And
SLI <= SHI1+12 Then
TL2 = TL_New(SLD1,SLT1,SLV1,SLD,SLT,SLV);
#스윙로우값과 기준봉 좌측봉들의 저가중 기준봉의 저가와 같은 값이 있을 경우
#좌측봉 중 저가와 기준봉의 저가를 연결
TL2 = TL_New(Sdate[Right+1+var4],Stime[Right+1+var4],L[Right+1+var4],SLD,SLT,SLV);
#스윙로우연결선 우측연장
TL_SetExtRight(TL2,True);
#스윙하이연결선 색상
TL_SetColor(TL2,BLUE);
}
즐거운 하루되세요
> 즐겁게 님이 쓴 글입니다.
> 제목 : 질문 드립니다.
> 항상 친절하시고 상세하신 답변 깊이 감사드립니다.
추세선함수를 이용하여, 쌍봉 및 쌍바닥을 지표식으로 표현하는 식 부탁드리고 싶습니다.
여기서 쌍바닥의 정의는,
12개봉 이내의 범위에서,
1. 같은 가격의 최저점인 SwingLow가 두 개 이상 존재하거나,
(가령 한 틱이 5포인트인 Ibovespa의 경우, 12봉 범위 내에서 최저점이 53575인 봉이 8개봉 건너 하나 더 있어서 총 두개인 경우). 및
2. 12개봉에서의 최저점이 나란히 두 봉 이상에서 같거나 (즉 이 때는 SwingLow점은 하나지만, 그 수준의 최저점은 두 개 이상이 됨)
(가령 Ibovespa의 경우, 12봉 범위 내에서 최저점이 53575인 봉이 세 번 연달아 나타나는 경우). 및
3. 가장 낮은 하나의 SwingLow 최저점과, 두번째로 가장 낮은 저점의 가격차이가 2틱 이내인 봉이 둘 이상 존재하는 경우
(가령 Ibovespa의 경우, 12봉 범위 내에서 한 봉의 최저점이 53575이고, 다른 7개 봉의 최저점이 53585인 경우).
쌍봉의 정의는,
역시 위와 유사하나 방향만 반대인 경우.
이렇게 해서 쌍바닥과 쌍봉이 찾아 지면,
쌍바닥의 최저점에서 오른 쪽으로 연장해서 그어지는 수평선인 쌍바닥선
쌍봉의 최고점에서 오른 쪽으로 연장해서 그어지는 수평선인 쌍봉선
을
추세선 함수로 구현하는 식을 부탁드리겠습니다.
여기에 사용될 스윙함수에서 Left는 3, Right는 2로 부탁드립니다.
대단히 감사합니다.