커뮤니티

피보나치 수식 수정 부탁드립니다.

프로필 이미지
승부사1
2018-05-02 23:55:41
185
글번호 118660
답변완료
아래의 수식을 돌파시나 이탈시가 아닌 해당가격대에 오면 무조건 매수, 매도가 되도록 하는 명령어는 어떻게 되나요?? 즉, crossup, crossdown이 아닌 무조건 매수, 매도 입니다. 점검해 주시면 감사드립니다. - 아 래 - input : n(240); input : 지정일(20180426); var : 매수금액(3000000); var : hh(0),ll(0),rr(0),cnt(0); if DayHigh(n) > 0 and DayLow(n) > 0 and sdate >= 지정일 then{ hh = dayhigh(1); ll = daylow(1); for cnt = 1 to n{ if dayhigh(cnt) > hh Then hh = DayHigh(cnt); if daylow(cnt) < ll Then ll = daylow(cnt); } rr = hh-ll; var1 = hh; var2 = hh - rr*0.236; var3 = hh - rr*0.382; var4 = hh - rr*0.500; var5 = hh - rr*0.618; var6 = hh - rr*0.700; var7 = ll; if MarketPosition == 0 and crossup(c,var3) Then Buy("매수1"); if MarketPosition == 1 Then { if MaxEntries == 1 then { if CrossDown(c,var4) Then Buy("매수2"); if crossup(c,var2) Then ExitLong("수익1"); } if MaxEntries == 2 Then { if CrossDown(c,var5) Then Buy("매수3"); if crossup(c,var3) Then ExitLong("수익2"); } if MaxEntries == 3 Then { if crossup(c,var3) Then ExitLong("수익3"); if CrossDown(c,var4) Then ExitLong("매도1",OnClose,def,"",floor(MaxContracts*(1/3)),1); if CrossDown(c,var5) Then ExitLong("매도2",OnClose,def,"",floor(MaxContracts*(1/3)),1); if CrossDown(c,var6) Then ExitLong("매도3"); } } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-05-04 10:09:18

안녕하세요 예스스탁입니다. input : n(240); input : 지정일(20180426); var : 매수금액(3000000); var : hh(0),ll(0),rr(0),cnt(0),EL(0),EH(0); if DayHigh(n) > 0 and DayLow(n) > 0 and sdate >= 지정일 then{ hh = dayhigh(1); ll = daylow(1); for cnt = 1 to n { if dayhigh(cnt) > hh Then hh = DayHigh(cnt); if daylow(cnt) < ll Then ll = daylow(cnt); } rr = hh-ll; var1 = hh; var2 = hh - rr*0.236; var3 = hh - rr*0.382; var4 = hh - rr*0.500; var5 = hh - rr*0.618; var6 = hh - rr*0.700; var7 = ll; if MarketPosition == 0 and H < var3 Then Buy("매수1",AtStop,var3); if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then { EH = H; EL = L; } if H > EH Then EH = H; if L < EL Then EL = L; if MaxEntries == 1 then { if L > var4 Then Buy("매수2",atlimit,var4); if H < var2 Then ExitLong("수익1",atlimit,var2); } if MaxEntries == 2 Then { if L > var5 Then Buy("매수3",atlimit,var5); if H < var3 Then ExitLong("수익2",atlimit,var3); } if MaxEntries == 3 Then { if H < var3 Then ExitLong("수익3",atlimit,var3); if EL > var4 Then ExitLong("매도1",AtStop,var4,"",floor(MaxContracts*(1/3)),1); if EL > var5 Then ExitLong("매도2",AtStop,var5,"",floor(MaxContracts*(1/3)),1); if EL > var6 Then ExitLong("매도3",AtStop,var6); } } } 즐거운 하루되세요 > 승부사1 님이 쓴 글입니다. > 제목 : 피보나치 수식 수정 부탁드립니다. > 아래의 수식을 돌파시나 이탈시가 아닌 해당가격대에 오면 무조건 매수, 매도가 되도록 하는 명령어는 어떻게 되나요?? 즉, crossup, crossdown이 아닌 무조건 매수, 매도 입니다. 점검해 주시면 감사드립니다. - 아 래 - input : n(240); input : 지정일(20180426); var : 매수금액(3000000); var : hh(0),ll(0),rr(0),cnt(0); if DayHigh(n) > 0 and DayLow(n) > 0 and sdate >= 지정일 then{ hh = dayhigh(1); ll = daylow(1); for cnt = 1 to n{ if dayhigh(cnt) > hh Then hh = DayHigh(cnt); if daylow(cnt) < ll Then ll = daylow(cnt); } rr = hh-ll; var1 = hh; var2 = hh - rr*0.236; var3 = hh - rr*0.382; var4 = hh - rr*0.500; var5 = hh - rr*0.618; var6 = hh - rr*0.700; var7 = ll; if MarketPosition == 0 and crossup(c,var3) Then Buy("매수1"); if MarketPosition == 1 Then { if MaxEntries == 1 then { if CrossDown(c,var4) Then Buy("매수2"); if crossup(c,var2) Then ExitLong("수익1"); } if MaxEntries == 2 Then { if CrossDown(c,var5) Then Buy("매수3"); if crossup(c,var3) Then ExitLong("수익2"); } if MaxEntries == 3 Then { if crossup(c,var3) Then ExitLong("수익3"); if CrossDown(c,var4) Then ExitLong("매도1",OnClose,def,"",floor(MaxContracts*(1/3)),1); if CrossDown(c,var5) Then ExitLong("매도2",OnClose,def,"",floor(MaxContracts*(1/3)),1); if CrossDown(c,var6) Then ExitLong("매도3"); } } }