예스스팟으로 주식 복수종목 매수 구현을 하려고 하는데 질문이 있습니다.
종목객체에서 목표가와 손절가 및 매수가만 설정하고 여러 종목중 매수가에 도달한 종목을 매수하려고 손절 및 목표가에 도달하면 매도하려고 합니다.
그런데 위와 같은 설정으로 하면 매수 이후에도 다음날 또는 그 다음날 조건만족시 매수가 계속 일어날 것 같습니다.
어떤식으로 수식을 작성해야 하나요?
function Main::OnUpdteMarket(sItemCode, lUpdteID)
{
if
( sItemCode == SSE.code
&& IUdateID == 20001
&& SSE.current >= 1200000
&& cnt ==0 )
{
cnt =1;
Main.OrderBuy(A1.number, SSE.code , 10, SSE.Ask(2), 0)
}
if
( sItemCode == LGE.code
&& IUdateID == 20001
&& SSE.current >= 60000
&& cnt1 ==0 )
{
cnt1 =1;
Main.OrderBuy(A1.number,LGE.code , 10,LGE.Ask(2), 0)
}
}
답변 1
예스스탁
예스스탁 답변
2012-08-21 13:53:41
안녕하세요
예스스탁입니다.
주문을 할때 잔고에 해당 종목이 있는지 확인하고
없을 때만 주문하게 하시면 됩니다.
아래식 참고하시기 바랍니다.
본문에 쓰기금지단어가 있어 Udate로 작성되어 있습니다. p추가하시기 바랍니다.
function Main::OnUdateMarket(sItemCode, lUdateID)
{
if (sItemCode == SSE.code
&& lUdateID == 20001
&& SSE.current >= 1200000
&& cnt ==0 )
{
cnt =1;
var num = A1.GetTheNumberOfBalances();
var SSEcond = 0;
for(var i = 0; i < num; i++)
{
A1.SetBalanceIndex(i);
if (A1.Balance.code == SSE.code)
{
SSEcond = 1;
}
}
if (SSEcond == 0)
{
Main.OrderBuy(A1.number, SSE.code , 10, SSE.Ask(2), 0);
}
}
if ( sItemCode == LGE.code
&& lUdateID == 20001
&& SSE.current >= 60000
&& cnt1 ==0 )
{
cnt1 =1;
var num = A1.GetTheNumberOfBalances();
var LGEcond = 0;
for(var ii = 0; ii < num; ii++)
{
A1.SetBalanceIndex(ii);
if (A1.Balance.code == LGE.code)
{
LGEcond = 1;
}
}
if (LGEcond == 0)
{
Main.OrderBuy(A1.number,LGE.code , 10,LGE.Ask(2), 0);
}
}
}
즐거운 하루되세요
> 지현아빠 님이 쓴 글입니다.
> 제목 : 주식 복수종목 구입
> 예스스팟으로 주식 복수종목 매수 구현을 하려고 하는데 질문이 있습니다.
종목객체에서 목표가와 손절가 및 매수가만 설정하고 여러 종목중 매수가에 도달한 종목을 매수하려고 손절 및 목표가에 도달하면 매도하려고 합니다.
그런데 위와 같은 설정으로 하면 매수 이후에도 다음날 또는 그 다음날 조건만족시 매수가 계속 일어날 것 같습니다.
어떤식으로 수식을 작성해야 하나요?
function Main::OnUpdteMarket(sItemCode, lUpdteID)
{
if
( sItemCode == SSE.code
&& IUdateID == 20001
&& SSE.current >= 1200000
&& cnt ==0 )
{
cnt =1;
Main.OrderBuy(A1.number, SSE.code , 10, SSE.Ask(2), 0)
}
if
( sItemCode == LGE.code
&& IUdateID == 20001
&& SSE.current >= 60000
&& cnt1 ==0 )
{
cnt1 =1;
Main.OrderBuy(A1.number,LGE.code , 10,LGE.Ask(2), 0)
}
}