커뮤니티

시스템식 재문의 드립니다

프로필 이미지
kosto1
2018-02-14 11:21:28
152
글번호 116630
답변완료

첨부 이미지

안녕하세요 작성해 주신 수식 바탕으로 잘 쓰고 있습니다 새해 복 많이 받으시고 항상 감사합니다!!! 추가 매수 부분이 원하는 대로 작동하지 않아 재 문의드립니다 퓨처스트림넷 ㄱ. 2018 0214 0927 에 첫 매수 신호가 나오고 ㄱ 대비해서 매수가 대비 -2%에 0942 근처에 2차 매수가 나가야 하는데 이상한 곳에서 2차 매수 신호가 발생합니다. 제가 원하는 방식은 1차 매수 신호 이후 (포지션 0일때의 조건과 상관없이 ) 조건은 1차 매수가 있고 1차 매수가 대비 하락만 조건이 충족하면 됩니다 1차 매수가격에서 -2% 더 하락하면 2차 매수 2차 매수 가격에서 -2% 더 하락하면 3차 매수 3차 매수 가격에서 -2% 더 하락하면 4차 매수 이런 방식이면 됩니다. =========================================================================== input : P(20),금액(1000000),n1(1),n2(2),n3(3),n4(4); input : BBP(20),dv(2); var : cnt(0),sum(0),Dmav(0); var : BBmd(0),BBup(0),BBdn(0); var : Dmoney(0); sum = 0; for cnt = 0 to P-1{ sum = sum + DayClose(cnt); } Dmav = sum/P; BBmd = ma(C,BBP); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); if Bdate != bdate[1] Then Dmoney = 0; Dmoney = Dmoney+m; if MarketPosition == 0 and (C[1] <= O[1]*0.987 and o <= BBdn) Then buy("b1",OnClose,def,Floor((금액*n1)/C)); if MarketPosition == 1 Then { if MaxEntries == 1 Then buy("b2",atlimit,LatestEntryPrice(0)*0.98,floor((금액*n1)/min(LatestEntryPrice(0)*0.98,NextBarOpen))); if MaxEntries == 2 Then buy("b3",atlimit,LatestEntryPrice(0)*0.97,floor((금액*n2)/min(LatestEntryPrice(0)*0.97,NextBarOpen))); if MaxEntries == 3 Then buy("b4",atlimit,LatestEntryPrice(0)*0.96,floor((금액*n3)/min(LatestEntryPrice(0)*0.96,NextBarOpen))); #상단-1% 터치시 매도 exitlong("bx1",AtLimit,BBup*0.99); #중단 터치시 매도 exitlong("bx2",AtLimit,BBmd); if MaxEntries <= 2 Then ExitLong("bp1",atlimit,AvgEntryPrice*1.03); Else ExitLong("bp2",atlimit,AvgEntryPrice); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-02-14 14:49:34

안녕하세요 예스스탁입니다. 시스템 트레이딩 설정창의 피라미딩 탭에서 피라미딩을 다른진입신호만 허용으로 설정하고 적용하시기 바랍니다. 수식에 추가진입을 하는 수식 내용이 있는 경우 항상 피라미딩을 설정하셔야 합니다. 즐거운 하루되세요 > kosto1 님이 쓴 글입니다. > 제목 : 시스템식 재문의 드립니다 > 안녕하세요 작성해 주신 수식 바탕으로 잘 쓰고 있습니다 새해 복 많이 받으시고 항상 감사합니다!!! 추가 매수 부분이 원하는 대로 작동하지 않아 재 문의드립니다 퓨처스트림넷 ㄱ. 2018 0214 0927 에 첫 매수 신호가 나오고 ㄱ 대비해서 매수가 대비 -2%에 0942 근처에 2차 매수가 나가야 하는데 이상한 곳에서 2차 매수 신호가 발생합니다. 제가 원하는 방식은 1차 매수 신호 이후 (포지션 0일때의 조건과 상관없이 ) 조건은 1차 매수가 있고 1차 매수가 대비 하락만 조건이 충족하면 됩니다 1차 매수가격에서 -2% 더 하락하면 2차 매수 2차 매수 가격에서 -2% 더 하락하면 3차 매수 3차 매수 가격에서 -2% 더 하락하면 4차 매수 이런 방식이면 됩니다. =========================================================================== input : P(20),금액(1000000),n1(1),n2(2),n3(3),n4(4); input : BBP(20),dv(2); var : cnt(0),sum(0),Dmav(0); var : BBmd(0),BBup(0),BBdn(0); var : Dmoney(0); sum = 0; for cnt = 0 to P-1{ sum = sum + DayClose(cnt); } Dmav = sum/P; BBmd = ma(C,BBP); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); if Bdate != bdate[1] Then Dmoney = 0; Dmoney = Dmoney+m; if MarketPosition == 0 and (C[1] <= O[1]*0.987 and o <= BBdn) Then buy("b1",OnClose,def,Floor((금액*n1)/C)); if MarketPosition == 1 Then { if MaxEntries == 1 Then buy("b2",atlimit,LatestEntryPrice(0)*0.98,floor((금액*n1)/min(LatestEntryPrice(0)*0.98,NextBarOpen))); if MaxEntries == 2 Then buy("b3",atlimit,LatestEntryPrice(0)*0.97,floor((금액*n2)/min(LatestEntryPrice(0)*0.97,NextBarOpen))); if MaxEntries == 3 Then buy("b4",atlimit,LatestEntryPrice(0)*0.96,floor((금액*n3)/min(LatestEntryPrice(0)*0.96,NextBarOpen))); #상단-1% 터치시 매도 exitlong("bx1",AtLimit,BBup*0.99); #중단 터치시 매도 exitlong("bx2",AtLimit,BBmd); if MaxEntries <= 2 Then ExitLong("bp1",atlimit,AvgEntryPrice*1.03); Else ExitLong("bp2",atlimit,AvgEntryPrice); }