커뮤니티

생각한것처럼 안되네요..ㅠㅠ

프로필 이미지
이형지
2019-04-02 09:19:54
180
글번호 127556
답변완료
아래 수식으로 코스닥 150 레버리지를 돌려보았는데요... 3월 18일 전량 매도 이후에는 신호가 안뜨는데 뭐가 잘못되었느지 잘모르겠네요... (5분봉입니다. ) 그리고 매수금액을 10만원으로 하면 7주가 매수가 되어야 하는데 어떤건 2주 어떤건 5주씩 사지기도 하고 매수금액을 100만원으로 올려보았는데 매수 금액이 이상하게 70주가 되지 않네요... =================================================================================== 제가 구현하고 싶은 사항은 다음과 같습니다. 변수 설정 1. 금액(10만원-100만원) 2. 진입횟수(10회 -1000회) --> 각5개 지표의 총합의 진입횟수 3. 분할청산(10회 - 100회 ) 4. 각 5개 지표별 저점 가격 (아래 input 참조) 5. 이평 값 2개 (100-300 / 500-1000) 6. DMI고점 매도 변수값 설정 (10-30) --- > 각각의 신호발생시마다 매수하고 -- 매도 신호시마다 신호시점의 설정된 %로 분할 매도 아래식은 많이 안맞음.. (근데 뭐가 잘못되었는지 모르겠어요~~ㅜㅜ) input : MFIv(15),RSIv(20),CCIv(-300),sto(5),simridov(10); input : 분할매도(0.01),DMIv(20); input : 매수금액(100000),최대진입횟수(100); input : 이평1(100),이평2(500); var1 = ma(C,100); var2 = ma(c,1000); var3 = MFI(14); var4 = RSI(14); var5 = CCI(20); var6 = StochasticsK(20,5); var7 = Simrido(14); var8 = Diplus(DMIv); var9 = DiMinus(DMIv); if var1 > var2 then { if var3 <= MFIv and MaxEntries < 최대진입횟수 Then buy("MFI매수",OnClose,def,floor(매수금액/c)); if var4 <= RSIv and MaxEntries < 최대진입횟수 Then buy("RSI매수",OnClose,def,floor(매수금액/c)); if var5 <= CCIv and MaxEntries < 최대진입횟수 Then buy("CCI매수",OnClose,def,floor(매수금액/c)); if var6 <= sto and MaxEntries < 최대진입횟수 Then buy("sto매수",OnClose,def,floor(매수금액/c)); if var7 <= simridov and MaxEntries < 최대진입횟수 Then buy("simrido매수",OnClose,def,floor(매수금액/c)); } if MarketPosition == 1 then { if CurrentContracts > CurrentContracts[1] Then { value1 = 0; value2 = value2+(CurrentContracts-CurrentContracts[1]); } if CurrentContracts < CurrentContracts[1] Then { value1 = value1+1; value2 = value2-(CurrentContracts-CurrentContracts[1]); } if var8 >= var9 Then { if value1 < 9 Then ExitLong("bx1",OnClose,def,"",Floor(value2*분할매도),1); Else ExitLong("bx2"); } } Else { value1 = 0; value2 = 0; }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-04-02 11:21:15

안녕하세요 예스스탁입니다. 1 해당 수식 적용해 보았지만 올려주신 내용과 같은 경우가 없습니다. 모두 지정한 금액에 맞는 수량으로 진입을 하고 있습니다. 2주,5주로 보이시는게 리포트의 수량이면 청산조건으로 중간에 일부청산으로 되어 남은 수량을 의미합니다. 별도로 수정해 드릴만한 부분이 없습니다. 2 3월 18일 이후에 신호가 없는 것은 이평조건때문입니다, 100이평이 1000이평보다 클때만 진입하므로 하향이탈 구간은 진입하지 않습니다. input : 이평1(100),이평2(500); var1 = ma(C,100); var2 = ma(c,1000); 위와 같이 올리신 수식 내용을 보시면 이평1,.이평2와 같이 input으로 변수를 선언만 하고 수식에 사용된 내용이 없습니다. 3 분할매도가 0.01이면 현재수량의 1%를 청산합니다. 수량이 1이상이 아니면 신호가 발생하지 않고, 또한 청산이 최대 10회로 지정되어 있습니다. 청산횟수도 같이 지정하게 외부변수 처리해 드립니다. 불할매도 %와 맞는 횟수로 지정하시기 바랍니다. input : MFIv(15),RSIv(20),CCIv(-300),sto(5),simridov(10); input : 분할매도(0.01),DMIv(20); input : 매수금액(100000),최대진입횟수(100),분할청산횟수(100); input : 이평1(100),이평2(500); var1 = ma(C,이평1); var2 = ma(c,이평2); var3 = MFI(14); var4 = RSI(14); var5 = CCI(20); var6 = StochasticsK(20,5); var7 = Simrido(14); var8 = Diplus(DMIv); var9 = DiMinus(DMIv); if var1 > var2 then { if var3 <= MFIv and MaxEntries < 최대진입횟수 Then buy("MFI매수",OnClose,def,floor(매수금액/c)); if var4 <= RSIv and MaxEntries < 최대진입횟수 Then buy("RSI매수",OnClose,def,floor(매수금액/c)); if var5 <= CCIv and MaxEntries < 최대진입횟수 Then buy("CCI매수",OnClose,def,floor(매수금액/c)); if var6 <= sto and MaxEntries < 최대진입횟수 Then buy("sto매수",OnClose,def,floor(매수금액/c)); if var7 <= simridov and MaxEntries < 최대진입횟수 Then buy("simrido매수",OnClose,def,floor(매수금액/c)); } if MarketPosition == 1 then { if CurrentContracts > CurrentContracts[1] Then { value1 = 0; value2 = value2+(CurrentContracts-CurrentContracts[1]); } if CurrentContracts < CurrentContracts[1] Then { value1 = value1+1; value2 = value2-(CurrentContracts-CurrentContracts[1]); } if var8 >= var9 Then { if value1 < 분할청산횟수 Then { ExitLong("bx1",OnClose,def,"",Floor(value2*분할매도),2); } Else ExitLong("bx2"); } } Else { value1 = 0; value2 = 0; } 즐거운 하루되세요 > 이형지 님이 쓴 글입니다. > 제목 : 생각한것처럼 안되네요..ㅠㅠ > 아래 수식으로 코스닥 150 레버리지를 돌려보았는데요... 3월 18일 전량 매도 이후에는 신호가 안뜨는데 뭐가 잘못되었느지 잘모르겠네요... (5분봉입니다. ) 그리고 매수금액을 10만원으로 하면 7주가 매수가 되어야 하는데 어떤건 2주 어떤건 5주씩 사지기도 하고 매수금액을 100만원으로 올려보았는데 매수 금액이 이상하게 70주가 되지 않네요... =================================================================================== 제가 구현하고 싶은 사항은 다음과 같습니다. 변수 설정 1. 금액(10만원-100만원) 2. 진입횟수(10회 -1000회) --> 각5개 지표의 총합의 진입횟수 3. 분할청산(10회 - 100회 ) 4. 각 5개 지표별 저점 가격 (아래 input 참조) 5. 이평 값 2개 (100-300 / 500-1000) 6. DMI고점 매도 변수값 설정 (10-30) --- > 각각의 신호발생시마다 매수하고 -- 매도 신호시마다 신호시점의 설정된 %로 분할 매도 아래식은 많이 안맞음.. (근데 뭐가 잘못되었는지 모르겠어요~~ㅜㅜ) input : MFIv(15),RSIv(20),CCIv(-300),sto(5),simridov(10); input : 분할매도(0.01),DMIv(20); input : 매수금액(100000),최대진입횟수(100); input : 이평1(100),이평2(500); var1 = ma(C,100); var2 = ma(c,1000); var3 = MFI(14); var4 = RSI(14); var5 = CCI(20); var6 = StochasticsK(20,5); var7 = Simrido(14); var8 = Diplus(DMIv); var9 = DiMinus(DMIv); if var1 > var2 then { if var3 <= MFIv and MaxEntries < 최대진입횟수 Then buy("MFI매수",OnClose,def,floor(매수금액/c)); if var4 <= RSIv and MaxEntries < 최대진입횟수 Then buy("RSI매수",OnClose,def,floor(매수금액/c)); if var5 <= CCIv and MaxEntries < 최대진입횟수 Then buy("CCI매수",OnClose,def,floor(매수금액/c)); if var6 <= sto and MaxEntries < 최대진입횟수 Then buy("sto매수",OnClose,def,floor(매수금액/c)); if var7 <= simridov and MaxEntries < 최대진입횟수 Then buy("simrido매수",OnClose,def,floor(매수금액/c)); } if MarketPosition == 1 then { if CurrentContracts > CurrentContracts[1] Then { value1 = 0; value2 = value2+(CurrentContracts-CurrentContracts[1]); } if CurrentContracts < CurrentContracts[1] Then { value1 = value1+1; value2 = value2-(CurrentContracts-CurrentContracts[1]); } if var8 >= var9 Then { if value1 < 9 Then ExitLong("bx1",OnClose,def,"",Floor(value2*분할매도),1); Else ExitLong("bx2"); } } Else { value1 = 0; value2 = 0; }