커뮤니티
질문드립니다.
2017-06-30 00:30:58
135
글번호 110864
사진과 같은 상황입니다. 색칠한 캔들에서 매도했을때 현재 캔들이 1선위에 있는데요. 밑으로 하강하면 각 선을 하강하며 갱신시에 갱신한 라인을 본전청산 지점으로 갱신합니다. 2선을 깨고 현재 3선위라면 2선이 본전청산대기 선이겠지만, 3선을 하락돌파하면 이제 3선으로 본전청산대기로 갱신됩니다. 최종목표가 4선에 돌입하면 청산합니다.
var : WH(0),WL(0),Dcnt(0);
#영업일 기준으로 한주의 시작
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then{
WH = H;#주간 최고가를 저장할 변수(초기값 해당봉고가)
WL = L;#주간 최저가를 저장할 변수(초기값 해당봉저가)
Dcnt = 0; #주간 날짜수를 저장할 변수(초기값0)
}
#영업일이 변경되면 1씩 증가
if bdate != bdate[1] Then
Dcnt = Dcnt+1;
#WH에 저장된 값보다 큰 고가가 발생하면 WH에 값을 현재봉 고가로 변경
if H > WH Then
WH = H;
#WL에 저장된 값보다 작은 저가가 발생하면 WL에 값을 현재봉 저가로 변경
if L < WL Then
WL = L;
#주간 첫날이면
if Dcnt == 1 then{
plot1(max(WH,dayhigh(1)),"주중 최고가선");#전영업일 최고가와 이번주최고가 중 큰값으로 지표출력
plot2(10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.236)+log10(max(WH,dayhigh(1)))),"중기 23.6선");
plot3(10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.382)+log10(max(WH,dayhigh(1)))),"중기 38.2선");
plot4(10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.500)+log10(max(WH,dayhigh(1)))),"중기 50선");
plot5(10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.618)+log10(max(WH,dayhigh(1)))),"중기 61.8선");
plot6(10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.764)+log10(max(WH,dayhigh(1)))),"중기 76.4선");
plot7(min(WL,daylow(1)),"주중 최저가선"); #전영업일 최저가와 이번주최저가 중 작은값으로 지표출력
Plot10(DayOpen,"시가선");
}
else{#두번째 날부터
plot1(WH);
plot2(10^(((log10(WH)-log10(WL))*-0.236)+log10(WH)));
plot3(10^(((log10(WH)-log10(WL))*-0.382)+log10(WH)));
plot4(10^(((log10(WH)-log10(WL))*-0.500)+log10(WH)));
plot5(10^(((log10(WH)-log10(WL))*-0.618)+log10(WH)));
plot6(10^(((log10(WH)-log10(WL))*-0.764)+log10(WH)));
plot7(WL);
plot10(DayOpen,"시가선");
}
로직 첨부하겠습니다.
- 1. 111407_질문.png (0.04 MB)
답변 1
예스스탁 예스스탁 답변
2017-06-30 10:41:43
안녕하세요
예스스탁입니다.
var : WH(0),WL(0),Dcnt(0);
#영업일 기준으로 한주의 시작
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then{
WH = H;#주간 최고가를 저장할 변수(초기값 해당봉고가)
WL = L;#주간 최저가를 저장할 변수(초기값 해당봉저가)
Dcnt = 0; #주간 날짜수를 저장할 변수(초기값0)
}
#영업일이 변경되면 1씩 증가
if bdate != bdate[1] Then
Dcnt = Dcnt+1;
#WH에 저장된 값보다 큰 고가가 발생하면 WH에 값을 현재봉 고가로 변경
if H > WH Then
WH = H;
#WL에 저장된 값보다 작은 저가가 발생하면 WL에 값을 현재봉 저가로 변경
if L < WL Then
WL = L;
#주간 첫날이면
if Dcnt == 1 then{
var1 = max(WH,dayhigh(1));
var2 = 10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.236)+log10(max(WH,dayhigh(1))));
var3 = 10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.382)+log10(max(WH,dayhigh(1))));
var4 = 10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.500)+log10(max(WH,dayhigh(1))));
var5 = 10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.618)+log10(max(WH,dayhigh(1))));
var6 = 10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.764)+log10(max(WH,dayhigh(1))));
var7 = min(WL,daylow(1));
}
else{#두번째 날부터
var1 = WH;
var2 = 10^(((log10(WH)-log10(WL))*-0.236)+log10(WH));
var3 = 10^(((log10(WH)-log10(WL))*-0.382)+log10(WH));
var4 = 10^(((log10(WH)-log10(WL))*-0.500)+log10(WH));
var5 = 10^(((log10(WH)-log10(WL))*-0.618)+log10(WH));
var6 = 10^(((log10(WH)-log10(WL))*-0.764)+log10(WH));
var7 = WL;
}
if MarketPosition == -1 then{
if countif(CrossDown(c,var3),BarsSinceEntry) >= 1 and crossup(C,var3) Then
ExitShort();
if countif(CrossDown(c,var4),BarsSinceEntry) >= 1 and crossup(C,var4) Then
ExitShort();
if countif(CrossDown(c,var5),BarsSinceEntry) >= 1 and crossup(C,var5) Then
ExitShort();
if CrossDown(c,var6) Then
ExitShort();
}
즐거운 하루되세요
> stockric 님이 쓴 글입니다.
> 제목 : 질문드립니다.
> 사진과 같은 상황입니다. 색칠한 캔들에서 매도했을때 현재 캔들이 1선위에 있는데요. 밑으로 하강하면 각 선을 하강하며 갱신시에 갱신한 라인을 본전청산 지점으로 갱신합니다. 2선을 깨고 현재 3선위라면 2선이 본전청산대기 선이겠지만, 3선을 하락돌파하면 이제 3선으로 본전청산대기로 갱신됩니다. 최종목표가 4선에 돌입하면 청산합니다.
var : WH(0),WL(0),Dcnt(0);
#영업일 기준으로 한주의 시작
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then{
WH = H;#주간 최고가를 저장할 변수(초기값 해당봉고가)
WL = L;#주간 최저가를 저장할 변수(초기값 해당봉저가)
Dcnt = 0; #주간 날짜수를 저장할 변수(초기값0)
}
#영업일이 변경되면 1씩 증가
if bdate != bdate[1] Then
Dcnt = Dcnt+1;
#WH에 저장된 값보다 큰 고가가 발생하면 WH에 값을 현재봉 고가로 변경
if H > WH Then
WH = H;
#WL에 저장된 값보다 작은 저가가 발생하면 WL에 값을 현재봉 저가로 변경
if L < WL Then
WL = L;
#주간 첫날이면
if Dcnt == 1 then{
plot1(max(WH,dayhigh(1)),"주중 최고가선");#전영업일 최고가와 이번주최고가 중 큰값으로 지표출력
plot2(10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.236)+log10(max(WH,dayhigh(1)))),"중기 23.6선");
plot3(10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.382)+log10(max(WH,dayhigh(1)))),"중기 38.2선");
plot4(10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.500)+log10(max(WH,dayhigh(1)))),"중기 50선");
plot5(10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.618)+log10(max(WH,dayhigh(1)))),"중기 61.8선");
plot6(10^(((log10(max(WH,dayhigh(1)))-log10(min(WL,daylow(1))))*-0.764)+log10(max(WH,dayhigh(1)))),"중기 76.4선");
plot7(min(WL,daylow(1)),"주중 최저가선"); #전영업일 최저가와 이번주최저가 중 작은값으로 지표출력
Plot10(DayOpen,"시가선");
}
else{#두번째 날부터
plot1(WH);
plot2(10^(((log10(WH)-log10(WL))*-0.236)+log10(WH)));
plot3(10^(((log10(WH)-log10(WL))*-0.382)+log10(WH)));
plot4(10^(((log10(WH)-log10(WL))*-0.500)+log10(WH)));
plot5(10^(((log10(WH)-log10(WL))*-0.618)+log10(WH)));
plot6(10^(((log10(WH)-log10(WL))*-0.764)+log10(WH)));
plot7(WL);
plot10(DayOpen,"시가선");
}
로직 첨부하겠습니다.
다음글
이전글