커뮤니티

부탁드립니다

프로필 이미지
파생돌이
2025-11-01 00:25:49
95
글번호 227558
답변완료

수고하십니다 아래수식을 오류 없게 수정부탁드립니다
Input: Period(14); Input: adx_width1(2), adx_width2(4), adx_width3(7); Input: plus_gold_width(3), plus_dead_width(1); Input: minus_dead_width(3), minus_gold_width(1); Input: price_offset(0.5); Var: ADXv(0), DP(0), DM(0); Var: adx_line_width(0), plus_line_width(0), minus_line_width(0); Var: text_color(0), display_price(0); //Calculate ADX values ADXv = ADX(Period); DP = DiPlus(Period); DM = DiMinus(Period); //Determine ADX line width based on ADX level If ADXv >= 20 and ADXv <= 50 Then adx_line_width = adx_width2 Else If ADXv < 20 Then adx_line_width = adx_width1 Else adx_line_width = adx_width3; //Determine +DI line width If DP > DM Then plus_line_width = plus_gold_width Else plus_line_width = plus_dead_width; //Determine -DI line width If DP < DM Then minus_line_width = minus_dead_width Else minus_line_width = minus_gold_width; //Plot indicator lines Plot1(ADXv, "ADX", Def, Def, adx_line_width); Plot2(DP, "+DI", Def, Def, plus_line_width); Plot3(DM, "-DI", Def, Def, minus_line_width); //Display price with ADX strength and DI condition display_price = High + price_offset; If ADXv >= 20 and ADXv <= 50 Then Begin If DP > DM Then Begin text_color = RGB(0, 255, 255); //Cyan DrawText("ADX:" + NumToStr(ADXv, 2) + " +DI>-DI", display_price, text_color); End Else Begin text_color = RGB(255, 255, 0); //Yellow DrawText("ADX:" + NumToStr(ADXv, 2) + " +DI<-DI", display_price, text_color); End; End Else If ADXv < 20 Then Begin text_color = RGB(128, 128, 128); //Gray DrawText("ADX:" + NumToStr(ADXv, 2) + " Weak", display_price, text_color); End Else Begin If DP > DM Then Begin text_color = RGB(255, 165, 0); //Orange DrawText("ADX:" + NumToStr(ADXv, 2) + " Strong +DI", display_price, text_color); End Else Begin text_color = RGB(255, 0, 0); //Red DrawText("ADX:" + NumToStr(ADXv, 2) + " Strong -DI", display_price, text_color); End; End;

지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-11-03 08:49:48

안녕하세요 예스스탁입니다. Input: Period(14); Input: adx_width1(2), adx_width2(4), adx_width3(7); Input: plus_gold_width(3), plus_dead_width(1); Input: minus_dead_width(3), minus_gold_width(1); Input: price_offset(0.5); Var: ADXv(0), DP(0), DM(0); Var: adx_line_width(0), plus_line_width(0), minus_line_width(0); Var: text_color(0), display_price(0),tx(0); //Calculate ADX values ADXv = ADX(Period); DP = DiPlus(Period); DM = DiMinus(Period); //Determine ADX line width based on ADX level If ADXv >= 20 and ADXv <= 50 Then adx_line_width = adx_width2; Else If ADXv < 20 Then adx_line_width = adx_width1; Else adx_line_width = adx_width3; //Determine +DI line width If DP > DM Then plus_line_width = plus_gold_width; Else plus_line_width = plus_dead_width; //Determine -DI line width If DP < DM Then minus_line_width = minus_dead_width; Else minus_line_width = minus_gold_width; //Plot indicator lines Plot1(ADXv, "ADX", Def, Def, adx_line_width); Plot2(DP, "+DI", Def, Def, plus_line_width); Plot3(DM, "-DI", Def, Def, minus_line_width); //Display price with ADX strength and DI condition display_price = High + price_offset; If ADXv >= 20 and ADXv <= 50 Then Begin If DP > DM Then Begin text_color = RGB(0, 255, 255); //Cyan tx = Text_New(sDate,sTime,L,"ADX:" + NumToStr(ADXv, 2) + " +DI>-DI"); End Else Begin text_color = RGB(255, 255, 0); //Yellow tx = Text_New(sDate,sTime,L,"ADX:" + NumToStr(ADXv, 2) + " +DI<-DI"); End; End Else If ADXv < 20 Then Begin text_color = RGB(128, 128, 128); //Gray tx = Text_New(sDate,sTime,L,"ADX:" + NumToStr(ADXv, 2) + " Weak"); End Else Begin If DP > DM Then Begin text_color = RGB(255, 165, 0); //Orange tx = Text_New(sDate,sTime,L,"ADX:" + NumToStr(ADXv, 2) + " Strong +DI"); End Else Begin text_color = RGB(255, 0, 0); //Red tx = Text_New(sDate,sTime,L,"ADX:" + NumToStr(ADXv, 2) + " Strong -DI"); End; End; Text_SetStyle(tx,2,0); 즐거운 하루되세요