커뮤니티
문의드려요~~
2011-08-09 06:11:48
631
글번호 41763
문의 1) 분봉에서 일봉,주봉의 macd를 참조하여 매매하려고 합니다.
일봉, 주봉의 macd에서 오실레이터가 0>이고 분봉에서 macd가 0을 데드크로스할 때 매수하여 일봉의 macd에서 오실레이터가 0<이고 분봉에서 macd가 0을 골드드크로스할 때 매도하는 방법에 대해 알려주세요~~
문의 2) 20개 봉 중에서 최고가 돌파시 매수하여 매수가를 3% 이탈시 매도
문의 3) 오늘 가격보다 1일 후 종가가 낮을 경우 1차 매수
1일 후 종가보다 2일 후 종가가 낮을 경우 2차 매수하는 방법에 대해 알려주세요~~
많이 여쭤 봐서 죄송합니다~~
답변 1
예스스탁 예스스탁 답변
2011-08-09 14:25:20
안녕하세요
예스스탁입니다.
1.
분봉차트에 적용하시면 됩니다.
MACD는 봉갯수에 영향을 받는 지표이므로
분봉에서 일봉과 주봉의 값을 계산한 내용이 일봉차트나 주봉차트에서 볼경우와 값의 차이가 발생할수 있습니다.
Input : Period1(12), Period2(26), Period3(9);
Var : macdVal(0), preMacdVal(0), macdSig(0);
Input : dPeriod1(12), dPeriod2(26), dPeriod3(9);
Var : dEp1(0), dEP2(0), dEP3(0), dJISU1(0), dJISU2(0), dPreJISU1(0), dPreJISU2(0);
Var : dmacdVal(0), dpreMacdVal(0), dmacdSig(0);
Input : wPeriod1(12), wPeriod2(26), wPeriod3(9);
Var : wEp1(0), wEP2(0), wEP3(0), wJISU1(0), wJISU2(0), wPreJISU1(0), wPreJISU2(0);
Var : wmacdVal(0), wpreMacdVal(0), wmacdSig(0);
#일봉
if date != date[1] then {
dPreJISU1 = dJISU1[1];
dPreJISU2 = dJISU2[1];
dPreMacdVal = dmacdSig[1];
}
dEp1 = 2/(dPeriod1+1);
dEP2 = 2/(dPeriod2+1);
dEP3 = 2/(dPeriod3+1);
dJISU1 = C * dEp1 + dPreJISU1 * (1-dEp1); //단기지수이동평균
dJISU2 = C * dEp2 + dPreJISU2 * (1-dEp2); //장기지수이동평균
dmacdVal = dJISU1 - dJISU2; //macd
dmacdSig = dmacdVal * dEp3 + dPreMacdVal * (1-dEp3); //macd signal
#주봉
if DayOfWeek(date) <= DayOfWeek(date[1]) and sdate > sdate[1] then {
wPreJISU1 = wJISU1[1];
wPreJISU2 = wJISU2[1];
wPreMacdVal = wmacdSig[1];
}
wEp1 = 2/(wPeriod1+1);
wEP2 = 2/(wPeriod2+1);
wEP3 = 2/(wPeriod3+1);
wJISU1 = C * wEp1 + wPreJISU1 * (1-wEp1); //단기지수이동평균
wJISU2 = C * wEp2 + wPreJISU2 * (1-wEp2); //장기지수이동평균
wmacdVal = wJISU1 - wJISU2; //macd
wmacdSig = wmacdVal * wEp3 + wPreMacdVal * (1-wEp3); //macd signal
#분봉
macdVal = MACD(Period1,Period2);
macdSig = ema(macdVal,Period3);
if dmacdVal-dmacdSig > 0 and wmacdVal-wmacdSig > 0 and CrossDown(macdval,0) Then
buy();
if dmacdVal-dmacdSig < 0 and crossup(macdval,0) Then
exitlong();
2.
if crossup(c,highest(H,20)[1]) Then
buy();
SetStopProfittarget(3);
SetStopLoss(3);
3.
if MarketPosition == 0 and C < C[1] Then
buy();
if MarketPosition == 1 and BarsSinceEntry == 1 and C < C[1] Then
buy();
즐거운 하루되세요
즐거운 하루되세요
> 불사조7 님이 쓴 글입니다.
> 제목 : 문의드려요~~
> 문의 1) 분봉에서 일봉,주봉의 macd를 참조하여 매매하려고 합니다.
일봉, 주봉의 macd에서 오실레이터가 0>이고 분봉에서 macd가 0을 데드크로스할 때 매수하여 일봉의 macd에서 오실레이터가 0<이고 분봉에서 macd가 0을 골드드크로스할 때 매도하는 방법에 대해 알려주세요~~
문의 2) 20개 봉 중에서 최고가 돌파시 매수하여 매수가를 3% 이탈시 매도
문의 3) 오늘 가격보다 1일 후 종가가 낮을 경우 1차 매수
1일 후 종가보다 2일 후 종가가 낮을 경우 2차 매수하는 방법에 대해 알려주세요~~
많이 여쭤 봐서 죄송합니다~~