커뮤니티

수식문의

프로필 이미지
softtoug
2016-10-13 14:16:29
89
글번호 102914
답변완료
안녕하세요 하기 답변 잘 받았습니다. 한가지 문의 사항이 있어서 드립니다. 검토 부탁드립니다. 문의 사항 1. 저는 강제청산기능을 목표수익과 최대 수익 대비 하락(%수익이후) 두가지 다 이용하는데, 하기 수식은 목표수익으로 할때만 작용하는 것 같습니다. 조정 부탁드립니다. 2. 진입을 할때, 제가 요청드린 것은 매수 진입시 볼린져 밴드 중앙선 상단에 봉 완성시, 매도 진입시 볼린져 밴드 중앙선 하단에 봉 완성시. 이렇게 요청드렸는데...상단밴드/하단밴드 에 봉 완성시 진입하고 있습니다. 죄송하지만, 수정 부탁드립니다. 감사합니다. 안녕하세요 예스스탁입니다. 2번 내용 가능하지 않습니다. 1번과 3번내용만 추가해 드립니다. input : P(14),BBP(20),dv(2),MAP(60),yy(15),zz(10); var : ADXV(0),DP(0),DM(0),T(0),BBup(0),BBdn(0),mav(0); ADXV = ADX(P); DP = Diplus(P); DM = DiMinus(P); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); mav = ma(C,MAP); if crossup(ADXV,20) Then{ if DP > DM and dp < 25 Then buy("b1"); if DP < DM and dm < 25 Then sell("s1"); } if MarketPosition == 1 and IsEntryName("b1") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } if crossup(ADXV,10.60) Then{ if DP > DM Then buy("b4"); if DP < DM Then sell("s4"); } if MarketPosition == 1 and IsEntryName("b4") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("s4") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } #직전 2개의 거래가 모두 매수포지션이고 수익청산되었으면 Condition1은 true 아니면 false Condition1 = MarketPosition(1) == 1 and MarketPosition(2) == 1 and IsExitName("StopProfitTarget",1) and IsExitName("StopProfitTarget",1); #직전 2개의 거래가 모두 매도포지션이고 수익청산되었으면 Condition2는 true 아니면 false Condition2 = MarketPosition(1) == -1 and MarketPosition(2) == -1 and IsExitName("StopProfitTarget",1) and IsExitName("StopProfitTarget",1); if MarketPosition == 0 and Condition1 == true and C < BBdn Then sell(); if MarketPosition == 0 and Condition2 == true and C > BBup Then buy(); if crossup(adxv,yy) Then{ if DP >= DM+ZZ Then buy(); if DP <= DM-ZZ Then sell(); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-10-13 17:16:54

안녕하세요 예스스탁입니다. input : P(14),BBP(20),dv(2),MAP(60),yy(15),zz(10); var : ADXV(0),DP(0),DM(0),T(0),BBup(0),BBdn(0),mav(0),BBmd(0); ADXV = ADX(P); DP = Diplus(P); DM = DiMinus(P); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); BBmd = ma(c,BBP); mav = ma(C,MAP); if crossup(ADXV,20) Then{ if DP > DM and dp < 25 Then buy("b1"); if DP < DM and dm < 25 Then sell("s1"); } if MarketPosition == 1 and IsEntryName("b1") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } if crossup(ADXV,10.60) Then{ if DP > DM Then buy("b4"); if DP < DM Then sell("s4"); } if MarketPosition == 1 and IsEntryName("b4") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("s4") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } #직전 2개의 거래가 모두 매수포지션이고 수익청산되었으면 Condition1은 true 아니면 false Condition1 = MarketPosition(1) == 1 and MarketPosition(2) == 1 and ((IsExitName("StopProfitTarget",1) or IsExitName("StopTrailing",1)) and (IsExitName("StopProfitTarget",2) or IsExitName("StopTrailing",2))); #직전 2개의 거래가 모두 매도포지션이고 수익청산되었으면 Condition2는 true 아니면 false Condition2 = MarketPosition(1) == -1 and MarketPosition(2) == -1 and ((IsExitName("StopProfitTarget",1) or IsExitName("StopTrailing",1)) and (IsExitName("StopProfitTarget",2) or IsExitName("StopTrailing",2))); if MarketPosition == 0 and Condition1 == true and C < BBmd Then sell(); if MarketPosition == 0 and Condition2 == true and C > BBmd Then buy(); if crossup(adxv,yy) Then{ if DP >= DM+ZZ Then buy(); if DP <= DM-ZZ Then sell(); } 즐거운 하루되세요 > softtoug 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요 하기 답변 잘 받았습니다. 한가지 문의 사항이 있어서 드립니다. 검토 부탁드립니다. 문의 사항 1. 저는 강제청산기능을 목표수익과 최대 수익 대비 하락(%수익이후) 두가지 다 이용하는데, 하기 수식은 목표수익으로 할때만 작용하는 것 같습니다. 조정 부탁드립니다. 2. 진입을 할때, 제가 요청드린 것은 매수 진입시 볼린져 밴드 중앙선 상단에 봉 완성시, 매도 진입시 볼린져 밴드 중앙선 하단에 봉 완성시. 이렇게 요청드렸는데...상단밴드/하단밴드 에 봉 완성시 진입하고 있습니다. 죄송하지만, 수정 부탁드립니다. 감사합니다. 안녕하세요 예스스탁입니다. 2번 내용 가능하지 않습니다. 1번과 3번내용만 추가해 드립니다. input : P(14),BBP(20),dv(2),MAP(60),yy(15),zz(10); var : ADXV(0),DP(0),DM(0),T(0),BBup(0),BBdn(0),mav(0); ADXV = ADX(P); DP = Diplus(P); DM = DiMinus(P); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); mav = ma(C,MAP); if crossup(ADXV,20) Then{ if DP > DM and dp < 25 Then buy("b1"); if DP < DM and dm < 25 Then sell("s1"); } if MarketPosition == 1 and IsEntryName("b1") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } if crossup(ADXV,10.60) Then{ if DP > DM Then buy("b4"); if DP < DM Then sell("s4"); } if MarketPosition == 1 and IsEntryName("b4") == true Then{ if CrossDown(DP,DM) Then ExitLong(); } if MarketPosition == -1 and IsEntryName("s4") == true Then{ if CrossUp(DP,DM) Then ExitShort(); } #직전 2개의 거래가 모두 매수포지션이고 수익청산되었으면 Condition1은 true 아니면 false Condition1 = MarketPosition(1) == 1 and MarketPosition(2) == 1 and IsExitName("StopProfitTarget",1) and IsExitName("StopProfitTarget",1); #직전 2개의 거래가 모두 매도포지션이고 수익청산되었으면 Condition2는 true 아니면 false Condition2 = MarketPosition(1) == -1 and MarketPosition(2) == -1 and IsExitName("StopProfitTarget",1) and IsExitName("StopProfitTarget",1); if MarketPosition == 0 and Condition1 == true and C < BBdn Then sell(); if MarketPosition == 0 and Condition2 == true and C > BBup Then buy(); if crossup(adxv,yy) Then{ if DP >= DM+ZZ Then buy(); if DP <= DM-ZZ Then sell(); }