커뮤니티
시스템식 수정 문의드립니다
2016-06-07 19:30:04
117
글번호 98759
안녕하세요~~~
신고가 조건과 매수전 조건을 추가 하고 싶어서 문의드립니다!!
항상 감사합니다!!!
현재 아래의 시스템식을 15분봉 상에서 적용중입니다
1. 신고가 조건 추가
ㄱ. 15분 봉상 고가가 15분 봉상의 엔벨로프 20,20의 상단을 넘었던 적이 있고
ㄴ. a = 15분봉상 지난 500봉의 최대거래량
a 돌파 & 15분 봉이 o*1.06 < c
ㄱ&ㄴ의 조건 만족시 신고가 조건 만족으로 매수준비
2. 매수전 조건 추가 (현재 이평선 조건에)
ㄱ. 조건 - 현재 매수구간에서 -6%이상의 음봉
매수전 발생 = 매수금지 (다음 신고가 조건 만족전까지)
1차매수 이후 발생 = 추매는 그대로, 매도폭은 50%
ㄴ. 현재매수구간에서
조건 - a = 15분봉상 지난 500봉의 최대거래량
a*0.6 의 거래량 돌파 & 15분봉 o*1.06> c 발생
매수전 = 매수금지 (다음 신고가 조건 만족전까지)
1차매수 이후 발생 = 추매는 그대로, 매도폭은 50%
다음 신고가가 발생되면 2의 조건들은 리셋
위와 같습니다.
모자라는 부분 알려주시면 바로 보충하겠습니다!!
---------------------------------------------------
input : P(20),시작날짜(20160108),매수1차(1000000),매수2차(1500000),매수3차(2000000);
var : T(0),HH(0),Price1(0),Price2(0),Price3(0),diff(0),maxdiff(0),Lv(0),sum(0),mav(0),cnt(0),Hv(0),entry(false);
var : dayhh(0);
sum = 0;
dayhh = dayhigh(0);
for cnt = 0 to P-1{
sum = sum+DayClose(cnt);
if dayhigh(cnt) > dayhh Then
dayhh = dayhigh(cnt);
}
mav = sum/P;
######## 매수전 조건 ##############
if sdate >= 시작날짜 then{
if crossup(L,mav) Then{
T = 1;
diff = 0;
maxdiff = 0;
Condition1 = false;
entry = false;
}
if CrossDown(H,mav) Then{
T = -1;
Condition1 = false;
entry = false;
}
##### 신고가 조건 ############
if dayhh > dayhh[1] Then{
Condition1 = true;
entry = true;
Hv = H;
Lv = L;
}
######### 폭설정 조건 ###############
if T == 1 and Condition1 == true Then{
if H > Hv Then
Hv = H;
if L < Lv Then
Lv = L;
diff = Hv-Lv;
if diff > maxdiff Then
maxdiff = diff;
Price1 = Hv-maxdiff*1;
Price2 = Hv-maxdiff*2;
Price3 = Hv-maxdiff*3;
}
if MarketPosition == 1 Then
entry = false;
#가격이 하락해 1차매수가격 이하이면 매수
if MarketPosition == 0 and Condition1 == true and entry == true and L > mav and Hv >= Price1*1.025 Then
buy("b1",atlimit,Price1,Floor(매수1차/C));
#가격이 하락해 2차매수가격 이하이면 매수
if MarketPosition == 1 and MaxEntries == 1 and Price2[BarsSinceEntry+1] > 0 Then
buy("b2",atlimit,Price2[BarsSinceEntry+1],Floor(매수2차/C));
#가격이 하락해 3차매수가격 이하이면 매수
if MarketPosition == 1 and MaxEntries == 2 and Price3[BarsSinceEntry+1] > 0 Then
buy("b3",atlimit,Price3[BarsSinceEntry+1],Floor(매수3차/C));
if MarketPosition == 1 Then{
#진입이후로 한번도 선 아래로 내려가지 않은경우
#진입이후 최저가에서 폭만큼 상승하면 청산
if countif(L<mav,BarsSinceEntry) == 0 Then
ExitLong("bx1",atlimit,lowest(L,BarsSinceEntry)+maxdiff[BarsSinceEntry+1]);
#진입이후로 20선 아래로 한번이상 내려간 경우
#진입이후 최저가에서 폭의 절반만큼 상승하면 청산
if countif(L<mav,BarsSinceEntry) >= 1 Then
ExitLong("bx2",atlimit,lowest(L,BarsSinceEntry)+maxdiff[BarsSinceEntry+1]*0.5);
#일괄매도 = 현재 20일 신고가 이후 최저가 + 최대폭(75%)
ExitLong("일괄매도",atlimit,lowest(L,BarsSinceEntry)+maxdiff[BarsSinceEntry+1]*0.75);
if MaxEntries == 2 Then
exitlong("본절2",atlimit,(Price1[BarsSinceEntry+1]+Price2[BarsSinceEntry+1])/2);
if MaxEntries == 3 Then
exitlong("본절3",atlimit,Price2[BarsSinceEntry+1]);
}
}
답변 1
예스스탁 예스스탁 답변
2016-06-08 10:23:51
> kosto1 님이 쓴 글입니다.
> 제목 : 시스템식 수정 문의드립니다
> 안녕하세요~~~
신고가 조건과 매수전 조건을 추가 하고 싶어서 문의드립니다!!
항상 감사합니다!!!
현재 아래의 시스템식을 15분봉 상에서 적용중입니다
1. 신고가 조건 추가
ㄱ. 15분 봉상 고가가 15분 봉상의 엔벨로프 20,20의 상단을 넘었던 적이 있고
ㄴ. a = 15분봉상 지난 500봉의 최대거래량
a 돌파 & 15분 봉이 o*1.06 < c
ㄱ&ㄴ의 조건 만족시 신고가 조건 만족으로 매수준비
2. 매수전 조건 추가 (현재 이평선 조건에)
ㄱ. 조건 - 현재 매수구간에서 -6%이상의 음봉
매수전 발생 = 매수금지 (다음 신고가 조건 만족전까지)
1차매수 이후 발생 = 추매는 그대로, 매도폭은 50%
ㄴ. 현재매수구간에서
조건 - a = 15분봉상 지난 500봉의 최대거래량
a*0.6 의 거래량 돌파 & 15분봉 o*1.06> c 발생
매수전 = 매수금지 (다음 신고가 조건 만족전까지)
1차매수 이후 발생 = 추매는 그대로, 매도폭은 50%
다음 신고가가 발생되면 2의 조건들은 리셋
위와 같습니다.
모자라는 부분 알려주시면 바로 보충하겠습니다!!
---------------------------------------------------
input : P(20),시작날짜(20160108),매수1차(1000000),매수2차(1500000),매수3차(2000000);
var : T(0),HH(0),Price1(0),Price2(0),Price3(0),diff(0),maxdiff(0),Lv(0),sum(0),mav(0),cnt(0),Hv(0),entry(false);
var : dayhh(0);
sum = 0;
dayhh = dayhigh(0);
for cnt = 0 to P-1{
sum = sum+DayClose(cnt);
if dayhigh(cnt) > dayhh Then
dayhh = dayhigh(cnt);
}
mav = sum/P;
######## 매수전 조건 ##############
if sdate >= 시작날짜 then{
if crossup(L,mav) Then{
T = 1;
diff = 0;
maxdiff = 0;
Condition1 = false;
entry = false;
}
if CrossDown(H,mav) Then{
T = -1;
Condition1 = false;
entry = false;
}
##### 신고가 조건 ############
if dayhh > dayhh[1] Then{
Condition1 = true;
entry = true;
Hv = H;
Lv = L;
}
######### 폭설정 조건 ###############
if T == 1 and Condition1 == true Then{
if H > Hv Then
Hv = H;
if L < Lv Then
Lv = L;
diff = Hv-Lv;
if diff > maxdiff Then
maxdiff = diff;
Price1 = Hv-maxdiff*1;
Price2 = Hv-maxdiff*2;
Price3 = Hv-maxdiff*3;
}
if MarketPosition == 1 Then
entry = false;
#가격이 하락해 1차매수가격 이하이면 매수
if MarketPosition == 0 and Condition1 == true and entry == true and L > mav and Hv >= Price1*1.025 Then
buy("b1",atlimit,Price1,Floor(매수1차/C));
#가격이 하락해 2차매수가격 이하이면 매수
if MarketPosition == 1 and MaxEntries == 1 and Price2[BarsSinceEntry+1] > 0 Then
buy("b2",atlimit,Price2[BarsSinceEntry+1],Floor(매수2차/C));
#가격이 하락해 3차매수가격 이하이면 매수
if MarketPosition == 1 and MaxEntries == 2 and Price3[BarsSinceEntry+1] > 0 Then
buy("b3",atlimit,Price3[BarsSinceEntry+1],Floor(매수3차/C));
if MarketPosition == 1 Then{
#진입이후로 한번도 선 아래로 내려가지 않은경우
#진입이후 최저가에서 폭만큼 상승하면 청산
if countif(L<mav,BarsSinceEntry) == 0 Then
ExitLong("bx1",atlimit,lowest(L,BarsSinceEntry)+maxdiff[BarsSinceEntry+1]);
#진입이후로 20선 아래로 한번이상 내려간 경우
#진입이후 최저가에서 폭의 절반만큼 상승하면 청산
if countif(L<mav,BarsSinceEntry) >= 1 Then
ExitLong("bx2",atlimit,lowest(L,BarsSinceEntry)+maxdiff[BarsSinceEntry+1]*0.5);
#일괄매도 = 현재 20일 신고가 이후 최저가 + 최대폭(75%)
ExitLong("일괄매도",atlimit,lowest(L,BarsSinceEntry)+maxdiff[BarsSinceEntry+1]*0.75);
if MaxEntries == 2 Then
exitlong("본절2",atlimit,(Price1[BarsSinceEntry+1]+Price2[BarsSinceEntry+1])/2);
if MaxEntries == 3 Then
exitlong("본절3",atlimit,Price2[BarsSinceEntry+1]);
}
}
다음글
이전글