커뮤니티

[질문 77224]번에 대한 추가 질문 입니다.

프로필 이미지
유경완
2022-06-02 19:49:26
1452
글번호 159554
답변완료

첨부 이미지

아래의 수식을 적용하여 실제 매매를 해본 결과 첨부 캡쳐 사진과 같이 11회 이후에 최근 3개의 청산시 시스템 상으로 매수 수량이 2개로 분리되어 b3가 3개, 14개로 또 이후에 b7도 3개 14개로 이런식으로 자동으로 분리가 되면서 3개 짜리만 업비트에 매도 신호가 나가고, 나머지 14개 짜리는 이미 매도된 것으로 간주되어 매도 신호가 안나가고 계속 보유하는 현상이 발생하고 있습니다. 따라서 11개 이후에 청산신호 발행시 분리되지 말고 3개의 청산신호가 발생시 동시에 매도신호가 나가도록 수정 부탁 드립니다. 감사합니다. -------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. 1 이전 질문에 대해 잘못 파악하고 작성해 드린부분이 있어 이전 질문기준으로 아래 청산식을 수정해 드립니다. 진입10회까지는 평단가+1%상승하면 전량청산하고 11회 이후에는 최근 3개 진입의 평단가와 수량만 산정해 청산하게 수정해 드립니다. var : AE1(0),sum1(0),sum2(0),AE2(0); var : Xcond1(False),Xcond2(False); var : v3(0),v2(0),v1(0); var : c3(0),c2(0),c1(0); if MarketPosition == 1 Then { if CurrentContracts < CurrentContracts[1] Then { if LatestExitName(0) == "bx1" Then Xcond1 = true; if LatestExitName(0) == "bx2" Then Xcond2 = true; } if CurrentContracts > CurrentContracts[1] Then { V3 = V2; V2 = V1; V1 = CurrentContracts-CurrentContracts[1]; C3 = C2; C2 = C1; C1 = LatestEntryPrice(0); if MaxEntries <= 10 Then { AE1 = AvgEntryPrice; } Else { sum1 = (v3*C3)+(V2*C2)+(V1+C1); sum2 = (V3+V2+V1); AE2 = sum1/Sum2; Xcond2 = False; } } if Xcond1 == False Then { ExitLong("bx1",AtLimit,AE1*1.015); } if MaxEntries >= 11 and Xcond2 == False Then { ExitLong("bx2",AtLimit,AE2*1.015,"",sum2,1); } } Else { AE1 = 0; sum1 = 0; sum2 = 0; AE2 = 0; Xcond1 = False; Xcond2 = False; V1 = 0; V2 = 0; V3 = 0; C1 = 0; C2 = 0; c3 = 0; }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-06-03 13:18:57

안녕하세요 예스스탁입니다. 문의하신 내용은 해당 부분은 랭귀지의 신호발생과 관련된 체계부분이라 수식으로 처리가 가능하지 않습니다. 시스템은 청산시에 수량이 남은 진입신호 중 앞순서부터 지정된 수량을 차감하게 되어 해당 수량이 여러진입신호에서 수량을 차감해야 하면 진입신호 순으로 지정한 수량만큼 차감해서 신호가 여러번 발생하게 됩니다. 이렇게 차감시켜 각 진입별로 수량이 얼마에 청산되어 손익이 얼마나 되는지 리포트가 생성이 됩니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > 유경완 님이 쓴 글입니다. > 제목 : [질문 77224]번에 대한 추가 질문 입니다. > 아래의 수식을 적용하여 실제 매매를 해본 결과 첨부 캡쳐 사진과 같이 11회 이후에 최근 3개의 청산시 시스템 상으로 매수 수량이 2개로 분리되어 b3가 3개, 14개로 또 이후에 b7도 3개 14개로 이런식으로 자동으로 분리가 되면서 3개 짜리만 업비트에 매도 신호가 나가고, 나머지 14개 짜리는 이미 매도된 것으로 간주되어 매도 신호가 안나가고 계속 보유하는 현상이 발생하고 있습니다. 따라서 11개 이후에 청산신호 발행시 분리되지 말고 3개의 청산신호가 발생시 동시에 매도신호가 나가도록 수정 부탁 드립니다. 감사합니다. -------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. 1 이전 질문에 대해 잘못 파악하고 작성해 드린부분이 있어 이전 질문기준으로 아래 청산식을 수정해 드립니다. 진입10회까지는 평단가+1%상승하면 전량청산하고 11회 이후에는 최근 3개 진입의 평단가와 수량만 산정해 청산하게 수정해 드립니다. var : AE1(0),sum1(0),sum2(0),AE2(0); var : Xcond1(False),Xcond2(False); var : v3(0),v2(0),v1(0); var : c3(0),c2(0),c1(0); if MarketPosition == 1 Then { if CurrentContracts < CurrentContracts[1] Then { if LatestExitName(0) == "bx1" Then Xcond1 = true; if LatestExitName(0) == "bx2" Then Xcond2 = true; } if CurrentContracts > CurrentContracts[1] Then { V3 = V2; V2 = V1; V1 = CurrentContracts-CurrentContracts[1]; C3 = C2; C2 = C1; C1 = LatestEntryPrice(0); if MaxEntries <= 10 Then { AE1 = AvgEntryPrice; } Else { sum1 = (v3*C3)+(V2*C2)+(V1+C1); sum2 = (V3+V2+V1); AE2 = sum1/Sum2; Xcond2 = False; } } if Xcond1 == False Then { ExitLong("bx1",AtLimit,AE1*1.015); } if MaxEntries >= 11 and Xcond2 == False Then { ExitLong("bx2",AtLimit,AE2*1.015,"",sum2,1); } } Else { AE1 = 0; sum1 = 0; sum2 = 0; AE2 = 0; Xcond1 = False; Xcond2 = False; V1 = 0; V2 = 0; V3 = 0; C1 = 0; C2 = 0; c3 = 0; }