커뮤니티
highest, lowest 문의
2016-11-14 01:23:10
202
글번호 103932
수고많으십니다. 아직 초보라서~
highest 와 lowest 를 이용하여 고점과 저점 채널을 첨부와 같이 만들었습니다
input : p(20);
var1 = (highest(c,p));
var2 = (lowest(c,p));
var3 = (highest(c,p))-(lowest(c,p));
if var1 > var1[1] Then
value1 = 1;
if var1 < var1[1] Then
value1 = -1;
if value1 == 1 Then
plot1(Var1,"고점",white);
Else
plot1(Var1,"고점",black);
~~~ 이런식으로 지표는 만들었는데
이 지표를 시스템식으로 만들려고 하는데요?
if C < var1[1] and c < var[2] and c < var[3] then
sell();
if C > var2[1] and c > var[2] and c > var[3]then
buy();
종가가 앞선 고점이나 저점보다 크다작다. 결과는 매수 매도 신호가 발생이 않되네요.
제가 원하는 시스템은 아래와 같이
if crossup(c, var1) Then
var11=index;
if index >= var11+10 and crossdown(c, var1) Then
sell("매도");
위의 수식은 채널 상단 터치후 10개봉동안 신고점이 발생되지 않고 종가가 고점을 다운시 매도 하는 수식으로 알고 있은데 시스템에서 수량(10개봉 또는 그보다 많은 봉)을 수정해도 시스템에 반영이 않되네요^^
첨부된 그림과 같이 로직을 짜고 싶습니다.(고점 매도/저점 매수)
1. 상단채널 터치후 일정봉(n) 동안 고점(상한채널)을 형성하지 못 할 경우 매도
2. 상단채널 터치후 일정봉(n) 상단채널을 새로이 형성시 그 상단을 var1에 저장
3. var1보다 큰 상단채널 형성시 var2에 저장 ....var(n)
4. var(n)이 낮아 질 경우 매도하는 시스템 입니다.(즉 var(n) < var2 < var1)
요점은 새로이 형성된 고점과 저점(채널상/하단)을 기억해서 앞선 고점(채널상단)
보다 낮아질 경우 매도 앞선 저점(하단채널)보다 높아질 경우 매수하는 시스템 입니다.
감사합니다.
- 1. sample1.jpg (0.20 MB)
답변 1
예스스탁 예스스탁 답변
2016-11-14 13:20:54
안녕하세요
예스스탁입니다.
3번4번 문의하신 내용은 정확히 이해하지 못했습니다.
수식에 주석을 붙여드립니다.
아래 내용 참고하셔서 수정보완해 사용하시기 바랍니다.
input : p(20),N(5);
var : H1(0),H2(0),H3(0),L1(0),L2(0),L3(0);
var1 = (highest(c,p));
var2 = (lowest(c,p));
var3 = (highest(c,p))-(lowest(c,p));
#최고가가 변동
if var1 != var1[1] Then{
#인덱스저장
value1 = index;
#고점저장
H1 = var1; #최근고점
H2 = H1[1]; #전고점
H3 = H2[1]; #전전고점
#최근고점이 전고점보다 작고 전고점은 전전고점보다 크면 매도
if H1 < H2 and H2 > H3 and H3 > 0 Then
sell("s2");
}
#최저가가 변동
if var2 < var2[1] Then{
#인덱스저장
value2 = index;
L1 = var1; #최근저점
L2 = H1[1]; #전저점
L3 = H2[1]; #전전저점
#최근저점이 전저점보다 크고 전저점은 전전저점보다 작으면 매수
if L1 > L2 and L2 < L3 and L3 > 0 Then
buy("b2");
}
# 최고점 갱신후 n봉 동안 최고점이 갱신되지 않으면 매도
if index == value1+n and value1 > 0 Then
sell("s1");
# 최저점 갱신후 n봉 동안 최저점이 갱신되지 않으면 매수
if index == value2+n and value1 > 0 Then
buy("b1");
즐거운 하루되세요
> 고저중 님이 쓴 글입니다.
> 제목 : highest, lowest 문의
> 수고많으십니다. 아직 초보라서~
highest 와 lowest 를 이용하여 고점과 저점 채널을 첨부와 같이 만들었습니다
input : p(20);
var1 = (highest(c,p));
var2 = (lowest(c,p));
var3 = (highest(c,p))-(lowest(c,p));
if var1 > var1[1] Then
value1 = 1;
if var1 < var1[1] Then
value1 = -1;
if value1 == 1 Then
plot1(Var1,"고점",white);
Else
plot1(Var1,"고점",black);
~~~ 이런식으로 지표는 만들었는데
이 지표를 시스템식으로 만들려고 하는데요?
if C < var1[1] and c < var[2] and c < var[3] then
sell();
if C > var2[1] and c > var[2] and c > var[3]then
buy();
종가가 앞선 고점이나 저점보다 크다작다. 결과는 매수 매도 신호가 발생이 않되네요.
제가 원하는 시스템은 아래와 같이
if crossup(c, var1) Then
var11=index;
if index >= var11+10 and crossdown(c, var1) Then
sell("매도");
위의 수식은 채널 상단 터치후 10개봉동안 신고점이 발생되지 않고 종가가 고점을 다운시 매도 하는 수식으로 알고 있은데 시스템에서 수량(10개봉 또는 그보다 많은 봉)을 수정해도 시스템에 반영이 않되네요^^
첨부된 그림과 같이 로직을 짜고 싶습니다.(고점 매도/저점 매수)
1. 상단채널 터치후 일정봉(n) 동안 고점(상한채널)을 형성하지 못 할 경우 매도
2. 상단채널 터치후 일정봉(n) 상단채널을 새로이 형성시 그 상단을 var1에 저장
3. var1보다 큰 상단채널 형성시 var2에 저장 ....var(n)
4. var(n)이 낮아 질 경우 매도하는 시스템 입니다.(즉 var(n) < var2 < var1)
요점은 새로이 형성된 고점과 저점(채널상/하단)을 기억해서 앞선 고점(채널상단)
보다 낮아질 경우 매도 앞선 저점(하단채널)보다 높아질 경우 매수하는 시스템 입니다.
감사합니다.
다음글