커뮤니티
문의드립니다.
2019-05-25 16:45:27
200
글번호 128977
늘 감사합니다.
macd 다이버전스발생시 매수 / 매도를 구현하고자 합니다.
아래 두가지 상황에 대해 수식을 작성해주시면 감사하겠습니다.
복~~받으세용^.^
---조건1---
매수 : 1. macd 크로스다운 발생전 10봉이내에 당일 최고가격이 있을것,(첫번째)
2. 이후 발생한 macd 크로스다운 10봉이내 당일 최고가격이 있을것,(두번째)
3. 첫번째 macd 보다 두번째 macd 시그널이 낮을것
4. 첫번째 최고가와 두번째 최고가의 가격차이가 10틱이상일것
5. 위 조건 충족시 매도진입
매도 : 1. macd 크로스업 발생전 10봉이내에 당일 최저가격이 있을것,(첫번째)
2. 이후 발생한 macd 크로스업 10봉이내 당일 최저가격이 있을것,(두번째)
3. 첫번째 macd 보다 두번째 macd 시그널이 높을것
4. 첫번째 최저가와 두번째 최저가의 가격차이가 10틱이상일것
5. 위 조건 충족시 매수진입
---조건2---
매수 : 시가보다 50틱아래에서 위 1번 매수조건이 만족하면 매수진입
시가보다 50틱위에서 위 1번 매도조건이 만족하면 매도진입
감사합니다.
답변 1
예스스탁 예스스탁 답변
2019-05-28 11:47:24
안녕하세요
예스스탁입니다.
Input : short(12), long(26), signal(9);
Var : MACDV(0),MACDS(0);
var : upi1(0),upi2(0),upl1(0),upl2(0);
var : dni1(0),dni2(0),dnh1(0),dnh2(0);
MACDV = MACD(short, long);
MACDS = ema(MACDV,signal);
if H == DayHigh Then
var1 = dayindex;
if L == DayLow Then
var2 = dayindex;
if crossup(macdv,macds) Then
{
upi1 = macds;
upi2 = upi1[1];
if dayindex <= var2+10 Then
upl1 = DayLow;
Else
upl1 = 0;
upl2 = upl1[1];
if upi1 > upi2 and upl1 > 0 and upl2 > 0 and
upl1 <= upl2-PriceScale*10 and
C <= dayopen+PriceScale*50 Then
buy();
}
if CrossDown(macdv,macds) Then
{
dni1 = macds;
dni2 = dni1[1];
if dayindex <= var1+10 Then
dnh1 = DayHigh;
Else
dnh1 = 0;
dnh2 = dnh1[1];
if dni1 < dni2 and dnh1 > 0 and dnh2 > 0 and
dnh1 >= dnh2+PriceScale*10 and
C >= dayopen+PriceScale*50 Then
sell("s");
}
즐거운 하루되세요
> 하늘북 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 늘 감사합니다.
macd 다이버전스발생시 매수 / 매도를 구현하고자 합니다.
아래 두가지 상황에 대해 수식을 작성해주시면 감사하겠습니다.
복~~받으세용^.^
---조건1---
매수 : 1. macd 크로스다운 발생전 10봉이내에 당일 최고가격이 있을것,(첫번째)
2. 이후 발생한 macd 크로스다운 10봉이내 당일 최고가격이 있을것,(두번째)
3. 첫번째 macd 보다 두번째 macd 시그널이 낮을것
4. 첫번째 최고가와 두번째 최고가의 가격차이가 10틱이상일것
5. 위 조건 충족시 매도진입
매도 : 1. macd 크로스업 발생전 10봉이내에 당일 최저가격이 있을것,(첫번째)
2. 이후 발생한 macd 크로스업 10봉이내 당일 최저가격이 있을것,(두번째)
3. 첫번째 macd 보다 두번째 macd 시그널이 높을것
4. 첫번째 최저가와 두번째 최저가의 가격차이가 10틱이상일것
5. 위 조건 충족시 매수진입
---조건2---
매수 : 시가보다 50틱아래에서 위 1번 매수조건이 만족하면 매수진입
시가보다 50틱위에서 위 1번 매도조건이 만족하면 매도진입
감사합니다.
다음글
이전글