Q&A 게시판 HOME > Q&A 게시판
작성자 : 예스스탁 작성일 : 2020-10-20 14:02:23 조회수 : 64
Re:재질문 드립니다
안녕하세요

청산이 발생하면 수량이 감소하게 됩니다.
아래와 같이 CurrentContracts < CurrentContracts[1] 조건을 추가해 주시면 됩니다.

var : bxcount(0); 

if MarketPosition == 1 Then 

if CurrentContracts < CurrentContracts[1] Then
{
if LatestExitName(0) == "a" Then 
bxcount = bxcount+1; 
if LatestExitName(0) == "b" Then 
bxcount = 0; 
}

Else 
bxcount = 0; 


즐거운 하루되세요




>> ypoetry 님이 쓴 글입니다.

>> 제목 : 재질문 드립니다var : bxcount(0); 

if MarketPosition == 1 Then 

if LatestExitName(0) == "a" Then 
bxcount = bxcount+1; 
if LatestExitName(0) == "b" Then 
bxcount = 0; 

Else 
bxcount = 0; 



""안에 청산명 지정하시면 됩니다. 
강제청산은 강제청산함수명에서 set을 제외하면 청산명입니다. 

SetStopLoss --> StopLoss 

#최근 청산이 손절매이면 
if LatestExitName(0) == "StopLoss" Then  




저는 부분 청산을 많이 하기 때문에
a라는 주문을 연속적으로 많이 하게 되거
b는 전체 청산 주문입니다. 

대부분의 경우
LatestExitName(0)이 같은 문자열 a를 리턴할 것이며
포지션 보유 기간도 기니까 대부분 시간에서
MarketPosition == 1
일 것입니다

그러니 중요한 것은

MarketPosition == 1임을

어느 주기로 if문이 체크하느냐 일 것입니다. 

만약 
매 봉마다 체크를 한다면,
bxcount값이 매 봉마다 1씩 올라가서

의도와는 멀어질 것이고요. 


제시하신 것처럼 코드를 짜면,

청산이 일어났을 시에만 if의 조건을 체크하게 되는지요? 그래야만 의도와 비슷하게 흘러갈텐데요
목록 답변