커뮤니티

수식좀 요청 드립니다.

프로필 이미지
요타
2025-02-13 10:12:02
495
글번호 188106
답변완료

첨부 이미지

* 안녕하세요^^ * 아래 수식 추가좀 요청 드립니다. ㅇ 요청사항 1. 중심선이 2개 나오는데 마지막 중심선은 수평으로 현재봉 가지 나오게 (우축 연장요청 c[1]봉 ) 부탁 드립니다. (사진) →첫째 중신선은 대각선인데 수평선으로 c[1]봉 까지 수정 좀 부탁 드립니다. 2 지그재그선 완성후 상호간 연결선 좀 부탁 드립니다. . 저점 하단선은 하단선끼리 계속 연결 . 고점 상단선은 다음 하단선과 연결 (사진 파란선 참고) 3. 마지막 지그재그선 완성후 마지막 고저점 에서 연결선(c[1]) 좀 부탁 드립니다. (사진2) ## 아해 수식 Input:barCnt(5); Var:j(0),turnPntBit(""),TL1(0),TL33(0),TL44(0),HD(0),HT(0),LD(0),LT(0),HH(0),LL(0); var : TL121(0),TL122(0),tx121(0),tx122(0),tl2(0),TL3(0),TL4(0),TL5(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt); Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt); turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetEnd(TL2,sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H[barCnt]) or (turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then { valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2], sDate[barArr[1]],sTime[barArr[1]],valArr[1]); tL2 = TL_New(sDate[barArr[2]],sTime[barArr[2]],(valArr[2]+valArr[1])/2, sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2); tL3 =tl2[1]; tL4 =tl3[1]; tL5 =tl4[1]; TL_Delete(TL5); } Else { TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetEnd(TL2,sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2); } } } TL_SetSize(TL1,2); TL_SetColor(TL1,RED); TL_SetSize(TL2,2); TL_SetColor(TL2,RED); * 매번 고맙습니다. * 수고하십시요.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-02-13 11:33:29

안녕하세요 예스스탁입니다. Input:barCnt(5); Var:j(0),turnPntBit(""),TL1(0),TL33(0),TL44(0),HD(0),HT(0),LD(0),LT(0),HH(0),LL(0); var : TL121(0),TL122(0),tx121(0),tx122(0),tl2(0),TL3(0),TL4(0),TL5(0),sTL1(0),sTL2(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt); Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt); turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetEnd(TL2,sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H[barCnt]) or (turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then { valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL2 = TL_New(sDate[barArr[2]],sTime[barArr[2]],(valArr[2]+valArr[1])/2,sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2); TL_SetExtRight(TL2,true); tL3 = tl2[1]; tL4 = tl3[1]; tL5 = tl4[1]; TL_Delete(TL5); TL_SetExtRight(TL3,False); } Else { TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetBegin(TL2,TL_GetBeginDate(TL2),TL_GetBeginTime(TL2),(valArr[2]+valArr[1])/2); TL_SetEnd(TL2,sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2); } } } TL_SetSize(TL1,2); TL_SetColor(TL1,RED); TL_SetSize(TL2,2); TL_SetColor(TL2,RED); TL_Delete(sTL1); TL_Delete(sTL2); stl1 = TL_New(sDate[barArr[1]],sTime[barArr[1]],valArr[1],sDate,sTime,valArr[1]); stl2 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate,sTime,valArr[2]); TL_SetColor(stl1,Blue); TL_SetColor(stl2,Blue); TL_SetSize(stl1,2); TL_SetSize(stl2,2); 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 수식좀 요청 드립니다. > * 안녕하세요^^ * 아래 수식 추가좀 요청 드립니다. ㅇ 요청사항 1. 중심선이 2개 나오는데 마지막 중심선은 수평으로 현재봉 가지 나오게 (우축 연장요청 c[1]봉 ) 부탁 드립니다. (사진) →첫째 중신선은 대각선인데 수평선으로 c[1]봉 까지 수정 좀 부탁 드립니다. 2 지그재그선 완성후 상호간 연결선 좀 부탁 드립니다. . 저점 하단선은 하단선끼리 계속 연결 . 고점 상단선은 다음 하단선과 연결 (사진 파란선 참고) 3. 마지막 지그재그선 완성후 마지막 고저점 에서 연결선(c[1]) 좀 부탁 드립니다. (사진2) ## 아해 수식 Input:barCnt(5); Var:j(0),turnPntBit(""),TL1(0),TL33(0),TL44(0),HD(0),HT(0),LD(0),LT(0),HH(0),LL(0); var : TL121(0),TL122(0),tx121(0),tx122(0),tl2(0),TL3(0),TL4(0),TL5(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt); Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt); turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetEnd(TL2,sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H[barCnt]) or (turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then { valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2], sDate[barArr[1]],sTime[barArr[1]],valArr[1]); tL2 = TL_New(sDate[barArr[2]],sTime[barArr[2]],(valArr[2]+valArr[1])/2, sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2); tL3 =tl2[1]; tL4 =tl3[1]; tL5 =tl4[1]; TL_Delete(TL5); } Else { TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetEnd(TL2,sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2); } } } TL_SetSize(TL1,2); TL_SetColor(TL1,RED); TL_SetSize(TL2,2); TL_SetColor(TL2,RED); * 매번 고맙습니다. * 수고하십시요.