커뮤니티

수식 재검토 부탁드립니다.

프로필 이미지
야구르트
2019-01-12 08:23:26
214
글번호 125218
답변완료
매번 도움 부탁을 드려 송구스럽습니다. 다름이 아니라, 아래와 같은 수식을 다시 만들어 주셔서 시뮬레이션을 해본 결과 다음과 같은 결과가 나왔습니다. 1. 피라미딩= 다른진입신호만 허용 세팅한 경우 매수 신호가 b2 만 발생합니다. (2가지 조건을 만족하는 경우 b1,b2 신호가 동시에 나오지 않네요) 2. b2신호가 발생한 경우 매수수량이 100개 이면 b21 매도신호는 49개, b22 매도신호는 50개로 표시됩니다. 바쁘시겠지만, 다시한번 검토 부탁드립니다. ================================================================ 청산의 if문 연결을 잘못했드렸습니다. 수정한 식입니다. 피라미딩은 다른진입신호만 허용으로 설정하고 적용하시면 됩니다. input : 매수금액(10000000); if crossup(c,DayClose(1)) then buy("b1",OnClose,def,Floor((매수금액*0.4)/c)); if crossup(c,DayHigh(1)) then buy("b2",OnClose,def,Floor((매수금액*0.6)/c)); if MarketPosition == 1 then { if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "b1" Then { var1 = CurrentContracts-CurrentContracts[1]; var2 = Floor(var1*0.4); var3 = var1-var2; } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "b2" Then { var4 = CurrentContracts-CurrentContracts[1]; var5 = Floor(var4*0.4); var6 = var4-var5; } if NextBarSdate != sdate then { ExitLong("bx11",OnClose,def,"b1",var2,1); ExitLong("bx12",AtMarket,def,"b1",var3,1); ExitLong("bx21",OnClose,def,"b2",var5,1); ExitLong("bx22",AtMarket,def,"b2",var6,1); } } 즐거운 하루되세요 > 야구르트 님이 쓴 글입니다. > 제목 : 재검토 부탁드립니다 > 며칠전 작성해주신 수식으로 시뮬레이션 해봤는데 제가 피라미딩 세팅을 잘못해서 그런지 매매신호가 거의 나오지 않네요.. 참고로, 1분봉 챠트에서 아래의 수식으로 시뮬을 돌려봤습니다. 다시한번 재검토 부탁드립니다. 좋은 하루 되세요 ================================================= input : 매수금액(10000000); if crossup(c,DayClose(1)) then buy("b1",OnClose,def,Floor((매수금액*0.4)/c)); if crossup(c,DayHigh(1)) then buy("b2",OnClose,def,Floor((매수금액*0.6)/c)); if MarketPosition == 1 and NextBarSdate != sdate then { if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "b1" Then { var1 = CurrentContracts-CurrentContracts[1]; var2 = Floor(var1*0.4); var3 = var1-var2; } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "b2" Then { var4 = CurrentContracts-CurrentContracts[1]; var5 = Floor(var4*0.4); var6 = var4-var5; } ExitLong("bx11",OnClose,def,"b1",var2,1); ExitLong("bx12",AtMarket,def,"b1",var3,1); ExitLong("bx21",OnClose,def,"b2",var5,1); ExitLong("bx22",AtMarket,def,"b2",var6,1); } 즐거운 하루되세요 > 야구르트 님이 쓴 글입니다. > 제목 : 질문있습니다 > 시스템 공부차원에서 문의드립니다. 조건은 다음과 같습니다. 1분봉 챠트에서 1번조건 : 현재가가 전일 종가 돌파시 계좌금액의 40% 매수후 당일 종가에 40% 매도 (장 마감후 신호 발생만 되게 해주시면 됩니다. ) 다음날 시가에 나머지 60% 매도 2번조건: 현재가가 전일 고가 돌파시 계좌금액의 나머지(60%) 매수후 당일 종가에 40% 매도 (장 마감후 신호 발생만 되게 해주시면 됩니다. ) 다음날 시가에 나머지 60% 매도 분할 매수. 분할 청산할 경우 결과가 어떻게 되는지 보고싶어서 도움 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-01-14 11:18:06

안녕하세요 예스스탁입니다. 조건이 crossup이라 첫봉이 전일종가기준으로 신호가 안나왔습니다. 첫봉에는 종가가 전일종가나 전일고가보다 크면 신호가 발생하게 수정했습니다. input : 매수금액(10000000); if (Bdate != bdate[1] and C > DayClose(1)) or (Bdate == Bdate[1] and crossup(c,DayClose(1))) then buy("b1",OnClose,def,Floor((매수금액*0.4)/c)); if (Bdate != Bdate[1] and C > DayHigh(1)) or (Bdate == Bdate[1] and crossup(c,DayHigh(1))) then buy("b2",OnClose,def,Floor((매수금액*0.6)/c)); if MarketPosition == 1 then { if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "b1" Then { var1 = CurrentContracts-CurrentContracts[1]; var2 = Floor(var1*0.4); var3 = var1-var2; } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "b2" Then { var4 = CurrentContracts-CurrentContracts[1]; var5 = Floor(var4*0.4); var6 = var4-var5; } if NextBarSdate != sdate then { ExitLong("bx11",OnClose,def,"b1",var2,1); ExitLong("bx12",AtMarket,def,"b1",var3,1); ExitLong("bx21",OnClose,def,"b2",var5,1); ExitLong("bx22",AtMarket,def,"b2",var6,1); } } 즐거운 하루되세요 > 야구르트 님이 쓴 글입니다. > 제목 : 수식 재검토 부탁드립니다. > 매번 도움 부탁을 드려 송구스럽습니다. 다름이 아니라, 아래와 같은 수식을 다시 만들어 주셔서 시뮬레이션을 해본 결과 다음과 같은 결과가 나왔습니다. 1. 피라미딩= 다른진입신호만 허용 세팅한 경우 매수 신호가 b2 만 발생합니다. (2가지 조건을 만족하는 경우 b1,b2 신호가 동시에 나오지 않네요) 2. b2신호가 발생한 경우 매수수량이 100개 이면 b21 매도신호는 49개, b22 매도신호는 50개로 표시됩니다. 바쁘시겠지만, 다시한번 검토 부탁드립니다. ================================================================ 청산의 if문 연결을 잘못했드렸습니다. 수정한 식입니다. 피라미딩은 다른진입신호만 허용으로 설정하고 적용하시면 됩니다. input : 매수금액(10000000); if crossup(c,DayClose(1)) then buy("b1",OnClose,def,Floor((매수금액*0.4)/c)); if crossup(c,DayHigh(1)) then buy("b2",OnClose,def,Floor((매수금액*0.6)/c)); if MarketPosition == 1 then { if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "b1" Then { var1 = CurrentContracts-CurrentContracts[1]; var2 = Floor(var1*0.4); var3 = var1-var2; } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "b2" Then { var4 = CurrentContracts-CurrentContracts[1]; var5 = Floor(var4*0.4); var6 = var4-var5; } if NextBarSdate != sdate then { ExitLong("bx11",OnClose,def,"b1",var2,1); ExitLong("bx12",AtMarket,def,"b1",var3,1); ExitLong("bx21",OnClose,def,"b2",var5,1); ExitLong("bx22",AtMarket,def,"b2",var6,1); } } 즐거운 하루되세요 > 야구르트 님이 쓴 글입니다. > 제목 : 재검토 부탁드립니다 > 며칠전 작성해주신 수식으로 시뮬레이션 해봤는데 제가 피라미딩 세팅을 잘못해서 그런지 매매신호가 거의 나오지 않네요.. 참고로, 1분봉 챠트에서 아래의 수식으로 시뮬을 돌려봤습니다. 다시한번 재검토 부탁드립니다. 좋은 하루 되세요 ================================================= input : 매수금액(10000000); if crossup(c,DayClose(1)) then buy("b1",OnClose,def,Floor((매수금액*0.4)/c)); if crossup(c,DayHigh(1)) then buy("b2",OnClose,def,Floor((매수금액*0.6)/c)); if MarketPosition == 1 and NextBarSdate != sdate then { if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "b1" Then { var1 = CurrentContracts-CurrentContracts[1]; var2 = Floor(var1*0.4); var3 = var1-var2; } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "b2" Then { var4 = CurrentContracts-CurrentContracts[1]; var5 = Floor(var4*0.4); var6 = var4-var5; } ExitLong("bx11",OnClose,def,"b1",var2,1); ExitLong("bx12",AtMarket,def,"b1",var3,1); ExitLong("bx21",OnClose,def,"b2",var5,1); ExitLong("bx22",AtMarket,def,"b2",var6,1); } 즐거운 하루되세요 > 야구르트 님이 쓴 글입니다. > 제목 : 질문있습니다 > 시스템 공부차원에서 문의드립니다. 조건은 다음과 같습니다. 1분봉 챠트에서 1번조건 : 현재가가 전일 종가 돌파시 계좌금액의 40% 매수후 당일 종가에 40% 매도 (장 마감후 신호 발생만 되게 해주시면 됩니다. ) 다음날 시가에 나머지 60% 매도 2번조건: 현재가가 전일 고가 돌파시 계좌금액의 나머지(60%) 매수후 당일 종가에 40% 매도 (장 마감후 신호 발생만 되게 해주시면 됩니다. ) 다음날 시가에 나머지 60% 매도 분할 매수. 분할 청산할 경우 결과가 어떻게 되는지 보고싶어서 도움 부탁드립니다.