EuroFX 종가 청산 방법 샘플 예제 부탁합니다.
섬머타임문제로 한국시각 기준으로 종가 청산하면 차후 문제 소지가 있어서
해외선물 거래소 시각 기준으로 종가 청산 시키려고 하려면 어케 해야되나요?
참고 : 종목객체.time 의 프로퍼티에 대한 표현 방식에 따라 (messagelog , 기타 )
시각이 다르게 찍히는거로 보임
답변 1
예스스탁
예스스탁 답변
2014-05-27 17:21:14
안녕하세요
예스스탁입니다.
1.
각 수식에 게시판 금칙어가 있습니다.
영문업데이트가 Up*date로 되어 있습니다. * 제거 하시기 바랍니다.
2.
예스글로벌의 해외선물 모든 종목객체는 시장시간을 기준으로 시간을 리턴합니다.
종목객체 추가하시고 MarketData1에 유로fx지정하신 후에 아래식만 작성해서
적용해 보시면 시장시간으로 시간이 리턴되는 것을 확인하실 수 있습니다.
function Main_OnUp*dateMarket(sItemCode, lUp*dateID)//*제거
{
Main.MessageList(MarketData1.time);
}
국내와 다르게 해외선물은 시간이 HHMMSS로 6자리입니다.
국내 예스트레이더는 1/10000까지 제공되지만
해외선물은 초단위까지만 제공됩니다
그러므로 수식작성하실때 아래와 같이 조건지정하시면 됩니다.
MarketData1.time >= 161400
3.
아래는 16시 14분 이후에 첫틱이 들어올때
잔고 종목을 청산하는 식입니다. 참고하시기 바랍니다.
var DayEnd;
function Main_OnStart()
{
DayEnd = 0;//스팟시작시 0
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID) //*제거
{
//16시14분 이후에 첫시세가 들어오면
//변수값을 1로 변경해 한번만 동작하게 함
if (DayEnd == 0 && MarketData1.time >= 161400 )
{
DayEnd = 1;
Account1.SetBalanceItem(MarketData1.code,0);
//매도포지션을 가지고 있으면 매도3호가로 잔고전체 수량 청산(매수주문)
if (Account1.Balance.count > 0 && Account1.Balance.position == 1)
{
Account1.OrderBuy(MarketData1.code, Account1.Balance.count, MarketData1.Ask(3), 2);
}
//매수포지션을 가지고 있으면 매도3호가로 잔고전체 수량 청산(매도주문)
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
Account1.OrderSell(MarketData1.code, Account1.Balance.count, MarketData1.Bid(3), 2);
}
}
}
즐거운 하루되세요
> 경복궁 님이 쓴 글입니다.
> 제목 : EuroFX 종가 청산 방법 샘플 예제 부탁합니다.
> EuroFX 종가 청산 방법 샘플 예제 부탁합니다.
섬머타임문제로 한국시각 기준으로 종가 청산하면 차후 문제 소지가 있어서
해외선물 거래소 시각 기준으로 종가 청산 시키려고 하려면 어케 해야되나요?
참고 : 종목객체.time 의 프로퍼티에 대한 표현 방식에 따라 (messagelog , 기타 )
시각이 다르게 찍히는거로 보임