커뮤니티
예스스탁님, 적용했는데 않돼요~~
2008-02-27 10:56:11
1345
글번호 14800
수정해주신 식대로 적용을
한전kps 1분봉 챠트에 피라미딩 모두진입으로 했는데....
1/3일 종가(일봉)가 5일 이동평균선(일봉)보다 작은데도...
매수진입이 됩니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 진입조건에 따른 분할매수매도
> 안녕하세요
예스스탁입니다.
식을 수정했습니다.
분봉에서 일봉의 이동평균 표현을 추가했습니다.
input : 기준수량(10),P(5); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0),sumv(0),mav(0),cnt(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
sumv = 0;
for cnt = 0 to P-1
{
sumv = sumv+dayclose(cnt);
}
mav = sumv/P; //일봉 이동평균
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if DayClose() > mav then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
} ###############################
if marketposition(0) == 0 and 첫거래 == 0 and DayClose() > sumv then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
즐거운 하루되세요
> 마수거리 님이 쓴 글입니다.
> 제목 : 진입조건에 따른 분할매수매도
> 아래의 식은 수식작성 예제에 있는 분할매수분할매도 식인데요...
주식1봉차트에 피라미딩을 모든신호허용으로 했습니다.
그런데, 진입조건을 일봉 현재가 < 일봉 5일선값이면
매수, 매수청산(매도) 모든 신호가 발생하지 않게하고
일봉 현재가 > 일봉 5일선값 이면 매수진입하도록
아래와 같이 식을 만들어 봤는데 의도대로 않되네요..
무엇이 잘못되었는지 조언부탁드려요~ ㅜㅜ
input : 기준수량(10); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if DayClose() > Ma(DayClose,5) then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
} ###############################
if marketposition(0) == 0 and 첫거래 == 0 and DayClose() > Ma(DayClose,5)
then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
답변 4
예스스탁 예스스탁 답변
2008-02-27 11:13:23
안녕하세요
예스스탁입니다.
식을 적용해 본결과 1월3일에 어떤 신호도 나오지 않습니다.
적용한 리포트를 올려드립니다.
또한 식상에는 추가매수부분에는 DayClose() > mav 수식이
들어가 있지 않습니다.
추가매수되는 부분에 해당 표현이 필요하시면 추가하시기 바랍니다.
즐거운 하루되세요
> 마수거리 님이 쓴 글입니다.
> 제목 : 예스스탁님, 적용했는데 않돼요~~
> 수정해주신 식대로 적용을
한전kps 1분봉 챠트에 피라미딩 모두진입으로 했는데....
1/3일 종가(일봉)가 5일 이동평균선(일봉)보다 작은데도...
매수진입이 됩니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 진입조건에 따른 분할매수매도
> 안녕하세요
예스스탁입니다.
식을 수정했습니다.
분봉에서 일봉의 이동평균 표현을 추가했습니다.
input : 기준수량(10),P(5); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0),sumv(0),mav(0),cnt(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
sumv = 0;
for cnt = 0 to P-1
{
sumv = sumv+dayclose(cnt);
}
mav = sumv/P; //일봉 이동평균
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if DayClose() > mav then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
} ###############################
if marketposition(0) == 0 and 첫거래 == 0 and DayClose() > sumv then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
즐거운 하루되세요
> 마수거리 님이 쓴 글입니다.
> 제목 : 진입조건에 따른 분할매수매도
> 아래의 식은 수식작성 예제에 있는 분할매수분할매도 식인데요...
주식1봉차트에 피라미딩을 모든신호허용으로 했습니다.
그런데, 진입조건을 일봉 현재가 < 일봉 5일선값이면
매수, 매수청산(매도) 모든 신호가 발생하지 않게하고
일봉 현재가 > 일봉 5일선값 이면 매수진입하도록
아래와 같이 식을 만들어 봤는데 의도대로 않되네요..
무엇이 잘못되었는지 조언부탁드려요~ ㅜㅜ
input : 기준수량(10); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if DayClose() > Ma(DayClose,5) then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
} ###############################
if marketposition(0) == 0 and 첫거래 == 0 and DayClose() > Ma(DayClose,5)
then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
마수거리
2008-02-27 11:33:44
??? DayClose() > mav 식을 어디에 추가를 해야하나요????
그리고 피라미딩 설정을 모든신호진입으로 한것인가요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 예스스탁님, 적용했는데 않돼요~~
> 안녕하세요
예스스탁입니다.
식을 적용해 본결과 1월3일에 어떤 신호도 나오지 않습니다.
적용한 리포트를 올려드립니다.
또한 식상에는 추가매수부분에는 DayClose() > mav 수식이
들어가 있지 않습니다.
추가매수되는 부분에 해당 표현이 필요하시면 추가하시기 바랍니다.
즐거운 하루되세요
> 마수거리 님이 쓴 글입니다.
> 제목 : 예스스탁님, 적용했는데 않돼요~~
> 수정해주신 식대로 적용을
한전kps 1분봉 챠트에 피라미딩 모두진입으로 했는데....
1/3일 종가(일봉)가 5일 이동평균선(일봉)보다 작은데도...
매수진입이 됩니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 진입조건에 따른 분할매수매도
> 안녕하세요
예스스탁입니다.
식을 수정했습니다.
분봉에서 일봉의 이동평균 표현을 추가했습니다.
input : 기준수량(10),P(5); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0),sumv(0),mav(0),cnt(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
sumv = 0;
for cnt = 0 to P-1
{
sumv = sumv+dayclose(cnt);
}
mav = sumv/P; //일봉 이동평균
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if DayClose() > mav then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
} ###############################
if marketposition(0) == 0 and 첫거래 == 0 and DayClose() > sumv then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
즐거운 하루되세요
> 마수거리 님이 쓴 글입니다.
> 제목 : 진입조건에 따른 분할매수매도
> 아래의 식은 수식작성 예제에 있는 분할매수분할매도 식인데요...
주식1봉차트에 피라미딩을 모든신호허용으로 했습니다.
그런데, 진입조건을 일봉 현재가 < 일봉 5일선값이면
매수, 매수청산(매도) 모든 신호가 발생하지 않게하고
일봉 현재가 > 일봉 5일선값 이면 매수진입하도록
아래와 같이 식을 만들어 봤는데 의도대로 않되네요..
무엇이 잘못되었는지 조언부탁드려요~ ㅜㅜ
input : 기준수량(10); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if DayClose() > Ma(DayClose,5) then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
} ###############################
if marketposition(0) == 0 and 첫거래 == 0 and DayClose() > Ma(DayClose,5)
then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
예스스탁 예스스탁 답변
2008-02-27 11:46:12
안녕하세요
예스스탁입니다.
설정은 모든 진입신호로 설정한 것입니다.
식을 추가했습니다.
input : 기준수량(10),P(5); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0),sumv(0),mav(0),cnt(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
sumv = 0;
for cnt = 0 to P-1
{
sumv = sumv+dayclose(cnt);
}
mav = sumv/P; //일봉 이동평균
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if DayClose() > mav then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price and DayClose() > mav then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price and DayClose() > mav then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
}
###############################
if marketposition(0) == 0 and 첫거래 == 0 and DayClose() > mav then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
즐거운 하루되세요
> 마수거리 님이 쓴 글입니다.
> 제목 : Re : Re : 예스스탁님
> ??? DayClose() > mav 식을 어디에 추가를 해야하나요????
그리고 피라미딩 설정을 모든신호진입으로 한것인가요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 예스스탁님, 적용했는데 않돼요~~
> 안녕하세요
예스스탁입니다.
식을 적용해 본결과 1월3일에 어떤 신호도 나오지 않습니다.
적용한 리포트를 올려드립니다.
또한 식상에는 추가매수부분에는 DayClose() > mav 수식이
들어가 있지 않습니다.
추가매수되는 부분에 해당 표현이 필요하시면 추가하시기 바랍니다.
즐거운 하루되세요
> 마수거리 님이 쓴 글입니다.
> 제목 : 예스스탁님, 적용했는데 않돼요~~
> 수정해주신 식대로 적용을
한전kps 1분봉 챠트에 피라미딩 모두진입으로 했는데....
1/3일 종가(일봉)가 5일 이동평균선(일봉)보다 작은데도...
매수진입이 됩니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 진입조건에 따른 분할매수매도
> 안녕하세요
예스스탁입니다.
식을 수정했습니다.
분봉에서 일봉의 이동평균 표현을 추가했습니다.
input : 기준수량(10),P(5); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0),sumv(0),mav(0),cnt(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
sumv = 0;
for cnt = 0 to P-1
{
sumv = sumv+dayclose(cnt);
}
mav = sumv/P; //일봉 이동평균
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if DayClose() > mav then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
} ###############################
if marketposition(0) == 0 and 첫거래 == 0 and DayClose() > sumv then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
즐거운 하루되세요
> 마수거리 님이 쓴 글입니다.
> 제목 : 진입조건에 따른 분할매수매도
> 아래의 식은 수식작성 예제에 있는 분할매수분할매도 식인데요...
주식1봉차트에 피라미딩을 모든신호허용으로 했습니다.
그런데, 진입조건을 일봉 현재가 < 일봉 5일선값이면
매수, 매수청산(매도) 모든 신호가 발생하지 않게하고
일봉 현재가 > 일봉 5일선값 이면 매수진입하도록
아래와 같이 식을 만들어 봤는데 의도대로 않되네요..
무엇이 잘못되었는지 조언부탁드려요~ ㅜㅜ
input : 기준수량(10); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if DayClose() > Ma(DayClose,5) then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
} ###############################
if marketposition(0) == 0 and 첫거래 == 0 and DayClose() > Ma(DayClose,5)
then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
마수거리
2008-02-27 12:53:45
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : Re : Re : 예스스탁님
> 안녕하세요
예스스탁입니다.
설정은 모든 진입신호로 설정한 것입니다.
식을 추가했습니다.
input : 기준수량(10),P(5); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0),sumv(0),mav(0),cnt(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
sumv = 0;
for cnt = 0 to P-1
{
sumv = sumv+dayclose(cnt);
}
mav = sumv/P; //일봉 이동평균
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if DayClose() > mav then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price and DayClose() > mav then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price and DayClose() > mav then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
}
###############################
if marketposition(0) == 0 and 첫거래 == 0 and DayClose() > mav then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
즐거운 하루되세요
> 마수거리 님이 쓴 글입니다.
> 제목 : Re : Re : 예스스탁님
> ??? DayClose() > mav 식을 어디에 추가를 해야하나요????
그리고 피라미딩 설정을 모든신호진입으로 한것인가요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 예스스탁님, 적용했는데 않돼요~~
> 안녕하세요
예스스탁입니다.
식을 적용해 본결과 1월3일에 어떤 신호도 나오지 않습니다.
적용한 리포트를 올려드립니다.
또한 식상에는 추가매수부분에는 DayClose() > mav 수식이
들어가 있지 않습니다.
추가매수되는 부분에 해당 표현이 필요하시면 추가하시기 바랍니다.
즐거운 하루되세요
> 마수거리 님이 쓴 글입니다.
> 제목 : 예스스탁님, 적용했는데 않돼요~~
> 수정해주신 식대로 적용을
한전kps 1분봉 챠트에 피라미딩 모두진입으로 했는데....
1/3일 종가(일봉)가 5일 이동평균선(일봉)보다 작은데도...
매수진입이 됩니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 진입조건에 따른 분할매수매도
> 안녕하세요
예스스탁입니다.
식을 수정했습니다.
분봉에서 일봉의 이동평균 표현을 추가했습니다.
input : 기준수량(10),P(5); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0),sumv(0),mav(0),cnt(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
sumv = 0;
for cnt = 0 to P-1
{
sumv = sumv+dayclose(cnt);
}
mav = sumv/P; //일봉 이동평균
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if DayClose() > mav then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
} ###############################
if marketposition(0) == 0 and 첫거래 == 0 and DayClose() > sumv then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
즐거운 하루되세요
> 마수거리 님이 쓴 글입니다.
> 제목 : 진입조건에 따른 분할매수매도
> 아래의 식은 수식작성 예제에 있는 분할매수분할매도 식인데요...
주식1봉차트에 피라미딩을 모든신호허용으로 했습니다.
그런데, 진입조건을 일봉 현재가 < 일봉 5일선값이면
매수, 매수청산(매도) 모든 신호가 발생하지 않게하고
일봉 현재가 > 일봉 5일선값 이면 매수진입하도록
아래와 같이 식을 만들어 봤는데 의도대로 않되네요..
무엇이 잘못되었는지 조언부탁드려요~ ㅜㅜ
input : 기준수량(10); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if DayClose() > Ma(DayClose,5) then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
} ###############################
if marketposition(0) == 0 and 첫거래 == 0 and DayClose() > Ma(DayClose,5)
then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}