커뮤니티

익절시 지정가 주문이 가능하도록 코드 수정부탁드립니다

프로필 이미지
강자친구
2025-12-15 09:46:42
83
글번호 228995
답변완료

업무에 수고가 많으신데.....먼저 감사합니다

자동을 매매를 돌리면 익절에서 시장가 매도 주문으로 처리되고 다 팔렸는데도 다시 매도 주문이 계속해서 발생하는데 익절시

지정가 매도 주문이 되도록 부탁드립니다.

바쁘시더라도 잘 살펴보시고 꼭 부탁드리겠습니다

if (nEventID == 1)

{

var num = Account1.GetTheNumberOfBalances();

// 장중 09:00 ~ 09:02

if (HHMMSS >= 090000 && HHMMSS < 090300)

{

if (num >= 1)

{

// 계좌 전체 +5% 수익 시 전량 매도

if (Account1.GetBalanceETCinfo(100) >= V1 * 1.05)

{

Main.KillTimer(1);

for (var i = 0; i < num; i++)

{

Account1.SetBalance(i);

if (Account1.Balance.count > 0)

{

// 시장가 매도

Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, 0, 1);

}

}

}

else

{

// 개별 종목 익절/손절

for (var i = 0; i < num; i++)

{

Account1.SetBalance(i);

if (Account1.Balance.count > 0)

{

// 손절 조건 (손해일 때): 무조건 시장가 매도

if (Account1.Balance.current <= Account1.Balance.avgUnitCost * 손절)

{

Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, 0, 1);

}

// 익절 조건 (수익일 때): 시장가 또는 지정가 매도 가능

else if (Account1.Balance.current >= Account1.Balance.avgUnitCost * 익절)

{

// 시장가 매도 예시

//Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, 0, 1);

// 지정가 매도 예시 (주석 해제 시 지정가 매도됨)

Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, Account1.Balance.current, 1);

}

}

}

}

}

}

답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-12-24 09:18:59

안녕하세요 예스스탁입니다. 해당 수식만으로는 식을 답변드릴수 없습니다. 지정가 주문을 하기 위해서는 보유종목에 대한 종목객체가 필요한데 수식에서 하나의 종목의 종목객체는 하나만 만들수 있습니다. 보유 종목이 이미 해당 수식에서 종목객체가 만들어져 있다면 해당 객체를 이용해야 하므로 전체 수식을 올려주셔야
기존수식에서 종목객체 사용여부를 확인해서 추가해 드릴수가 있습니다. 즐거운 하루되세요