커뮤니티
하나 더 부탁드립니다.
2003-11-20 16:25:58
2989
글번호 1427
항상 친절하게 도와 주셔서 감사드립니다.
MACD 하락 다이버전스를 이용한 매도식을 짜고 싶습니다.
다음 조건을 동시에 만족할 때 매도 진입하는 수식을 부탁드립니다.
[조건1] MACD 0선 위에서 데드크로스
[조건2] 이전 30개 캔들이내에서 MACD 데드크로스가 1회 발생한적 있슴
[조건3] 이전 MACD 데드크로스 발생시점의 종가가 현재봉 종가보다 낮음
[조건4] 이전 MACD 데드크로스 발생시점의 MACD값이 현재 데드크로스
지점 종가보다 높음
답변 5
예스스탁 예스스탁 답변
2003-11-21 09:58:48
안녕하세요? 예스스탁입니다...
문의하신 식을 다음과 같이 작성했습니다...
참고로 청산식은 작성자가 임의로 만들어 보았습니다..
input : shortPeriod(12), longPeriod(26), Period(9);
var : Dval(0), MACDval(0), 조건1(0),조건2(0), 조건3(0), 조건4(0);
if crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)) then {
Dval = C;
MACDval = MACD(shortPeriod, longPeriod);
}
조건1 = crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)) and MACD(shortPeriod, longPeriod) > 0;
조건2 = accumN(iff(crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)),1,0), 30) <= 1;
조건3 = Dval <= C;
조건4 = MACDval >= MACD(shortPeriod, longPeriod);
if 조건1 and 조건2 and 조건3 then
sell();
if crossup(c, ma(C, 20)) then
exitshort();
즐거운 하루 되세요....
> pareter 님이 쓴 글입니다.
> 제목 : 하나 더 부탁드립니다.
>
항상 친절하게 도와 주셔서 감사드립니다.
MACD 하락 다이버전스를 이용한 매도식을 짜고 싶습니다.
다음 조건을 동시에 만족할 때 매도 진입하는 수식을 부탁드립니다.
[조건1] MACD 0선 위에서 데드크로스
[조건2] 이전 30개 캔들이내에서 MACD 데드크로스가 1회 발생한적 있슴
[조건3] 이전 MACD 데드크로스 발생시점의 종가가 현재봉 종가보다 낮음
[조건4] 이전 MACD 데드크로스 발생시점의 MACD값이 현재 데드크로스
지점 종가보다 높음
pareter
2003-11-21 10:34:44
친절한 답변에 감사드립니다.
작성해 주신 수식을 차트에 걸었는데 원하는 지점에 시그날이 생성되지 않아서
다시 질문 드립니다.
제가 말씀드린 조건중 3,4와 작성해 주신 조건3,4가 다른 것 같습니다.
수식중에서
Dval = C;
MACDval = MACD(shortPeriod, longPeriod);
두 항목이 이전 30개봉 이전에 발생한 사건이라는 것에 데한 명시가 있어야
할 것 같은데요.....
[조건3] 이전 MACD 데드크로스 발생시점의 종가가 현재봉 종가보다 낮음
[조건4] 이전 MACD 데드크로스 발생시점의 MACD값이 현재 데드크로스
지점 종가보다 높음
조건3 = Dval <= C;
조건4 = MACDval >= MACD(shortPeriod, longPeriod);
위 수식은 현재 발생한 위치에서의 조건이 아닌가요?
수식에 자세한 코멘트를 부탁드리고 첨부한 차트에 매도가 발생되어야 하는
위치를 표시하했습니다.
첨부한 차트는 오늘 연결선물 1분봉입니다.
미리 감사드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : MACD...
> 안녕하세요? 예스스탁입니다...
문의하신 식을 다음과 같이 작성했습니다...
참고로 청산식은 작성자가 임의로 만들어 보았습니다..
input : shortPeriod(12), longPeriod(26), Period(9);
var : Dval(0), MACDval(0), 조건1(0),조건2(0), 조건3(0), 조건4(0);
if crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)) then {
Dval = C;
MACDval = MACD(shortPeriod, longPeriod);
}
조건1 = crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)) and MACD(shortPeriod, longPeriod) > 0;
조건2 = accumN(iff(crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)),1,0), 30) <= 1;
조건3 = Dval <= C;
조건4 = MACDval >= MACD(shortPeriod, longPeriod);
if 조건1 and 조건2 and 조건3 then
sell();
if crossup(c, ma(C, 20)) then
exitshort();
즐거운 하루 되세요....
> pareter 님이 쓴 글입니다.
> 제목 : 하나 더 부탁드립니다.
>
항상 친절하게 도와 주셔서 감사드립니다.
MACD 하락 다이버전스를 이용한 매도식을 짜고 싶습니다.
다음 조건을 동시에 만족할 때 매도 진입하는 수식을 부탁드립니다.
[조건1] MACD 0선 위에서 데드크로스
[조건2] 이전 30개 캔들이내에서 MACD 데드크로스가 1회 발생한적 있슴
[조건3] 이전 MACD 데드크로스 발생시점의 종가가 현재봉 종가보다 낮음
[조건4] 이전 MACD 데드크로스 발생시점의 MACD값이 현재 데드크로스
지점 종가보다 높음
예스스탁 예스스탁 답변
2003-11-21 11:29:29
안녕하세요? 예스스탁입니다.....
문의하신 내용 중에서"A"및 "B"에서 신호가 만들어지지 않은 이유는 그 시점은 이미 데드 크로스가 발생한 후이기 때문에 그 시점(데드크로스가 발생한 시점)으로 부터 "이전 30개 봉에서 데드크로스가 1번 발생한 적이 있어야 한다"라는 조건을 넣을 경우 이미 무조건 한번은 데드 크로스가 발생한 상태입니다.
그렇기 때문에 이미 한번 데드크로스가 발생한 상태에 30개봉 이내에 데드크로스가 발생한 적이 있었다면 데드크로스가 총 "2"번 발생한 결과가 되기 때문에 조건에 만족하지 않아서 신호가 발생하지 않았던 것입니다.
따라서, 식 중에서 "조건2"의 숫자 1 대신에 2를 넣어야 됩니다.
input : shortPeriod(12), longPeriod(26), Period(9);
var : Dval(0), MACDval(0), 조건1(0),조건2(0), 조건3(0), 조건4(0);
if crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)) then {
Dval = C;
MACDval = MACD(shortPeriod, longPeriod);
}
조건1 = crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)) and MACD(shortPeriod, longPeriod) > 0;
조건2 = accumN(iff(crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)),1,0), 30) == 2;
조건3 = Dval <= C;
조건4 = MACDval >= MACD(shortPeriod, longPeriod);
if 조건1 and 조건2 and 조건3 then
sell();
if crossup(c, ma(C, 20)) then
exitshort();
즐거운 하루 되세요....
> pareter 님이 쓴 글입니다.
> 제목 : Re : Re : 추가로 질문드립니다.
>
친절한 답변에 감사드립니다.
작성해 주신 수식을 차트에 걸었는데 원하는 지점에 시그날이 생성되지 않아서
다시 질문 드립니다.
제가 말씀드린 조건중 3,4와 작성해 주신 조건3,4가 다른 것 같습니다.
수식중에서
Dval = C;
MACDval = MACD(shortPeriod, longPeriod);
두 항목이 이전 30개봉 이전에 발생한 사건이라는 것에 데한 명시가 있어야
할 것 같은데요.....
[조건3] 이전 MACD 데드크로스 발생시점의 종가가 현재봉 종가보다 낮음
[조건4] 이전 MACD 데드크로스 발생시점의 MACD값이 현재 데드크로스
지점 종가보다 높음
조건3 = Dval <= C;
조건4 = MACDval >= MACD(shortPeriod, longPeriod);
위 수식은 현재 발생한 위치에서의 조건이 아닌가요?
수식에 자세한 코멘트를 부탁드리고 첨부한 차트에 매도가 발생되어야 하는
위치를 표시하했습니다.
첨부한 차트는 오늘 연결선물 1분봉입니다.
미리 감사드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : MACD...
> 안녕하세요? 예스스탁입니다...
문의하신 식을 다음과 같이 작성했습니다...
참고로 청산식은 작성자가 임의로 만들어 보았습니다..
input : shortPeriod(12), longPeriod(26), Period(9);
var : Dval(0), MACDval(0), 조건1(0),조건2(0), 조건3(0), 조건4(0);
if crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)) then {
Dval = C;
MACDval = MACD(shortPeriod, longPeriod);
}
조건1 = crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)) and MACD(shortPeriod, longPeriod) > 0;
조건2 = accumN(iff(crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)),1,0), 30) <= 1;
조건3 = Dval <= C;
조건4 = MACDval >= MACD(shortPeriod, longPeriod);
if 조건1 and 조건2 and 조건3 then
sell();
if crossup(c, ma(C, 20)) then
exitshort();
즐거운 하루 되세요....
> pareter 님이 쓴 글입니다.
> 제목 : 하나 더 부탁드립니다.
>
항상 친절하게 도와 주셔서 감사드립니다.
MACD 하락 다이버전스를 이용한 매도식을 짜고 싶습니다.
다음 조건을 동시에 만족할 때 매도 진입하는 수식을 부탁드립니다.
[조건1] MACD 0선 위에서 데드크로스
[조건2] 이전 30개 캔들이내에서 MACD 데드크로스가 1회 발생한적 있슴
[조건3] 이전 MACD 데드크로스 발생시점의 종가가 현재봉 종가보다 낮음
[조건4] 이전 MACD 데드크로스 발생시점의 MACD값이 현재 데드크로스
지점 종가보다 높음
pareter
2003-11-21 13:51:39
아마도 제가 원하는 로직의 조건을 담당자님께 제대로 설명드리지 못한 것 같습니다.
제가 원하는 MACD 하락다이버전스 발생시 매도식을 다시 자세히 설명드리겠습니다.
번거럽더라도 다시 도와 주시기 바랍니다.
보내 주신 수식을 차트에 표현한 것이 첨부 파일입니다.
이 차트에서 제가 원하는 매도 시그날은 C지점에서의 매도 시그날입니다.
A지점과 B지점에서는 신호가 없어야 됩니다.
동시에 만족시켜야 하는 매도 조건들을 다시 설명드립니다.
[조건1] MACD 0선 위에서 데드크로스 발생 (매도 진입 캔들C지점: MACD '다'지점)
[조건2] 이전 30개 캔들이내에서 MACD 데드크로스가 0선위에서
1회 발생한적 있슴 (1차 데드크로스 발생 캔들 B지점: MACD '나'지점)
[조건3] 1차 데드크로스가 발생한 B지점의 선물 가격보다
매도 진입캔들인 C지점의 가격이 높음 (B<C)
[조건4] 1차 데드크로스가 발생한 '나' 지점의 MACD 값보다
매도 진입캔들인 '다'지점의 MACD 값이 낮음 (나>다)
B지점에서는 [조건4]가 충족되지 않기 때문에 신호가 발생되면 안되고
A지점에서는 [조건3,4]가 충족되지 않기 때문에 신호가 발생되면 안됩니다.
부탁드립니다.
예스스탁 예스스탁 답변
2003-11-21 17:01:55
안녕하세요? 예스스탁입니다...
착오가 있었던 것 같습니다...죄송합니다..
식을 다시 올려 드릴테니 확인해 보시고 문제점이 있으면 다시한번 질문해 주시기 바랍니다...
답변자도 계속해서 공부하는 입장이기 때문에 간혹 실수가 발생하는데 불편을 드리지 않도록 더욱 조심하고 공부하도록 하겠습니다...
input : shortPeriod(12), longPeriod(26), Period(9);
var : Dval(0), MACDval(0), 조건1(0),조건2(0), 조건3(0), 조건4(0);
if crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)) then {
Dval = C;
MACDval = MACD(shortPeriod, longPeriod);
}
조건1 = crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)) and MACD(shortPeriod, longPeriod) > 0;
조건2 = accumN(iff(crossdown(MACD(shortPeriod, longPeriod), ema(MACD(shortPeriod, longPeriod), Period)),1,0), 30) == 2;
조건3 = Dval[1] < C;
조건4 = MACDval[1] > MACD(shortPeriod, longPeriod);
if 조건1 and 조건2 and 조건3 and 조건4 then
sell();
if crossup(c, ma(C, 20)) then
exitshort();
즐거운 주말 되세요...
> pareter 님이 쓴 글입니다.
> 제목 : Re : Re : 정말 죄송합니다
> 아마도 제가 원하는 로직의 조건을 담당자님께 제대로 설명드리지 못한 것 같습니다.
제가 원하는 MACD 하락다이버전스 발생시 매도식을 다시 자세히 설명드리겠습니다.
번거럽더라도 다시 도와 주시기 바랍니다.
보내 주신 수식을 차트에 표현한 것이 첨부 파일입니다.
이 차트에서 제가 원하는 매도 시그날은 C지점에서의 매도 시그날입니다.
A지점과 B지점에서는 신호가 없어야 됩니다.
동시에 만족시켜야 하는 매도 조건들을 다시 설명드립니다.
[조건1] MACD 0선 위에서 데드크로스 발생 (매도 진입 캔들C지점: MACD '다'지점)
[조건2] 이전 30개 캔들이내에서 MACD 데드크로스가 0선위에서
1회 발생한적 있슴 (1차 데드크로스 발생 캔들 B지점: MACD '나'지점)
[조건3] 1차 데드크로스가 발생한 B지점의 선물 가격보다
매도 진입캔들인 C지점의 가격이 높음 (B<C)
[조건4] 1차 데드크로스가 발생한 '나' 지점의 MACD 값보다
매도 진입캔들인 '다'지점의 MACD 값이 낮음 (나>다)
B지점에서는 [조건4]가 충족되지 않기 때문에 신호가 발생되면 안되고
A지점에서는 [조건3,4]가 충족되지 않기 때문에 신호가 발생되면 안됩니다.
부탁드립니다.