커뮤니티
시스템 문의
2016-10-19 20:03:51
122
글번호 103104
안녕하세요.
일전에 문의드렸던 건 중에 아래와 같은 식을 답변 받았습니다.
아래식은 매수 진입도중 강제청산조건이 되기 전에 매도조건이 될 경우, 반대 매매로 들어가서
청산이 되는 것 같이 됩니다.
청산과 동시에 매도도 성립이 되어야하는데 (스위치), 어떻게 수정하면 될지 잘 모르겠습니다.
도와주시면 감사하겠습니다.
========================
input : Left(5),Right(5);
var : T(0),cnt(0);
var : Hi(0),SH(0),Y1(0),Y2(0),Y3(0),LL1(0),LD1(0),LT1(0),LL2(0),LD2(0),LT2(0),BTL(0);
var : Li(0),SL(0),Z1(0),Z2(0),Z3(0),HH1(0),HD1(0),HT1(0),HH2(0),HD2(0),HT2(0),STL(0);
#고점발생
if SwingHigh(1,H,Left,right,Left+Right+1) != -1 Then{
T = 1;
Hi = index[Right];
SH = H[right];
}
#저점발생
if SwingLow(1,L,Left,right,Left+Right+1) != -1 Then{
T = -1;
Li = index[right];
SL = L[right];
}
#고점이 발생후 고점보다 높은 고가 발생하면 다음 고점/저점 판별까지 대기
if T >= 1 and H > SH Then
T = 0;
#저점이 발생후 저점보다 낮은 저가 발생하면 다음 고점/저점 판별까지 대기
if T <= -1 and L < SL Then
T = 0;
#고점발생후 양봉 2개 발생
if T == 1 and countif(C>O,index-Hi) >= 2 Then{
T = 2;
#첫양봉과 두번째 양봉 위치 계산
Y1 = 0;
Y2 = 0;
Y3 = 0;
for cnt = (index-Hi)-1 downto 0{
if C[cnt] > O[cnt] Then{
Y1 = Y1+1;
if Y1 == 1 Then
Y2 = cnt;
if Y1 == 2 Then
Y3 = cnt;
}
}
#고점에서 첫양봉까지의 최저가위치와 값 계산
LL1 = L[(index-Hi)-1];
LD1 = sdate[(index-Hi)-1];
LT1 = sTime[(index-Hi)-1];
for cnt = Y2 to (index-Hi)-1{
if L[cnt] < LL1 then{
LL1 = L[cnt];
LD1 = sdate[cnt];
LT1 = stime[cnt];
}
}
#첫양봉에서 두번째양봉까지의 최저가위치와 값 계산
LL2 = L[Y3];
LD2 = sdate[Y3];
LT2 = sTime[Y3];
for cnt = Y3 to Y2-1{
if L[cnt] < LL2 then{
LL2 = L[cnt];
LD2 = sdate[cnt];
LT2 = stime[cnt];
}
}
#매수 추세선 출력
BTL = TL_New(LD1,LT1,LL1,LD2,LT2,LL2);
TL_SetExtRight(BTL,true);
TL_SetColor(BTL,RED);
}
#추세선 발생 후 해당 추세선 보다 낮은 종가 발생하면 매수
if T == 2 then{
if C < TL_GetValue(BTL,sdate,stime) Then
buy("b");
}
#저점발생후 음봉 2개 발생
if T == -1 and countif(C<O,index-Li) >= 2 Then{
T = -2;
#첫음봉과 두번째 음봉 위치 계산
Z1 = 0;
Z2 = 0;
Z3 = 0;
for cnt = (index-Li)-1 downto 0{
if C[cnt] < O[cnt] Then{
Z1 = Z1+1;
if Z1 == 1 Then
Z2 = cnt;
if Z1 == 2 Then
Z3 = cnt;
}
}
#저점에서 첫음봉까지의 최고가위치와 값 계산
HH1 = H[(index-Li)-1];
HD1 = sdate[(index-Li)-1];
HT1 = sTime[(index-Li)-1];
for cnt = Z2 to (index-Li)-1{
if H[cnt] > HH1 then{
HH1 = H[cnt];
HD1 = sdate[cnt];
HT1 = stime[cnt];
}
}
#첫음봉에서 두번째음봉까지의 최고가위치와 값 계산
HH2 = H[Z3];
HD2 = sdate[Z3];
HT2 = sTime[Z3];
for cnt = Z3 to Z2-1{
if H[cnt] > HH2 then{
HH2 = H[cnt];
HD2 = sdate[cnt];
HT2 = stime[cnt];
}
}
#매도 추세선 출력
STL = TL_New(HD1,HT1,HH1,HD2,HT2,HH2);
TL_SetExtRight(STL,true);
TL_SetColor(STL,BLUE);
}
#추세선 발생 후 해당 추세선 보다 높은 종가 발생하면 매도
if T == -2 then{
if C > TL_GetValue(STL,sdate,stime) Then
sell("s");
}
답변 3
예스스탁 예스스탁 답변
2016-10-20 09:35:45
안녕하세요
예스스탁입니다.
"아래식은 매수 진입도중 강제청산조건이 되기 전에 매도조건이 될 경우, 반대 매매로 들어가서
청산이 되는 것 같이 됩니다.
청산과 동시에 매도도 성립이 되어야하는데 (스위치), 어떻게 수정하면 될지 잘 모르겠습니다."
문의하신 내용이 스위칭을 막고자 하는시는지 모호합니다.
해당식이 기본적으로 스위칭이 되는 식입니다.
buy진입 후 sell발생하면 청산후 매도진입
sell진입 후 buy발생하면 청산후 매수진입
진입후 설정하신 다른 강제청산으로 청산되기 전에는
다른 진입으로 스위칭이 안되게 작성해 올려드립니다.
input : Left(5),Right(5);
var : T(0),cnt(0);
var : Hi(0),SH(0),Y1(0),Y2(0),Y3(0),LL1(0),LD1(0),LT1(0),LL2(0),LD2(0),LT2(0),BTL(0);
var : Li(0),SL(0),Z1(0),Z2(0),Z3(0),HH1(0),HD1(0),HT1(0),HH2(0),HD2(0),HT2(0),STL(0);
#고점발생
if SwingHigh(1,H,Left,right,Left+Right+1) != -1 Then{
T = 1;
Hi = index[Right];
SH = H[right];
}
#저점발생
if SwingLow(1,L,Left,right,Left+Right+1) != -1 Then{
T = -1;
Li = index[right];
SL = L[right];
}
#고점이 발생후 고점보다 높은 고가 발생하면 다음 고점/저점 판별까지 대기
if T >= 1 and H > SH Then
T = 0;
#저점이 발생후 저점보다 낮은 저가 발생하면 다음 고점/저점 판별까지 대기
if T <= -1 and L < SL Then
T = 0;
#고점발생후 양봉 2개 발생
if T == 1 and countif(C>O,index-Hi) >= 2 Then{
T = 2;
#첫양봉과 두번째 양봉 위치 계산
Y1 = 0;
Y2 = 0;
Y3 = 0;
for cnt = (index-Hi)-1 downto 0{
if C[cnt] > O[cnt] Then{
Y1 = Y1+1;
if Y1 == 1 Then
Y2 = cnt;
if Y1 == 2 Then
Y3 = cnt;
}
}
#고점에서 첫양봉까지의 최저가위치와 값 계산
LL1 = L[(index-Hi)-1];
LD1 = sdate[(index-Hi)-1];
LT1 = sTime[(index-Hi)-1];
for cnt = Y2 to (index-Hi)-1{
if L[cnt] < LL1 then{
LL1 = L[cnt];
LD1 = sdate[cnt];
LT1 = stime[cnt];
}
}
#첫양봉에서 두번째양봉까지의 최저가위치와 값 계산
LL2 = L[Y3];
LD2 = sdate[Y3];
LT2 = sTime[Y3];
for cnt = Y3 to Y2-1{
if L[cnt] < LL2 then{
LL2 = L[cnt];
LD2 = sdate[cnt];
LT2 = stime[cnt];
}
}
#매수 추세선 출력
BTL = TL_New(LD1,LT1,LL1,LD2,LT2,LL2);
TL_SetExtRight(BTL,true);
TL_SetColor(BTL,RED);
}
#추세선 발생 후 해당 추세선 보다 낮은 종가 발생하면 매수
if T == 2 and MarketPosition == 0 then{
if C < TL_GetValue(BTL,sdate,stime) Then
buy("b");
}
#저점발생후 음봉 2개 발생
if T == -1 and countif(C<O,index-Li) >= 2 Then{
T = -2;
#첫음봉과 두번째 음봉 위치 계산
Z1 = 0;
Z2 = 0;
Z3 = 0;
for cnt = (index-Li)-1 downto 0{
if C[cnt] < O[cnt] Then{
Z1 = Z1+1;
if Z1 == 1 Then
Z2 = cnt;
if Z1 == 2 Then
Z3 = cnt;
}
}
#저점에서 첫음봉까지의 최고가위치와 값 계산
HH1 = H[(index-Li)-1];
HD1 = sdate[(index-Li)-1];
HT1 = sTime[(index-Li)-1];
for cnt = Z2 to (index-Li)-1{
if H[cnt] > HH1 then{
HH1 = H[cnt];
HD1 = sdate[cnt];
HT1 = stime[cnt];
}
}
#첫음봉에서 두번째음봉까지의 최고가위치와 값 계산
HH2 = H[Z3];
HD2 = sdate[Z3];
HT2 = sTime[Z3];
for cnt = Z3 to Z2-1{
if H[cnt] > HH2 then{
HH2 = H[cnt];
HD2 = sdate[cnt];
HT2 = stime[cnt];
}
}
#매도 추세선 출력
STL = TL_New(HD1,HT1,HH1,HD2,HT2,HH2);
TL_SetExtRight(STL,true);
TL_SetColor(STL,BLUE);
}
#추세선 발생 후 해당 추세선 보다 높은 종가 발생하면 매도
if T == -2 and MarketPosition == 0 then{
if C > TL_GetValue(STL,sdate,stime) Then
sell("s");
}
즐거운 하루되세요
> labio 님이 쓴 글입니다.
> 제목 : 시스템 문의
> 안녕하세요.
일전에 문의드렸던 건 중에 아래와 같은 식을 답변 받았습니다.
아래식은 매수 진입도중 강제청산조건이 되기 전에 매도조건이 될 경우, 반대 매매로 들어가서
청산이 되는 것 같이 됩니다.
청산과 동시에 매도도 성립이 되어야하는데 (스위치), 어떻게 수정하면 될지 잘 모르겠습니다.
도와주시면 감사하겠습니다.
========================
input : Left(5),Right(5);
var : T(0),cnt(0);
var : Hi(0),SH(0),Y1(0),Y2(0),Y3(0),LL1(0),LD1(0),LT1(0),LL2(0),LD2(0),LT2(0),BTL(0);
var : Li(0),SL(0),Z1(0),Z2(0),Z3(0),HH1(0),HD1(0),HT1(0),HH2(0),HD2(0),HT2(0),STL(0);
#고점발생
if SwingHigh(1,H,Left,right,Left+Right+1) != -1 Then{
T = 1;
Hi = index[Right];
SH = H[right];
}
#저점발생
if SwingLow(1,L,Left,right,Left+Right+1) != -1 Then{
T = -1;
Li = index[right];
SL = L[right];
}
#고점이 발생후 고점보다 높은 고가 발생하면 다음 고점/저점 판별까지 대기
if T >= 1 and H > SH Then
T = 0;
#저점이 발생후 저점보다 낮은 저가 발생하면 다음 고점/저점 판별까지 대기
if T <= -1 and L < SL Then
T = 0;
#고점발생후 양봉 2개 발생
if T == 1 and countif(C>O,index-Hi) >= 2 Then{
T = 2;
#첫양봉과 두번째 양봉 위치 계산
Y1 = 0;
Y2 = 0;
Y3 = 0;
for cnt = (index-Hi)-1 downto 0{
if C[cnt] > O[cnt] Then{
Y1 = Y1+1;
if Y1 == 1 Then
Y2 = cnt;
if Y1 == 2 Then
Y3 = cnt;
}
}
#고점에서 첫양봉까지의 최저가위치와 값 계산
LL1 = L[(index-Hi)-1];
LD1 = sdate[(index-Hi)-1];
LT1 = sTime[(index-Hi)-1];
for cnt = Y2 to (index-Hi)-1{
if L[cnt] < LL1 then{
LL1 = L[cnt];
LD1 = sdate[cnt];
LT1 = stime[cnt];
}
}
#첫양봉에서 두번째양봉까지의 최저가위치와 값 계산
LL2 = L[Y3];
LD2 = sdate[Y3];
LT2 = sTime[Y3];
for cnt = Y3 to Y2-1{
if L[cnt] < LL2 then{
LL2 = L[cnt];
LD2 = sdate[cnt];
LT2 = stime[cnt];
}
}
#매수 추세선 출력
BTL = TL_New(LD1,LT1,LL1,LD2,LT2,LL2);
TL_SetExtRight(BTL,true);
TL_SetColor(BTL,RED);
}
#추세선 발생 후 해당 추세선 보다 낮은 종가 발생하면 매수
if T == 2 then{
if C < TL_GetValue(BTL,sdate,stime) Then
buy("b");
}
#저점발생후 음봉 2개 발생
if T == -1 and countif(C<O,index-Li) >= 2 Then{
T = -2;
#첫음봉과 두번째 음봉 위치 계산
Z1 = 0;
Z2 = 0;
Z3 = 0;
for cnt = (index-Li)-1 downto 0{
if C[cnt] < O[cnt] Then{
Z1 = Z1+1;
if Z1 == 1 Then
Z2 = cnt;
if Z1 == 2 Then
Z3 = cnt;
}
}
#저점에서 첫음봉까지의 최고가위치와 값 계산
HH1 = H[(index-Li)-1];
HD1 = sdate[(index-Li)-1];
HT1 = sTime[(index-Li)-1];
for cnt = Z2 to (index-Li)-1{
if H[cnt] > HH1 then{
HH1 = H[cnt];
HD1 = sdate[cnt];
HT1 = stime[cnt];
}
}
#첫음봉에서 두번째음봉까지의 최고가위치와 값 계산
HH2 = H[Z3];
HD2 = sdate[Z3];
HT2 = sTime[Z3];
for cnt = Z3 to Z2-1{
if H[cnt] > HH2 then{
HH2 = H[cnt];
HD2 = sdate[cnt];
HT2 = stime[cnt];
}
}
#매도 추세선 출력
STL = TL_New(HD1,HT1,HH1,HD2,HT2,HH2);
TL_SetExtRight(STL,true);
TL_SetColor(STL,BLUE);
}
#추세선 발생 후 해당 추세선 보다 높은 종가 발생하면 매도
if T == -2 then{
if C > TL_GetValue(STL,sdate,stime) Then
sell("s");
}
labio
2016-10-20 09:56:01
스위칭이 되었으면 하는데 되지 않습니다.
이런 경우는 어디에 문의를 하는게 좋을까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템 문의
>
안녕하세요
예스스탁입니다.
"아래식은 매수 진입도중 강제청산조건이 되기 전에 매도조건이 될 경우, 반대 매매로 들어가서
청산이 되는 것 같이 됩니다.
청산과 동시에 매도도 성립이 되어야하는데 (스위치), 어떻게 수정하면 될지 잘 모르겠습니다."
문의하신 내용이 스위칭을 막고자 하는시는지 모호합니다.
해당식이 기본적으로 스위칭이 되는 식입니다.
buy진입 후 sell발생하면 청산후 매도진입
sell진입 후 buy발생하면 청산후 매수진입
진입후 설정하신 다른 강제청산으로 청산되기 전에는
다른 진입으로 스위칭이 안되게 작성해 올려드립니다.
input : Left(5),Right(5);
var : T(0),cnt(0);
var : Hi(0),SH(0),Y1(0),Y2(0),Y3(0),LL1(0),LD1(0),LT1(0),LL2(0),LD2(0),LT2(0),BTL(0);
var : Li(0),SL(0),Z1(0),Z2(0),Z3(0),HH1(0),HD1(0),HT1(0),HH2(0),HD2(0),HT2(0),STL(0);
#고점발생
if SwingHigh(1,H,Left,right,Left+Right+1) != -1 Then{
T = 1;
Hi = index[Right];
SH = H[right];
}
#저점발생
if SwingLow(1,L,Left,right,Left+Right+1) != -1 Then{
T = -1;
Li = index[right];
SL = L[right];
}
#고점이 발생후 고점보다 높은 고가 발생하면 다음 고점/저점 판별까지 대기
if T >= 1 and H > SH Then
T = 0;
#저점이 발생후 저점보다 낮은 저가 발생하면 다음 고점/저점 판별까지 대기
if T <= -1 and L < SL Then
T = 0;
#고점발생후 양봉 2개 발생
if T == 1 and countif(C>O,index-Hi) >= 2 Then{
T = 2;
#첫양봉과 두번째 양봉 위치 계산
Y1 = 0;
Y2 = 0;
Y3 = 0;
for cnt = (index-Hi)-1 downto 0{
if C[cnt] > O[cnt] Then{
Y1 = Y1+1;
if Y1 == 1 Then
Y2 = cnt;
if Y1 == 2 Then
Y3 = cnt;
}
}
#고점에서 첫양봉까지의 최저가위치와 값 계산
LL1 = L[(index-Hi)-1];
LD1 = sdate[(index-Hi)-1];
LT1 = sTime[(index-Hi)-1];
for cnt = Y2 to (index-Hi)-1{
if L[cnt] < LL1 then{
LL1 = L[cnt];
LD1 = sdate[cnt];
LT1 = stime[cnt];
}
}
#첫양봉에서 두번째양봉까지의 최저가위치와 값 계산
LL2 = L[Y3];
LD2 = sdate[Y3];
LT2 = sTime[Y3];
for cnt = Y3 to Y2-1{
if L[cnt] < LL2 then{
LL2 = L[cnt];
LD2 = sdate[cnt];
LT2 = stime[cnt];
}
}
#매수 추세선 출력
BTL = TL_New(LD1,LT1,LL1,LD2,LT2,LL2);
TL_SetExtRight(BTL,true);
TL_SetColor(BTL,RED);
}
#추세선 발생 후 해당 추세선 보다 낮은 종가 발생하면 매수
if T == 2 and MarketPosition == 0 then{
if C < TL_GetValue(BTL,sdate,stime) Then
buy("b");
}
#저점발생후 음봉 2개 발생
if T == -1 and countif(C<O,index-Li) >= 2 Then{
T = -2;
#첫음봉과 두번째 음봉 위치 계산
Z1 = 0;
Z2 = 0;
Z3 = 0;
for cnt = (index-Li)-1 downto 0{
if C[cnt] < O[cnt] Then{
Z1 = Z1+1;
if Z1 == 1 Then
Z2 = cnt;
if Z1 == 2 Then
Z3 = cnt;
}
}
#저점에서 첫음봉까지의 최고가위치와 값 계산
HH1 = H[(index-Li)-1];
HD1 = sdate[(index-Li)-1];
HT1 = sTime[(index-Li)-1];
for cnt = Z2 to (index-Li)-1{
if H[cnt] > HH1 then{
HH1 = H[cnt];
HD1 = sdate[cnt];
HT1 = stime[cnt];
}
}
#첫음봉에서 두번째음봉까지의 최고가위치와 값 계산
HH2 = H[Z3];
HD2 = sdate[Z3];
HT2 = sTime[Z3];
for cnt = Z3 to Z2-1{
if H[cnt] > HH2 then{
HH2 = H[cnt];
HD2 = sdate[cnt];
HT2 = stime[cnt];
}
}
#매도 추세선 출력
STL = TL_New(HD1,HT1,HH1,HD2,HT2,HH2);
TL_SetExtRight(STL,true);
TL_SetColor(STL,BLUE);
}
#추세선 발생 후 해당 추세선 보다 높은 종가 발생하면 매도
if T == -2 and MarketPosition == 0 then{
if C > TL_GetValue(STL,sdate,stime) Then
sell("s");
}
즐거운 하루되세요
> labio 님이 쓴 글입니다.
> 제목 : 시스템 문의
> 안녕하세요.
일전에 문의드렸던 건 중에 아래와 같은 식을 답변 받았습니다.
아래식은 매수 진입도중 강제청산조건이 되기 전에 매도조건이 될 경우, 반대 매매로 들어가서
청산이 되는 것 같이 됩니다.
청산과 동시에 매도도 성립이 되어야하는데 (스위치), 어떻게 수정하면 될지 잘 모르겠습니다.
도와주시면 감사하겠습니다.
========================
input : Left(5),Right(5);
var : T(0),cnt(0);
var : Hi(0),SH(0),Y1(0),Y2(0),Y3(0),LL1(0),LD1(0),LT1(0),LL2(0),LD2(0),LT2(0),BTL(0);
var : Li(0),SL(0),Z1(0),Z2(0),Z3(0),HH1(0),HD1(0),HT1(0),HH2(0),HD2(0),HT2(0),STL(0);
#고점발생
if SwingHigh(1,H,Left,right,Left+Right+1) != -1 Then{
T = 1;
Hi = index[Right];
SH = H[right];
}
#저점발생
if SwingLow(1,L,Left,right,Left+Right+1) != -1 Then{
T = -1;
Li = index[right];
SL = L[right];
}
#고점이 발생후 고점보다 높은 고가 발생하면 다음 고점/저점 판별까지 대기
if T >= 1 and H > SH Then
T = 0;
#저점이 발생후 저점보다 낮은 저가 발생하면 다음 고점/저점 판별까지 대기
if T <= -1 and L < SL Then
T = 0;
#고점발생후 양봉 2개 발생
if T == 1 and countif(C>O,index-Hi) >= 2 Then{
T = 2;
#첫양봉과 두번째 양봉 위치 계산
Y1 = 0;
Y2 = 0;
Y3 = 0;
for cnt = (index-Hi)-1 downto 0{
if C[cnt] > O[cnt] Then{
Y1 = Y1+1;
if Y1 == 1 Then
Y2 = cnt;
if Y1 == 2 Then
Y3 = cnt;
}
}
#고점에서 첫양봉까지의 최저가위치와 값 계산
LL1 = L[(index-Hi)-1];
LD1 = sdate[(index-Hi)-1];
LT1 = sTime[(index-Hi)-1];
for cnt = Y2 to (index-Hi)-1{
if L[cnt] < LL1 then{
LL1 = L[cnt];
LD1 = sdate[cnt];
LT1 = stime[cnt];
}
}
#첫양봉에서 두번째양봉까지의 최저가위치와 값 계산
LL2 = L[Y3];
LD2 = sdate[Y3];
LT2 = sTime[Y3];
for cnt = Y3 to Y2-1{
if L[cnt] < LL2 then{
LL2 = L[cnt];
LD2 = sdate[cnt];
LT2 = stime[cnt];
}
}
#매수 추세선 출력
BTL = TL_New(LD1,LT1,LL1,LD2,LT2,LL2);
TL_SetExtRight(BTL,true);
TL_SetColor(BTL,RED);
}
#추세선 발생 후 해당 추세선 보다 낮은 종가 발생하면 매수
if T == 2 then{
if C < TL_GetValue(BTL,sdate,stime) Then
buy("b");
}
#저점발생후 음봉 2개 발생
if T == -1 and countif(C<O,index-Li) >= 2 Then{
T = -2;
#첫음봉과 두번째 음봉 위치 계산
Z1 = 0;
Z2 = 0;
Z3 = 0;
for cnt = (index-Li)-1 downto 0{
if C[cnt] < O[cnt] Then{
Z1 = Z1+1;
if Z1 == 1 Then
Z2 = cnt;
if Z1 == 2 Then
Z3 = cnt;
}
}
#저점에서 첫음봉까지의 최고가위치와 값 계산
HH1 = H[(index-Li)-1];
HD1 = sdate[(index-Li)-1];
HT1 = sTime[(index-Li)-1];
for cnt = Z2 to (index-Li)-1{
if H[cnt] > HH1 then{
HH1 = H[cnt];
HD1 = sdate[cnt];
HT1 = stime[cnt];
}
}
#첫음봉에서 두번째음봉까지의 최고가위치와 값 계산
HH2 = H[Z3];
HD2 = sdate[Z3];
HT2 = sTime[Z3];
for cnt = Z3 to Z2-1{
if H[cnt] > HH2 then{
HH2 = H[cnt];
HD2 = sdate[cnt];
HT2 = stime[cnt];
}
}
#매도 추세선 출력
STL = TL_New(HD1,HT1,HH1,HD2,HT2,HH2);
TL_SetExtRight(STL,true);
TL_SetColor(STL,BLUE);
}
#추세선 발생 후 해당 추세선 보다 높은 종가 발생하면 매도
if T == -2 then{
if C > TL_GetValue(STL,sdate,stime) Then
sell("s");
}
예스스탁 예스스탁 답변
2016-10-20 10:06:57
> labio 님이 쓴 글입니다.
> 제목 : Re : Re : 시스템 문의
> 스위칭이 되었으면 하는데 되지 않습니다.
이런 경우는 어디에 문의를 하는게 좋을까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템 문의
>
안녕하세요
예스스탁입니다.
"아래식은 매수 진입도중 강제청산조건이 되기 전에 매도조건이 될 경우, 반대 매매로 들어가서
청산이 되는 것 같이 됩니다.
청산과 동시에 매도도 성립이 되어야하는데 (스위치), 어떻게 수정하면 될지 잘 모르겠습니다."
문의하신 내용이 스위칭을 막고자 하는시는지 모호합니다.
해당식이 기본적으로 스위칭이 되는 식입니다.
buy진입 후 sell발생하면 청산후 매도진입
sell진입 후 buy발생하면 청산후 매수진입
진입후 설정하신 다른 강제청산으로 청산되기 전에는
다른 진입으로 스위칭이 안되게 작성해 올려드립니다.
input : Left(5),Right(5);
var : T(0),cnt(0);
var : Hi(0),SH(0),Y1(0),Y2(0),Y3(0),LL1(0),LD1(0),LT1(0),LL2(0),LD2(0),LT2(0),BTL(0);
var : Li(0),SL(0),Z1(0),Z2(0),Z3(0),HH1(0),HD1(0),HT1(0),HH2(0),HD2(0),HT2(0),STL(0);
#고점발생
if SwingHigh(1,H,Left,right,Left+Right+1) != -1 Then{
T = 1;
Hi = index[Right];
SH = H[right];
}
#저점발생
if SwingLow(1,L,Left,right,Left+Right+1) != -1 Then{
T = -1;
Li = index[right];
SL = L[right];
}
#고점이 발생후 고점보다 높은 고가 발생하면 다음 고점/저점 판별까지 대기
if T >= 1 and H > SH Then
T = 0;
#저점이 발생후 저점보다 낮은 저가 발생하면 다음 고점/저점 판별까지 대기
if T <= -1 and L < SL Then
T = 0;
#고점발생후 양봉 2개 발생
if T == 1 and countif(C>O,index-Hi) >= 2 Then{
T = 2;
#첫양봉과 두번째 양봉 위치 계산
Y1 = 0;
Y2 = 0;
Y3 = 0;
for cnt = (index-Hi)-1 downto 0{
if C[cnt] > O[cnt] Then{
Y1 = Y1+1;
if Y1 == 1 Then
Y2 = cnt;
if Y1 == 2 Then
Y3 = cnt;
}
}
#고점에서 첫양봉까지의 최저가위치와 값 계산
LL1 = L[(index-Hi)-1];
LD1 = sdate[(index-Hi)-1];
LT1 = sTime[(index-Hi)-1];
for cnt = Y2 to (index-Hi)-1{
if L[cnt] < LL1 then{
LL1 = L[cnt];
LD1 = sdate[cnt];
LT1 = stime[cnt];
}
}
#첫양봉에서 두번째양봉까지의 최저가위치와 값 계산
LL2 = L[Y3];
LD2 = sdate[Y3];
LT2 = sTime[Y3];
for cnt = Y3 to Y2-1{
if L[cnt] < LL2 then{
LL2 = L[cnt];
LD2 = sdate[cnt];
LT2 = stime[cnt];
}
}
#매수 추세선 출력
BTL = TL_New(LD1,LT1,LL1,LD2,LT2,LL2);
TL_SetExtRight(BTL,true);
TL_SetColor(BTL,RED);
}
#추세선 발생 후 해당 추세선 보다 낮은 종가 발생하면 매수
if T == 2 and MarketPosition == 0 then{
if C < TL_GetValue(BTL,sdate,stime) Then
buy("b");
}
#저점발생후 음봉 2개 발생
if T == -1 and countif(C<O,index-Li) >= 2 Then{
T = -2;
#첫음봉과 두번째 음봉 위치 계산
Z1 = 0;
Z2 = 0;
Z3 = 0;
for cnt = (index-Li)-1 downto 0{
if C[cnt] < O[cnt] Then{
Z1 = Z1+1;
if Z1 == 1 Then
Z2 = cnt;
if Z1 == 2 Then
Z3 = cnt;
}
}
#저점에서 첫음봉까지의 최고가위치와 값 계산
HH1 = H[(index-Li)-1];
HD1 = sdate[(index-Li)-1];
HT1 = sTime[(index-Li)-1];
for cnt = Z2 to (index-Li)-1{
if H[cnt] > HH1 then{
HH1 = H[cnt];
HD1 = sdate[cnt];
HT1 = stime[cnt];
}
}
#첫음봉에서 두번째음봉까지의 최고가위치와 값 계산
HH2 = H[Z3];
HD2 = sdate[Z3];
HT2 = sTime[Z3];
for cnt = Z3 to Z2-1{
if H[cnt] > HH2 then{
HH2 = H[cnt];
HD2 = sdate[cnt];
HT2 = stime[cnt];
}
}
#매도 추세선 출력
STL = TL_New(HD1,HT1,HH1,HD2,HT2,HH2);
TL_SetExtRight(STL,true);
TL_SetColor(STL,BLUE);
}
#추세선 발생 후 해당 추세선 보다 높은 종가 발생하면 매도
if T == -2 and MarketPosition == 0 then{
if C > TL_GetValue(STL,sdate,stime) Then
sell("s");
}
즐거운 하루되세요
> labio 님이 쓴 글입니다.
> 제목 : 시스템 문의
> 안녕하세요.
일전에 문의드렸던 건 중에 아래와 같은 식을 답변 받았습니다.
아래식은 매수 진입도중 강제청산조건이 되기 전에 매도조건이 될 경우, 반대 매매로 들어가서
청산이 되는 것 같이 됩니다.
청산과 동시에 매도도 성립이 되어야하는데 (스위치), 어떻게 수정하면 될지 잘 모르겠습니다.
도와주시면 감사하겠습니다.
========================
input : Left(5),Right(5);
var : T(0),cnt(0);
var : Hi(0),SH(0),Y1(0),Y2(0),Y3(0),LL1(0),LD1(0),LT1(0),LL2(0),LD2(0),LT2(0),BTL(0);
var : Li(0),SL(0),Z1(0),Z2(0),Z3(0),HH1(0),HD1(0),HT1(0),HH2(0),HD2(0),HT2(0),STL(0);
#고점발생
if SwingHigh(1,H,Left,right,Left+Right+1) != -1 Then{
T = 1;
Hi = index[Right];
SH = H[right];
}
#저점발생
if SwingLow(1,L,Left,right,Left+Right+1) != -1 Then{
T = -1;
Li = index[right];
SL = L[right];
}
#고점이 발생후 고점보다 높은 고가 발생하면 다음 고점/저점 판별까지 대기
if T >= 1 and H > SH Then
T = 0;
#저점이 발생후 저점보다 낮은 저가 발생하면 다음 고점/저점 판별까지 대기
if T <= -1 and L < SL Then
T = 0;
#고점발생후 양봉 2개 발생
if T == 1 and countif(C>O,index-Hi) >= 2 Then{
T = 2;
#첫양봉과 두번째 양봉 위치 계산
Y1 = 0;
Y2 = 0;
Y3 = 0;
for cnt = (index-Hi)-1 downto 0{
if C[cnt] > O[cnt] Then{
Y1 = Y1+1;
if Y1 == 1 Then
Y2 = cnt;
if Y1 == 2 Then
Y3 = cnt;
}
}
#고점에서 첫양봉까지의 최저가위치와 값 계산
LL1 = L[(index-Hi)-1];
LD1 = sdate[(index-Hi)-1];
LT1 = sTime[(index-Hi)-1];
for cnt = Y2 to (index-Hi)-1{
if L[cnt] < LL1 then{
LL1 = L[cnt];
LD1 = sdate[cnt];
LT1 = stime[cnt];
}
}
#첫양봉에서 두번째양봉까지의 최저가위치와 값 계산
LL2 = L[Y3];
LD2 = sdate[Y3];
LT2 = sTime[Y3];
for cnt = Y3 to Y2-1{
if L[cnt] < LL2 then{
LL2 = L[cnt];
LD2 = sdate[cnt];
LT2 = stime[cnt];
}
}
#매수 추세선 출력
BTL = TL_New(LD1,LT1,LL1,LD2,LT2,LL2);
TL_SetExtRight(BTL,true);
TL_SetColor(BTL,RED);
}
#추세선 발생 후 해당 추세선 보다 낮은 종가 발생하면 매수
if T == 2 then{
if C < TL_GetValue(BTL,sdate,stime) Then
buy("b");
}
#저점발생후 음봉 2개 발생
if T == -1 and countif(C<O,index-Li) >= 2 Then{
T = -2;
#첫음봉과 두번째 음봉 위치 계산
Z1 = 0;
Z2 = 0;
Z3 = 0;
for cnt = (index-Li)-1 downto 0{
if C[cnt] < O[cnt] Then{
Z1 = Z1+1;
if Z1 == 1 Then
Z2 = cnt;
if Z1 == 2 Then
Z3 = cnt;
}
}
#저점에서 첫음봉까지의 최고가위치와 값 계산
HH1 = H[(index-Li)-1];
HD1 = sdate[(index-Li)-1];
HT1 = sTime[(index-Li)-1];
for cnt = Z2 to (index-Li)-1{
if H[cnt] > HH1 then{
HH1 = H[cnt];
HD1 = sdate[cnt];
HT1 = stime[cnt];
}
}
#첫음봉에서 두번째음봉까지의 최고가위치와 값 계산
HH2 = H[Z3];
HD2 = sdate[Z3];
HT2 = sTime[Z3];
for cnt = Z3 to Z2-1{
if H[cnt] > HH2 then{
HH2 = H[cnt];
HD2 = sdate[cnt];
HT2 = stime[cnt];
}
}
#매도 추세선 출력
STL = TL_New(HD1,HT1,HH1,HD2,HT2,HH2);
TL_SetExtRight(STL,true);
TL_SetColor(STL,BLUE);
}
#추세선 발생 후 해당 추세선 보다 높은 종가 발생하면 매도
if T == -2 then{
if C > TL_GetValue(STL,sdate,stime) Then
sell("s");
}
다음글
이전글