커뮤니티
질문
2011-05-15 19:53:40
739
글번호 38629
input : 기준수량(10); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(7); //직전매수가보다 n%하락시 매수
input : 매도폭(7); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
input : ACCOUNT(2500000);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0);
var : 기준선(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
기준선 = (highest(H,26)+lowest(L,26))/2;
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if crossup(C,기준선) then
buy("매수", onclose, def, int(int(ACCOUNT/C)/10)*10);
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 crossup(C,기준선) then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
이 시스템 식에서
언제 매수되고 언제 어느때 매도되는지
설명좀 해주셨으면 합니다.
답변 1
예스스탁 예스스탁 답변
2011-05-16 13:34:00
안녕하세요
예스스탁입니다.
최초매수 - 주가가 기준선(일목균형표)을 상향돌파하면 최초매수
추가매수 - 직전 거래가 진입거래일 경우 진입가격에서 7% 하락시마다 추가 매수
직전 거래가 청산거래일 경우 직전 청산가격에서 20% 하락하면 매수
매수청산 - 직전 거래가 진입거래일 경우 직전 진입가격에서 20% 이상 상승하면 매수청산
직전 거래가 청산거래일 경우 직전 청산가격에서 5% 상승시마다 추가로 매수청산
즐거운 하루되세요
> 화려함 님이 쓴 글입니다.
> 제목 : 질문
> input : 기준수량(10); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(7); //직전매수가보다 n%하락시 매수
input : 매도폭(7); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20050101);
input : ACCOUNT(2500000);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0);
var : 기준선(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
기준선 = (highest(H,26)+lowest(L,26))/2;
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if crossup(C,기준선) then
buy("매수", onclose, def, int(int(ACCOUNT/C)/10)*10);
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 crossup(C,기준선) then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
이 시스템 식에서
언제 매수되고 언제 어느때 매도되는지
설명좀 해주셨으면 합니다.
다음글
이전글