커뮤니티
질문 올립니다.
2014-04-22 13:39:52
230
글번호 74552
항상 친절하신 도움에 깊이 감사드립니다.
추세선을 이용한 매매식을 부탁드립니다.
내용:
스윙로우가 두 번 이상 계속 높아 지면, 최초의 스윙로우와 마지막 스윙로우를 잇는 장기 상승추세선을 그어서, 그 후 가격이평선이 그 장기 상승추세선을 하향이탈하면 sell하는 시스템.
((특히, 이 장기 상승추세선 작성 방법을 잘 부탁드립니다))
0. 변수 설정 등.
외부변수: 스윙로우의 Left=5, Right=2.
외부변수: 이평선 주기 = 5.
가격이평선 = EMA(H, 5)
1.
1.1. if 하나의 스윙로우(가령 a점이라 칭함)가 생기면
((* 위 그림은, a, b, c, d, e, f, g점 등 높아 지는 스윙로우를 단순 예시하기 위한 것입니다))
1.2. if 다음 스윙로우(두번째 스윙로우 = b점이라 칭함)의 값이 첫번째 스윙로우(즉 a점)보다 크면 (즉 a<b이면),
추세선 그리기: a점과 b점 사이를 이어서 단기 상승추세선(TL_SR_Up_b)을 그림 (연장선도 같이 그림).
그리고 한 계약 매수진입.
2.
2.1. if b점 생성 이후에, 가격이평선[=EMA(H, 5)]이, 직전에(즉 1.2단계에서) 그린 단기 상승추세선(TL_SR_Up_b)의 연장선을 하향이탈하면,
ExitLong.
2.2. else if 그게 아니라, 그 다음의 스윙로우(세번째 스윙로우 = c점이라 함)가 b점보다 높으면 (a<b<c이면),
추세선 그리기: b점과 c점을 이어서 단기 상승추세선(TL_SR_Up_c)을 그리고, 또한 a점과 c점을 이어서 장기 상승추세선(TL_LR_Up_c)을 그림
추가로 한 계약 매수 진입.
3.
위에서 2.2.의 경우(세번째 스윙로우 c가 첫번째 a, 두번째 b 스윙로우보다 높은 경우)(즉 a<b<c인 경우)에,
3.1. if 만일 가격이평선[=EMA(H, 5)]이 단기 상승추세선(TL_SR_Up_c) 의 연장선, 또는 장기 상승추세선(TL_LR_Up_c) 의 연장선을 하향이탈하면
한 계약 ExitLong. ((한 계약 롱포만 남음))
if 또 만일 가격이평선[=EMA(H, 5)]이 단기 상승추세선(TL_SR_Up_c) 의 연장선, 또는 장기 상승추세선(TL_LR_Up_c) 의 연장선을 하향이탈하면
남은 한 계약 마저 ExitLong.
3.2. else if 그게 아니라 다음 번, 즉 네번째 스윙로우(d점)도 세번째 스윙로우 c점보다 높으면 (즉 a<b<c<d이면),
c점과 d점을 잇는 단기 상승추세선(TL_SR_Up_d) 을 그리고, 또한 a점과 d점을 이어서 장기 상승추세선(TL_LR_Up_d)를 그림. ((두 계약 롱포지션을 그대로 유지))
4.
위 2~3의 과정을, 조건 만족할 때까지 계속.
즉, a<b<c<d<e<f<g.......가 계속되는 한, "최신의 단기 상승추세선"과, "장기 상승추세선"을 그려 나감.
이 후 언제든 가격이평선이 "최신 단기 상승추세선"이나 "장기 상승추세선"을 하향이탈하면, 롱포지션이 남아 있는 한 한 계약씩 ExitLong.
(즉 이 이후에도 3.1번의 경우와 같이, 가격이평선이 "최근의 단기 상승추세선"이나 "장기 상승추세선"을 하향이탈하면, 그 두 각각의 상승추세선을 한 개씩 하향이탈할 때마다 한 계약씩을 청산)).
감사합니다.
(혹시 시간 관계상 어려우시면, 매매 부분은 제외하더라도, 장기 상승추세선을 그려 나가는 방법만이라도 꼭 부탁드리고 싶습니다.
물론 가능하시다면 매매 부분을 포함하여 전체적으로 알려 주시면 대단히 감사하겠습니다.)
답변 1
예스스탁 예스스탁 답변
2014-04-22 10:57:38
안녕하세요
예스스탁입니다.
아래식 참고하시기 바랍니다.
추세선 표시는 마지막 거래만 보여지게 됩니다.
input : Left(5),Right(2),P(5);
var : emav(0),count(0);
var : SL1(0),SD1(0),ST1(0),SL2(0),SD2(0),ST2(0);
var : nValue(0),nsdate(0),nstime(0),Strend(0),LTrend(0);
emav = ema(c,P);
if SwingLow(1,L,Left,Right,Left+Right+1) != -1 Then{
count = count+1;
SL1 = L[right];
SD1 = sdate[right];
ST1 = Stime[right];
SL2 = SL1[1];
SD2 = SD1[1];
ST2 = ST1[1];
if count >= 2 and SL1 > SL2 Then{
if CurrentEntries < 2 Then{
buy("b",OnClose,def,1);
}
}
}
if MarketPosition == 1 Then{
#단기추세선
if MaxEntries >= 1 and SL1 > SL2 Then{
TL_Delete(Strend);
Strend = TL_New(SD2,ST2,SL2,SD1,St1,SL1);
TL_SetExtRight(Strend,true);
}
#장기추세선
if MaxEntries >= 2 and SL1 > SL2 Then{
TL_Delete(Ltrend);
Ltrend = TL_New(SD2[BarsSinceEntry],ST2[BarsSinceEntry],SL2[BarsSinceEntry],SD1,St1,SL1);
TL_SetExtRight(Ltrend,true);
}
if MarketPosition == 1 and Condition1 == false And
emav < TL_GetValue(Strend,sdate,stime) and emav[1] > TL_GetValue(Strend,sdate[1],stime[1]) Then{
ExitLong("bx1",OnClose,def,"",1,1);
}
if MarketPosition == 1 and MaxEntries >= 2 and Condition2 == false And
emav < TL_GetValue(Ltrend,sdate,stime) and emav[1] > TL_GetValue(Ltrend,sdate[1],stime[1]) Then{
ExitLong("bx2",OnClose,def,"",1,1);
}
}
즐거운 하루되세요
> 즐겁게 님이 쓴 글입니다.
> 제목 : 질문 올립니다.
> 항상 친절하신 도움에 깊이 감사드립니다.
추세선을 이용한 매매식을 부탁드립니다.
내용:
스윙로우가 두 번 이상 계속 높아 지면, 최초의 스윙로우와 마지막 스윙로우를 잇는 장기 상승추세선을 그어서, 그 후 가격이평선이 그 장기 상승추세선을 하향이탈하면 sell하는 시스템.
((특히, 이 장기 상승추세선 작성 방법을 잘 부탁드립니다))
0. 변수 설정 등.
외부변수: 스윙로우의 Left=5, Right=2.
외부변수: 이평선 주기 = 5.
가격이평선 = EMA(H, 5)
1.
1.1. if 하나의 스윙로우(가령 a점이라 칭함)가 생기면
((* 위 그림은, a, b, c, d, e, f, g점 등 높아 지는 스윙로우를 단순 예시하기 위한 것입니다))
1.2. if 다음 스윙로우(두번째 스윙로우 = b점이라 칭함)의 값이 첫번째 스윙로우(즉 a점)보다 크면 (즉 a<b이면),
추세선 그리기: a점과 b점 사이를 이어서 단기 상승추세선(TL_SR_Up_b)을 그림 (연장선도 같이 그림).
그리고 한 계약 매수진입.
2.
2.1. if b점 생성 이후에, 가격이평선[=EMA(H, 5)]이, 직전에(즉 1.2단계에서) 그린 단기 상승추세선(TL_SR_Up_b)의 연장선을 하향이탈하면,
ExitLong.
2.2. else if 그게 아니라, 그 다음의 스윙로우(세번째 스윙로우 = c점이라 함)가 b점보다 높으면 (a<b<c이면),
추세선 그리기: b점과 c점을 이어서 단기 상승추세선(TL_SR_Up_c)을 그리고, 또한 a점과 c점을 이어서 장기 상승추세선(TL_LR_Up_c)을 그림
추가로 한 계약 매수 진입.
3.
위에서 2.2.의 경우(세번째 스윙로우 c가 첫번째 a, 두번째 b 스윙로우보다 높은 경우)(즉 a<b<c인 경우)에,
3.1. if 만일 가격이평선[=EMA(H, 5)]이 단기 상승추세선(TL_SR_Up_c) 의 연장선, 또는 장기 상승추세선(TL_LR_Up_c) 의 연장선을 하향이탈하면
한 계약 ExitLong. ((한 계약 롱포만 남음))
if 또 만일 가격이평선[=EMA(H, 5)]이 단기 상승추세선(TL_SR_Up_c) 의 연장선, 또는 장기 상승추세선(TL_LR_Up_c) 의 연장선을 하향이탈하면
남은 한 계약 마저 ExitLong.
3.2. else if 그게 아니라 다음 번, 즉 네번째 스윙로우(d점)도 세번째 스윙로우 c점보다 높으면 (즉 a<b<c<d이면),
c점과 d점을 잇는 단기 상승추세선(TL_SR_Up_d) 을 그리고, 또한 a점과 d점을 이어서 장기 상승추세선(TL_LR_Up_d)를 그림. ((두 계약 롱포지션을 그대로 유지))
4.
위 2~3의 과정을, 조건 만족할 때까지 계속.
즉, a<b<c<d<e<f<g.......가 계속되는 한, "최신의 단기 상승추세선"과, "장기 상승추세선"을 그려 나감.
이 후 언제든 가격이평선이 "최신 단기 상승추세선"이나 "장기 상승추세선"을 하향이탈하면, 롱포지션이 남아 있는 한 한 계약씩 ExitLong.
(즉 이 이후에도 3.1번의 경우와 같이, 가격이평선이 "최근의 단기 상승추세선"이나 "장기 상승추세선"을 하향이탈하면, 그 두 각각의 상승추세선을 한 개씩 하향이탈할 때마다 한 계약씩을 청산)).
감사합니다.
(혹시 시간 관계상 어려우시면, 매매 부분은 제외하더라도, 장기 상승추세선을 그려 나가는 방법만이라도 꼭 부탁드리고 싶습니다.
물론 가능하시다면 매매 부분을 포함하여 전체적으로 알려 주시면 대단히 감사하겠습니다.)
다음글
이전글