마지막 시그널이 buy가 아니면 sell을 수행하지 않음(봇이 구매한 것이 아닌 것으로 판단)
봇은 마지막으로 들어온 시그널을 기억하고 있음
상황 :
자동 매매 봇이 매매를 수행하고 있는 중 사용자가 개입하여 매매를 수행하게 됨
현상 :
기존 방식에선 봇이 마지막 시그널을 기준으로 새로운 시그널을 처리함. 그런데 사용자가 개입하여 매매를 진행하면 봇이 알고 있는 상황과 다르게 되고 이는 예상치 못한 결과를 나타냄
대응책 :
다음과 같이 심플하게 변경하여 사용자 개입에 영향이 없도록 함
Sell 시그널이 떳을 때 대상 코인의 잔고를 확인하여 모두 매도 함
Buy 시그널이 떴을 때 잔고가 0일 때 Buy를 수행
잔고가 0이 아닐경우 buy를 수행하지 않음
이 때 잔고 0의 의미는 매매가 불가능한 양을 의미함
(ex. 단가가 1원인데 코인 개수가 0.001개일 경우 api상으로 0으로 표시가 안되며 판매/이체가 불가능한 금액임, 이런경우는 잔고 0으로 판단하여 처리함)
전략 제작자(@letsplayants)와 합의 후 다음과 같이 수정함
기존 봇 방식 : 이 때 봇이 시그널을 처리하는 기준은 다음과 같음
상황 : 자동 매매 봇이 매매를 수행하고 있는 중 사용자가 개입하여 매매를 수행하게 됨
현상 : 기존 방식에선 봇이 마지막 시그널을 기준으로 새로운 시그널을 처리함. 그런데 사용자가 개입하여 매매를 진행하면 봇이 알고 있는 상황과 다르게 되고 이는 예상치 못한 결과를 나타냄
대응책 : 다음과 같이 심플하게 변경하여 사용자 개입에 영향이 없도록 함