오늘은 지난 단계에서 자체 피드백한 개선점 중 2가지를 고쳐보았다.

 

< 지난 포스팅 >

https://jayindustry.tistory.com/65

 

#2 [바이낸스 선물] 지표전략을 만들어 자동트레이딩 해보기

오늘은 저번에 만든 지표들을 활용하여 전략을 만들고 해당 전략대로 스크립트를 작동시켜 자동으로 선물매매를 하도록 해보겠다. 저번단계까지 과정이다. 1. 내 바이낸스 선물계정과 API연동 2.

jayindustry.tistory.com

 

 

 

고쳐야할 점)

1. Max_Amount 출력결과를 보니 총 구매할 수 있는 수량이 실제와 일치하지 않음.

2. 스탑로스 -1%로 지정했는데 실제로는 -0.1%로 설정되어있음.

3. 수익날때 바로 종료되도록 수정하기. 포지션자체에 스탑로스처럼 수익 또한 지정하려고한다.

: 이 부분이 안되니까 1프로수익상태가 되어도 다음 스크립트가 실행되기 전까지 포지션 종료가 안됨.

(1분마다 실행시, 수익률이 +1%이상이 되어있어야 포지션종료가 됨)

4. 포지션진입시, 터미널출력이 깔끔하지 못함

5. 코드가 너무 더러움. 리팩토링 필수!

 

 

 

 

< 개선 >

 

오늘은  1, 2번을 고쳐보았다.

 

 

1. Max_Amount 출력결과를 보니 총 구매할 수 있는 수량이 실제와 일치하지 않음.

 

 

저번시간 출력결과물은 다음과 같았다.

 

 

 

 

문제점)

 

 

 

1) Max_Amount이 자꾸 0.01로 나오는 오류수정

 

문제는 GetAmount 함수 내부에 있었다.

amout 부분을 보면 최소 거래 갯수를 0.003으로 맞춰야했는데 0.01로 되어있었다..!

 

 

 

비트코인 선물매매시, usdt매매시, 0.003btc미만으로는 너무 소액이라 거래가 안된다. 

그래서 에러방지를 위해 최소 0.003btc로 거래하도록 했었다.

 

이 부분을 아예 주석처리해버렸다.

 

그리고 디버깅하였을때 만약 너무 소액이라 거래가 안될 시, 그냥 에러가 뜨게 끔 놔두었다.

수량을 0.003개 이렇게 정해버리면 btc가 아닌 다른 코인을 타겟으로 하였을 때 그때그때 변경해야하는 번거로움이 있기 때문! 

 

 

 

 

 

 

2) 출력결과물 수정

 

저번시간 출력결과물을 보면, 이 갯수가 어떤 코인의 갯수인지 알 수 없을 것 같아서 타겟코인의 변수를 붙였다.

 

 

이전결과물)

 

 

 

 

 

개선한 결과물)

 

 

 

위에 "문제점)"에서 언급한 0.05개의 btc가 잘 나와주었다.

 

 

 

 

 

 

 

2. 스탑로스 -1%로 지정했는데 실제로는 -0.1%로 설정되어있음.

 

 

 

문제점)

내가 원했던 건, 손실률을 0.01 = 1%로 지정하고 코드를 실행하면, 차트상 1%만큼 반대방향으로 스탑로스가 걸려야한다.

하지만 지난 포스팅에서 아래와 같이 지정하면 실제 차트에서는 0.1%만큼 반영되었다.

 

 

 

1) 스탑로스 함수 분석

 

아래 사진은 스탑로스 함수 중 일부이다.

함수를 보니 내가 넣는 매개변수는 cut_rate이다.

저 값은 레버레이지가 결국 반영된 값으로 스탑로스가 설정이 되도록 되어있다.

 

 

 

 

즉, 스탑로스값은 실제 레버레이지가 반영된 손실률로 구한 값이 된다.

 

만약 10배 레버레이지에 0.01을 스탑로스 값으로 넣는다 가정하면,

5배의 -1% 손실률이 나려면 실제 코인의 가격변동은 0.2%만큼 반대로 가는 것이다.

 

따라서 아래 사진처럼 스탑로스는 실제 가격의 0.2%만큼 반대방향으로 잡힌다.

 

 

 

그래서 이를 감안하여 코드를 수정하였다.

 

 

 

레버x5배 격리로 37,600usdt가격에 숏포지션을 진입하였다.

 

 

 

스탑로스는 아래와 같이 적용되었다.

 

 

 

실제 차트로 비교해보니 내가 원하는 실제가격의 1%만큼 변동(상승)될때 손절(stop)되도록 잘 설정되었다.

5배이니 실제로는 1 * 5 = 5%만큼 손해를 보는 셈이다.

 

+ Recent posts