커뮤니티

지표 수식 부탁드립니다. (수정 의뢰 2)

프로필 이미지
원칙투자자
2022-01-17 14:02:23
1246
글번호 155508
답변완료

첨부 이미지

담당자님, 안녕하세요. 항상 수고 많으십니다. 감사드립니다. 수식작성QA 75536 답변(RE)에서 작성해 주신 수식에 대하여 수정 보완을 부탁드립니다. (수정 의뢰 2) 직전 수정의뢰1 75561번 질문에서 이어지는 질문입니다. 작성해주신 75536 답변 수식을 실행해 보니 위 그림 파일과 같이 실행됩니다. 상단라인(굵은 청색선)은 MACD 오실레이터 값의 부호가 장시작 후 최초 1회 변경 될 때 장시작 부터 그 때(최초 1회 변경)까지의 최고점을 장마감까지 계속 표시합니다. 하단라인(굵은 분홍색선)은 MACD 오실레이터 값의 부호가 변경될 때 마다 장시작 부터 매번 변경되는 시점까지의 최저점을 계속 갱신해서 변경되는 수평라인을 표시합니다. ----------------------------------------------------------------------------------- 하단라인(굵은 분홍색선)도 MACD 오실레이터 값의 부호가 장시작 후 최초 1회 변경 될 때 장시작 부터 그 때(최초 1회 변경)까지 구간의 최저점을 장마감까지 계속 수평라인으로 표시(상단라인 처럼 표시)하도록 기존 지표수식 중 하단라인의 수정, 보완을 부탁드립니다. (기존 상단라인은 계속 유지) * 하단라인도 상단라인과 같은 로직으로 표시되도록 수정함. 즉,동일한 일자에서 고점과 저점 모두 높아지더라도 상단라인과 하단라인 모두 각각 최초 1회 변경까지 구간의 고점, 저점을 장마감까지 계속 수평라인으로 표시 되도록 수정 아래 지표1, 지표2 모두 수정해 주실 것을 부탁드립니다. cf. 지표1 : 오실레이터 변경 시점 (즉, 오실레이터 골든크로스 또는 데드크로스 시점 포함)의 구간까지 고점 및 저점을 표시하는 수평라인 cf. 지표2 : 오실레이터 변경되기 직전 (즉, 오실레이터 골든크로스 또는 데드크로스 되기 직전)의 구간까지 고점 및 저점을 표시하는 수평라인 --------------------------------------------------------------------------------------- 위와 같이 지표1과 지표2의 지표 수식의 수정, 보완을 부탁드립니다. 담당자님 노고와 답변에 미리 감사드립니다. ------------------------------------------------------------------------------------------------- 아래는 수식작성QA 75536 답변(RE)에서 작성해 주신 수식입니다. 작성에 참고하시기 바랍니다. 지표1 Input : short(12), long(26), signal(9),n(1); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { T = 0; var1 = 0; Var2 = 0; } Else { if CrossUp(MACDO,0) or CrossDown(MACDO,0) Then { T = T+1; if T == n Then { var1 = DayHigh; } Var2 = DayLow; } } if var1 > 0 and Var2 > 0 Then { Plot1(Var1); plot2(Var2); } Else { NoPlot(1); NoPlot(2); } --------------------------------------------------- 지표2 Input : short(12), long(26), signal(9),n(1); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { T = 0; var1 = 0; Var2 = 0; } Else { if CrossUp(MACDO,0) or CrossDown(MACDO,0) Then { T = T+1; if T == n Then { var1 = DayHigh(0)[1]; } Var2 = DayLow(0)[1]; } } if var1 > 0 and Var2 > 0 Then { Plot1(Var1); plot2(Var2); } Else { NoPlot(1); NoPlot(2); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-01-17 15:09:13

> 원칙투자자 님이 쓴 글입니다. > 제목 : 지표 수식 부탁드립니다. (수정 의뢰 2) > 담당자님, 안녕하세요. 항상 수고 많으십니다. 감사드립니다. 수식작성QA 75536 답변(RE)에서 작성해 주신 수식에 대하여 수정 보완을 부탁드립니다. (수정 의뢰 2) 직전 수정의뢰1 75561번 질문에서 이어지는 질문입니다. 작성해주신 75536 답변 수식을 실행해 보니 위 그림 파일과 같이 실행됩니다. 상단라인(굵은 청색선)은 MACD 오실레이터 값의 부호가 장시작 후 최초 1회 변경 될 때 장시작 부터 그 때(최초 1회 변경)까지의 최고점을 장마감까지 계속 표시합니다. 하단라인(굵은 분홍색선)은 MACD 오실레이터 값의 부호가 변경될 때 마다 장시작 부터 매번 변경되는 시점까지의 최저점을 계속 갱신해서 변경되는 수평라인을 표시합니다. ----------------------------------------------------------------------------------- 하단라인(굵은 분홍색선)도 MACD 오실레이터 값의 부호가 장시작 후 최초 1회 변경 될 때 장시작 부터 그 때(최초 1회 변경)까지 구간의 최저점을 장마감까지 계속 수평라인으로 표시(상단라인 처럼 표시)하도록 기존 지표수식 중 하단라인의 수정, 보완을 부탁드립니다. (기존 상단라인은 계속 유지) * 하단라인도 상단라인과 같은 로직으로 표시되도록 수정함. 즉,동일한 일자에서 고점과 저점 모두 높아지더라도 상단라인과 하단라인 모두 각각 최초 1회 변경까지 구간의 고점, 저점을 장마감까지 계속 수평라인으로 표시 되도록 수정 아래 지표1, 지표2 모두 수정해 주실 것을 부탁드립니다. cf. 지표1 : 오실레이터 변경 시점 (즉, 오실레이터 골든크로스 또는 데드크로스 시점 포함)의 구간까지 고점 및 저점을 표시하는 수평라인 cf. 지표2 : 오실레이터 변경되기 직전 (즉, 오실레이터 골든크로스 또는 데드크로스 되기 직전)의 구간까지 고점 및 저점을 표시하는 수평라인 --------------------------------------------------------------------------------------- 위와 같이 지표1과 지표2의 지표 수식의 수정, 보완을 부탁드립니다. 담당자님 노고와 답변에 미리 감사드립니다. ------------------------------------------------------------------------------------------------- 아래는 수식작성QA 75536 답변(RE)에서 작성해 주신 수식입니다. 작성에 참고하시기 바랍니다. 지표1 Input : short(12), long(26), signal(9),n(1); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { T = 0; var1 = 0; Var2 = 0; } Else { if CrossUp(MACDO,0) or CrossDown(MACDO,0) Then { T = T+1; if T == n Then { var1 = DayHigh; } Var2 = DayLow; } } if var1 > 0 and Var2 > 0 Then { Plot1(Var1); plot2(Var2); } Else { NoPlot(1); NoPlot(2); } --------------------------------------------------- 지표2 Input : short(12), long(26), signal(9),n(1); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { T = 0; var1 = 0; Var2 = 0; } Else { if CrossUp(MACDO,0) or CrossDown(MACDO,0) Then { T = T+1; if T == n Then { var1 = DayHigh(0)[1]; } Var2 = DayLow(0)[1]; } } if var1 > 0 and Var2 > 0 Then { Plot1(Var1); plot2(Var2); } Else { NoPlot(1); NoPlot(2); }