커뮤니티

피보나치 재질문이요

프로필 이미지
바나
2022-05-04 15:31:22
1350
글번호 158588
답변완료
피보나치 계산에 필요한 최고점과 최저점에 대한 내용이 필요합니다. 이 고점과 저점대한 내용은 사용자분이 지정을 하셔야 합니다. ------------------------------------------------------- 라고 하셨는데 작성해주신 수식에서 최고점 최저점에 대한 내용을 어디부분을 고쳐서 지정하는 건가요? 그리고 전일기준5일이 N(5)라면 이 수식을 적용할때 분봉은 어느것을 사용해도 5일을 기준으로 동작하는 건가요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 피보나치 되돌림 > 안녕하세요 예스스탁입니다. 피보나치는 고점과 저점이 기반이 됩니다. 올리신 내용을 구현하기 위해서는 피보나치 계산에 필요한 최고점과 최저점에 대한 내용이 필요합니다. 이 고점과 저점대한 내용은 사용자분이 지정을 하셔야 합니다. 랭귀지에서 자동으로 계산해 주는 부분은 없습니다. 아래 내용을 참고해서 원하시는 내용을 만들어 보시기 바랍니다. 고점저점은 전일기준 5일간 최고가와 최저가기준으로 작성한 식입니다. 추가진입하게 되므로 시스템트레이딩설정창에서 피라미딩을 다른진입신호만 허용으로 설정하고 적용하셔야 합니다. input : N(5),금액(10000000); var : cnt(0),hh(0),ll(0); hh = 0; ll = 0; For cnt = 1 to N { if (hh == 0 or (hh > 0 and DayHigh(cnt) > hh)) Then hh = DayHigh(cnt); if (ll == 0 or (ll > 0 and DayLow(cnt) < ll)) Then ll = DayLow(cnt); } var1 = hh-(hh-ll)*0; var2 = hh-(hh-ll)*0.236; var3 = hh-(hh-ll)*0.382; var4 = hh-(hh-ll)*0.500; var5 = hh-(hh-ll)*0.618; var6 = hh-(hh-ll)*0.786; var7 = hh-(hh-ll)*1.000; if CrossDown(C,var2) Then Buy("b1",OnClose,DEF,Floor((금액*0.2)/C)); if CrossDown(C,var3) Then Buy("b2",OnClose,DEF,Floor((금액*0.2)/C)); if CrossDown(C,var4) Then Buy("b3",OnClose,DEF,Floor((금액*0.2)/C)); if CrossDown(C,var5) Then Buy("b4",OnClose,DEF,Floor((금액*0.2)/C)); if CrossDown(C,var6) Then Buy("b5",OnClose,DEF,Floor((금액*0.2)/C)); if MarketPosition == 1 Then { if CrossUp(c,var1) Then ExitLong("bx1",OnClose,DEF,"b1"); if CrossUp(c,Var2) Then ExitLong("bx2",OnClose,DEF,"b2"); if CrossUp(c,Var3) Then ExitLong("bx3",OnClose,DEF,"b3"); if CrossUp(c,Var4) Then ExitLong("bx4",OnClose,DEF,"b4"); if CrossUp(c,var5) Then ExitLong("bx5",OnClose,DEF,"b5"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-05-04 16:05:05

안녕하세요 예스스탁입니다. hh = 0; ll = 0; For cnt = 1 to N { if (hh == 0 or (hh > 0 and DayHigh(cnt) > hh)) Then hh = DayHigh(cnt); if (ll == 0 or (ll > 0 and DayLow(cnt) < ll)) Then ll = DayLow(cnt); } 위 내용이 전일기준 과거 N일간 최고가와 최저가를 구하는 계산식입니다.' N은 input로 N(5)선언되어 있어 기초값은 5이고 변경이 가능합니다. 작성해 드린 내용은 단지 하나의 예입니다. 의도하시는 고점이나 저점의 내용에 따라 로직은 달리 작성되야 할수도 있습니다. 즐거운 하루되세요 > 바나 님이 쓴 글입니다. > 제목 : 피보나치 재질문이요 > 피보나치 계산에 필요한 최고점과 최저점에 대한 내용이 필요합니다. 이 고점과 저점대한 내용은 사용자분이 지정을 하셔야 합니다. ------------------------------------------------------- 라고 하셨는데 작성해주신 수식에서 최고점 최저점에 대한 내용을 어디부분을 고쳐서 지정하는 건가요? 그리고 전일기준5일이 N(5)라면 이 수식을 적용할때 분봉은 어느것을 사용해도 5일을 기준으로 동작하는 건가요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 피보나치 되돌림 > 안녕하세요 예스스탁입니다. 피보나치는 고점과 저점이 기반이 됩니다. 올리신 내용을 구현하기 위해서는 피보나치 계산에 필요한 최고점과 최저점에 대한 내용이 필요합니다. 이 고점과 저점대한 내용은 사용자분이 지정을 하셔야 합니다. 랭귀지에서 자동으로 계산해 주는 부분은 없습니다. 아래 내용을 참고해서 원하시는 내용을 만들어 보시기 바랍니다. 고점저점은 전일기준 5일간 최고가와 최저가기준으로 작성한 식입니다. 추가진입하게 되므로 시스템트레이딩설정창에서 피라미딩을 다른진입신호만 허용으로 설정하고 적용하셔야 합니다. input : N(5),금액(10000000); var : cnt(0),hh(0),ll(0); hh = 0; ll = 0; For cnt = 1 to N { if (hh == 0 or (hh > 0 and DayHigh(cnt) > hh)) Then hh = DayHigh(cnt); if (ll == 0 or (ll > 0 and DayLow(cnt) < ll)) Then ll = DayLow(cnt); } var1 = hh-(hh-ll)*0; var2 = hh-(hh-ll)*0.236; var3 = hh-(hh-ll)*0.382; var4 = hh-(hh-ll)*0.500; var5 = hh-(hh-ll)*0.618; var6 = hh-(hh-ll)*0.786; var7 = hh-(hh-ll)*1.000; if CrossDown(C,var2) Then Buy("b1",OnClose,DEF,Floor((금액*0.2)/C)); if CrossDown(C,var3) Then Buy("b2",OnClose,DEF,Floor((금액*0.2)/C)); if CrossDown(C,var4) Then Buy("b3",OnClose,DEF,Floor((금액*0.2)/C)); if CrossDown(C,var5) Then Buy("b4",OnClose,DEF,Floor((금액*0.2)/C)); if CrossDown(C,var6) Then Buy("b5",OnClose,DEF,Floor((금액*0.2)/C)); if MarketPosition == 1 Then { if CrossUp(c,var1) Then ExitLong("bx1",OnClose,DEF,"b1"); if CrossUp(c,Var2) Then ExitLong("bx2",OnClose,DEF,"b2"); if CrossUp(c,Var3) Then ExitLong("bx3",OnClose,DEF,"b3"); if CrossUp(c,Var4) Then ExitLong("bx4",OnClose,DEF,"b4"); if CrossUp(c,var5) Then ExitLong("bx5",OnClose,DEF,"b5"); }