커뮤니티

질문드립니다

프로필 이미지
9회말2아웃
2015-06-29 19:25:58
126
글번호 87791
답변완료
아래코드는 분봉에 일봉적용코드입니다 제가 원하는 부분은 지표로 점수화된것을 표현하는건데요 아래 코드를 이용해서 Length(5),Length(10),Length(20),Length(60) 이렇게 변수 4개를 넣고 TPBuy가 var5보다 크면 각각 1점씩 부가합니다 그러면 TPBuy가 변수5와 변수10 에서 var5보다 크면 총 2점 4개 모두 그러하면 4점이겠죠 부탁드립니다 ############################################################# Inputs: Length(5); Variables: BCounter(0), BDownAmt(0), BUpAmt(0), BUpSum(0), BDownSum(0),TPBuy(0); BUpSum = 0; BDownSum = 0; For BCounter = 0 To Length - 1 { IF DayClose(BCounter) > dayClose(BCounter+1) Then{ IF DayClose(BCounter) == 0 Then BUpAmt = 0; Else BUpAmt = 100 * (DayClose(BCounter)-DayClose(BCounter+1)) / DayClose(BCounter); BDownAmt = 0; } Else{ BUpAmt = 0; IF DayClose(BCounter) == 0 Then BDownAmt = 0; Else BDownAmt = 100 * (DayClose(BCounter+1) - DayClose(BCounter)) / DayClose(BCounter); } BUpSum = BUpSum + BUpAmt; BDownSum = BDownSum + BDownAmt; } IF BDownSum == 0 Then TPBuy = 0; Else TPBuy = 100 * BUpSum / BDownSum; ############################################################################### Variables: SCounter(0), SDownAmt(0), SUpAmt(0), SUpSum(0), SDownSum(0),TPSell(0); SUpSum = 0; SDownSum = 0; For SCounter = 0 To Length - 1 { IF DayClose(SCounter) > DayClose(SCounter+1) then { IF Close[SCounter] == 0 then SUpAmt = 0; Else SUpAmt = 100 * (DayClose(SCounter)-DayClose(SCounter+1)) / DayClose(SCounter); SDownAmt = 0; } Else { SUpAmt = 0; IF DayClose(SCounter) == 0 then SDownAmt = 0; Else SDownAmt = 100 * (DayClose(SCounter+1) - DayClose(SCounter)) / DayClose(SCounter); } SUpSum = SUpSum + SUpAmt; SDownSum = SDownSum + SDownAmt; } IF SUpSum == 0 then TPSell = 0; Else TPSell = 100 * SDownSum / SUpSum; ##################################################################################################### if dayindex == 0 Then { var1 = TPBuy ; var2 = TPSell ; } IF DATE <> DATE[1] Then { VAR3 = TPBuy[1] ; var4 = TPSell[1] ; } VAR5 = NthMaxList(1,VAR1, VAR2, VAR3, VAR4) ;
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-06-30 09:39:31

안녕하세요 예스스탁입니다. Input: Length1(5),Length2(10),Length3(20),Length4(60); var : cnt(0); Var : BDownAmt1(0), BUpAmt1(0), BUpSum1(0), BDownSum1(0),TPBuy1(0); Var : BDownAmt2(0), BUpAmt2(0), BUpSum2(0), BDownSum2(0),TPBuy2(0); Var : BDownAmt3(0), BUpAmt3(0), BUpSum3(0), BDownSum3(0),TPBuy3(0); Var : BDownAmt4(0), BUpAmt4(0), BUpSum4(0), BDownSum4(0),TPBuy4(0); var : SDownAmt1(0), SUpAmt1(0), SUpSum1(0), SDownSum1(0),TPSell1(0); var : SDownAmt2(0), SUpAmt2(0), SUpSum2(0), SDownSum2(0),TPSell2(0); var : SDownAmt3(0), SUpAmt3(0), SUpSum3(0), SDownSum3(0),TPSell3(0); var : SDownAmt4(0), SUpAmt4(0), SUpSum4(0), SDownSum4(0),TPSell4(0); var : V11(0),V12(0),v13(0),v14(0),v15(0); var : V21(0),V22(0),v23(0),v24(0),v25(0); var : V31(0),V32(0),v33(0),v34(0),v35(0); var : V41(0),V42(0),v43(0),v44(0),v45(0); BUpSum1 = 0; BDownSum1 = 0; BUpSum2 = 0; BDownSum2 = 0; BUpSum3 = 0; BDownSum3 = 0; BUpSum4 = 0; BDownSum4 = 0; SUpSum1 = 0; SDownSum1 = 0; SUpSum2 = 0; SDownSum2 = 0; SUpSum3 = 0; SDownSum3 = 0; SUpSum4 = 0; SDownSum4 = 0; For cnt = 0 To Length4 { if cnt < Length1 then{ IF DayClose(cnt) > dayClose(cnt+1) Then{ IF DayClose(cnt) == 0 Then BUpAmt1 = 0; Else BUpAmt1 = 100 * (DayClose(cnt)-DayClose(cnt+1)) / DayClose(cnt); BDownAmt1 = 0; } Else{ BUpAmt1 = 0; IF DayClose(cnt) == 0 Then BDownAmt1 = 0; Else BDownAmt1 = 100 * (DayClose(cnt+1) - DayClose(cnt)) / DayClose(cnt); } BUpSum1 = BUpSum1 + BUpAmt1; BDownSum1 = BDownSum1 + BDownAmt1; IF DayClose(cnt) > DayClose(cnt+1) then { IF Close[cnt] == 0 then SUpAmt1 = 0; Else SUpAmt1 = 100 * (DayClose(cnt)-DayClose(cnt+1)) / DayClose(cnt); SDownAmt1 = 0; } Else { SUpAmt1 = 0; IF DayClose(cnt) == 0 then SDownAmt1 = 0; Else SDownAmt1 = 100 * (DayClose(cnt+1) - DayClose(cnt)) / DayClose(cnt); } SUpSum1 = SUpSum1 + SUpAmt1; SDownSum1 = SDownSum1 + SDownAmt1; } if cnt < Length2 then{ IF DayClose(cnt) > dayClose(cnt+1) Then{ IF DayClose(cnt) == 0 Then BUpAmt2 = 0; Else BUpAmt2 = 100 * (DayClose(cnt)-DayClose(cnt+1)) / DayClose(cnt); BDownAmt2 = 0; } Else{ BUpAmt2 = 0; IF DayClose(cnt) == 0 Then BDownAmt2 = 0; Else BDownAmt2 = 100 * (DayClose(cnt+1) - DayClose(cnt)) / DayClose(cnt); } BUpSum2 = BUpSum2 + BUpAmt2; BDownSum2 = BDownSum2 + BDownAmt2; IF DayClose(cnt) > DayClose(cnt+1) then { IF Close[cnt] == 0 then SUpAmt2 = 0; Else SUpAmt2 = 100 * (DayClose(cnt)-DayClose(cnt+1)) / DayClose(cnt); SDownAmt2 = 0; } Else { SUpAmt2 = 0; IF DayClose(cnt) == 0 then SDownAmt2 = 0; Else SDownAmt2 = 100 * (DayClose(cnt+1) - DayClose(cnt)) / DayClose(cnt); } SUpSum2 = SUpSum2 + SUpAmt2; SDownSum2 = SDownSum2 + SDownAmt2; } if cnt < Length3 then{ IF DayClose(cnt) > dayClose(cnt+1) Then{ IF DayClose(cnt) == 0 Then BUpAmt3 = 0; Else BUpAmt3 = 100 * (DayClose(cnt)-DayClose(cnt+1)) / DayClose(cnt); BDownAmt3 = 0; } Else{ BUpAmt3 = 0; IF DayClose(cnt) == 0 Then BDownAmt3 = 0; Else BDownAmt3 = 100 * (DayClose(cnt+1) - DayClose(cnt)) / DayClose(cnt); } BUpSum3 = BUpSum3 + BUpAmt3; BDownSum3 = BDownSum3 + BDownAmt3; IF DayClose(cnt) > DayClose(cnt+1) then { IF Close[cnt] == 0 then SUpAmt3 = 0; Else SUpAmt3 = 100 * (DayClose(cnt)-DayClose(cnt+1)) / DayClose(cnt); SDownAmt3 = 0; } Else { SUpAmt3 = 0; IF DayClose(cnt) == 0 then SDownAmt3 = 0; Else SDownAmt3 = 100 * (DayClose(cnt+1) - DayClose(cnt)) / DayClose(cnt); } SUpSum3 = SUpSum3 + SUpAmt3; SDownSum3 = SDownSum3 + SDownAmt3; } if cnt < Length4 then{ IF DayClose(cnt) > dayClose(cnt+1) Then{ IF DayClose(cnt) == 0 Then BUpAmt4 = 0; Else BUpAmt4 = 100 * (DayClose(cnt)-DayClose(cnt+1)) / DayClose(cnt); BDownAmt4 = 0; } Else{ BUpAmt4 = 0; IF DayClose(cnt) == 0 Then BDownAmt4 = 0; Else BDownAmt4 = 100 * (DayClose(cnt+1) - DayClose(cnt)) / DayClose(cnt); } BUpSum4 = BUpSum4 + BUpAmt4; BDownSum4 = BDownSum4 + BDownAmt4; IF DayClose(cnt) > DayClose(cnt+1) then { IF Close[cnt] == 0 then SUpAmt4 = 0; Else SUpAmt4 = 100 * (DayClose(cnt)-DayClose(cnt+1)) / DayClose(cnt); SDownAmt4 = 0; } Else { SUpAmt4 = 0; IF DayClose(cnt) == 0 then SDownAmt4 = 0; Else SDownAmt4 = 100 * (DayClose(cnt+1) - DayClose(cnt)) / DayClose(cnt); } SUpSum4 = SUpSum4 + SUpAmt4; SDownSum4 = SDownSum4 + SDownAmt4; } } IF BDownSum1 == 0 Then TPBuy1 = 0; Else TPBuy1 = 100 * BUpSum1/ BDownSum1; IF BDownSum2 == 0 Then TPBuy2 = 0; Else TPBuy2 = 100 * BUpSum2/ BDownSum2; IF BDownSum3 == 0 Then TPBuy3 = 0; Else TPBuy3 = 100 * BUpSum3/ BDownSum3; IF BDownSum4 == 0 Then TPBuy4 = 0; Else TPBuy4 = 100 * BUpSum4/ BDownSum4; IF SUpSum1 == 0 then TPSell1 = 0; Else TPSell1 = 100 * SDownSum1 / SUpSum1; IF SUpSum2 == 0 then TPSell2 = 0; Else TPSell2 = 100 * SDownSum2 / SUpSum2; IF SUpSum3 == 0 then TPSell3 = 0; Else TPSell3 = 100 * SDownSum3 / SUpSum3; IF SUpSum4 == 0 then TPSell4 = 0; Else TPSell4 = 100 * SDownSum4 / SUpSum4; if dayindex == 0 Then { v11 = TPBuy1; v12 = TPSell1; v21 = TPBuy2; v22 = TPSell2; v31 = TPBuy3; v32 = TPSell3; v41 = TPBuy4; v42 = TPSell4; } IF DATE <> DATE[1] Then { V13 = TPBuy1[1] ; v14 = TPSell1[1] ; V23 = TPBuy2[1] ; v24 = TPSell2[1] ; V33 = TPBuy3[1] ; v34 = TPSell3[1] ; V43 = TPBuy4[1] ; v44 = TPSell4[1] ; } V15 = NthMaxList(1,V11, V12, V13, V14) ; V25 = NthMaxList(1,V21, V22, V23, V24) ; V35 = NthMaxList(1,V31, V32, V33, V34) ; V45 = NthMaxList(1,V41, V42, V43, V44) ; var1 = iff(TPbuy1>V15,1,0); var2 = iff(TPbuy2>V25,1,0); var3 = iff(TPbuy3>V35,1,0); var4 = iff(TPbuy4>V45,1,0); value1 = var1+var2+var3+var4; plot1(value1); 즐거운 하루되세요 > 9회말2아웃 님이 쓴 글입니다. > 제목 : 질문드립니다 > 아래코드는 분봉에 일봉적용코드입니다 제가 원하는 부분은 지표로 점수화된것을 표현하는건데요 아래 코드를 이용해서 Length(5),Length(10),Length(20),Length(60) 이렇게 변수 4개를 넣고 TPBuy가 var5보다 크면 각각 1점씩 부가합니다 그러면 TPBuy가 변수5와 변수10 에서 var5보다 크면 총 2점 4개 모두 그러하면 4점이겠죠 부탁드립니다 ############################################################# Inputs: Length(5); Variables: BCounter(0), BDownAmt(0), BUpAmt(0), BUpSum(0), BDownSum(0),TPBuy(0); BUpSum = 0; BDownSum = 0; For BCounter = 0 To Length - 1 { IF DayClose(BCounter) > dayClose(BCounter+1) Then{ IF DayClose(BCounter) == 0 Then BUpAmt = 0; Else BUpAmt = 100 * (DayClose(BCounter)-DayClose(BCounter+1)) / DayClose(BCounter); BDownAmt = 0; } Else{ BUpAmt = 0; IF DayClose(BCounter) == 0 Then BDownAmt = 0; Else BDownAmt = 100 * (DayClose(BCounter+1) - DayClose(BCounter)) / DayClose(BCounter); } BUpSum = BUpSum + BUpAmt; BDownSum = BDownSum + BDownAmt; } IF BDownSum == 0 Then TPBuy = 0; Else TPBuy = 100 * BUpSum / BDownSum; ############################################################################### Variables: SCounter(0), SDownAmt(0), SUpAmt(0), SUpSum(0), SDownSum(0),TPSell(0); SUpSum = 0; SDownSum = 0; For SCounter = 0 To Length - 1 { IF DayClose(SCounter) > DayClose(SCounter+1) then { IF Close[SCounter] == 0 then SUpAmt = 0; Else SUpAmt = 100 * (DayClose(SCounter)-DayClose(SCounter+1)) / DayClose(SCounter); SDownAmt = 0; } Else { SUpAmt = 0; IF DayClose(SCounter) == 0 then SDownAmt = 0; Else SDownAmt = 100 * (DayClose(SCounter+1) - DayClose(SCounter)) / DayClose(SCounter); } SUpSum = SUpSum + SUpAmt; SDownSum = SDownSum + SDownAmt; } IF SUpSum == 0 then TPSell = 0; Else TPSell = 100 * SDownSum / SUpSum; ##################################################################################################### if dayindex == 0 Then { var1 = TPBuy ; var2 = TPSell ; } IF DATE <> DATE[1] Then { VAR3 = TPBuy[1] ; var4 = TPSell[1] ; } VAR5 = NthMaxList(1,VAR1, VAR2, VAR3, VAR4) ;