커뮤니티
익절시 지정가 주문이 가능하도록 코드 수정부탁드립니다
업무에 수고가 많으신데.....먼저 감사합니다
자동을 매매를 돌리면 익절에서 시장가 매도 주문으로 처리되고 다 팔렸는데도 다시 매도 주문이 계속해서 발생하는데 익절시
지정가 매도 주문이 되도록 부탁드립니다.
바쁘시더라도 잘 살펴보시고 꼭 부탁드리겠습니다
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