커뮤니티
부탁합니다,
2015-05-20 21:49:04
138
글번호 86248
매수
(1) 주봉 MACD오실레이터가 전일보다 높으면 매수조건
(2) 일봉 스토케스틱 K값이 30이하이면 매수조건
(또는 스토케스틱이 골드크로스하면 매수조건: 나중에 바꿀수 있게 // 로 해주세요)
(3) (1)과(2)를 만족할 때 전일 종가보다 크면 매수(10분봉상)
(4) 매수후에 빠지면 청산하지 않고 (1)~(3)조건 재만족시 추가진입(금액2배): 5회까지 추가진입
매도
(1) 주봉 MACD오실레이터가 전일보다 낮으면 매도조건
(2) 일봉 스토케스틱 K값이 70이상이면 매도조건
(또는 스토케스틱이 데드크로스하면 매도조건: 나중에 바꿀수 있게 // 로 해주세요)
(3) (1)과(2)를 만족할 때 전일 종가보다 작으면 매도(10분봉상)
감사합니다..
답변 1
예스스탁 예스스탁 답변
2015-05-21 13:53:56
안녕하세요
예스스탁입니다.
추가진입을 하므로 시스템 적용시에
시스템 트레이딩 설정창의 피라미딩탭에서
피라미딩을 모든진입신호 허용으로 설정하고 적용하시면 됩니다
Input : short(12),long(26),sig(9),금액(10000000);
input : Period(10), Period1(5), Period2(5);
var : DINDEX1(0);
Var : wEp1(0), wJISU1(0), wPreJISU1(0);
Var : wEp2(0), wJISU2(0), wPreJISU2(0);
Var : wEp3(0), wJISU3(0), wPreMACDSIG(0);
var : wMACDVal(0),wMACDSig(0);
var : MACDVal(0),MACDSig(0),wMACDOsc(0);
var : cnt(0), highVal(0), lowVal(0), FK(0), SK(0), SD(0);
var : Ep1(0), Ep2(0), PreSK(0), PreSD(0);
var : preO(0),Bcond(false),Scond(false);
wEp1 = 2/(short+1);
wEp2 = 2/(long+1);
wEp3 = 2/(sig+1);
if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then{
DINDEX1 = DINDEX1 + 1;
wPreJISU1 = wJISU1[1];
wPreJISU2 = wJISU2[1];
wPreMACDSIG = wMACDSIG[1];
}
if DINDEX1 <= 1 then {
wJISU1 = C;
wJISU2 = C;
wMACDVal = wJiSu1-wJisu2;
wMACDSIG = wMACDVal;
wMACDOsc = wMACDVal-wMACDSIG;
}
else{
wJISU1 = C * wEP1 + wPreJISU1 * (1-wEP1);
wJISU2 = C * wEP2 + wPreJISU2 * (1-wEP2);
wMACDVal = wJiSu1-wJisu2;
wMACDSIG = wMACDVal * wEP3 + wPreMACDSIG * (1-wEP3);
wMACDOsc = wMACDVal-wMACDSIG;
}
#N일간 최고가 및 최저가
highVal = dayhigh(0);
lowVal = daylow(0);
for cnt = 0 to Period-1 {
if dayHigh(cnt) > highVal then
highVal = dayhigh(cnt);
if dayLow(cnt) < lowVal then
lowVal = dayLow(cnt);
}
#Fast StochasticsK
fK = (C-lowVal)/(highVal-lowVal)*100;
#Slow StochasticsK / Slow StochasticsD
Ep1 = 2/(Period1+1);
Ep2 = 2/(Period2+1);
if date != date[1] then {
PreSK = SK[1];
PreSD = SD[1];
}
SK = FK * EP1 + PreSK * (1-EP1);
SD = SK * EP2 + PreSD * (1-EP2);
if date != date[1] Then
preO = wMACDosc[1];
Bcond = wMACDosc > PreO and sk < 30;
//Bcond = wMACDosc > PreO and crossdown(sk,30);
Scond = wMACDosc < PreO and sk > 30;
//Scond = wMACDosc < PreO and crossup(sk,70);
if Bcond == true and Bcond[1] == false and C > DayClose(1) and CurrentContracts < 5 Then{
if MarketPosition <= 0 then
buy("b",OnClose,def,int(금액/C));
if MarketPosition == 1 then
buy("bb",OnClose,def,int((금액*2)/C));
}
if Scond == true and Scond[1] == false and C < DayClose(1) Then{
ExitLong();
}
즐거운 하루되세요
> HI_da***** 님이 쓴 글입니다.
> 제목 : 부탁합니다,
> 매수
(1) 주봉 MACD오실레이터가 전일보다 높으면 매수조건
(2) 일봉 스토케스틱 K값이 30이하이면 매수조건
(또는 스토케스틱이 골드크로스하면 매수조건: 나중에 바꿀수 있게 // 로 해주세요)
(3) (1)과(2)를 만족할 때 전일 종가보다 크면 매수(10분봉상)
(4) 매수후에 빠지면 청산하지 않고 (1)~(3)조건 재만족시 추가진입(금액2배): 5회까지 추가진입
매도
(1) 주봉 MACD오실레이터가 전일보다 낮으면 매도조건
(2) 일봉 스토케스틱 K값이 70이상이면 매도조건
(또는 스토케스틱이 데드크로스하면 매도조건: 나중에 바꿀수 있게 // 로 해주세요)
(3) (1)과(2)를 만족할 때 전일 종가보다 작으면 매도(10분봉상)
감사합니다..