첨부 이미지
그림1
안녕하세요.
처음이라 어떤 예스스팟에서 어떤객체를 선택하고 어떤 함수를 사용해야 할지 몰라 문의드립니다. 가이드만 잡아주시면 추가 코드는 응용해서 사용해 보겠습니다.
첨부 그림에서 파란색 화살표 부근에서 매도청산을 하고 싶은데 이부분만 코딩 부탁드립니다.
현재봉의 값이 전봉의 저가를 이탈시 매도청산 or 현재봉의 종가가 기준이평선(5MA)
이탈시 매도청산
감사합니다.
답변 1
예스스탁
예스스탁 답변
2021-01-20 16:51:10
안녕하세요
예스스탁입니다.
아래 내용 참고하시기 바랍니다.
스크립트 객체화면 설정
차트객체추가 --> 속성에서 객체명은 Char1, 차트아이디 연결
종목객체추가 --> 속성에서 객체명은 MarketData1, 차트와 동일종목으로 지정
계좌객체추가 --> 속성에서 객체명은 Account1, 주문낼 계좌번호 지정
1 매도포지션 청산일 경우
//차트봉완성(다음봉시가수신)
function Chart1_OnBarAppended(nData)
{
//차트종목의 잔고셋팅
Account1.SetBalance(Main.GetOrderCode(MarketData1.code), 0);
//최근 완성봉종가 5개를 합산하고 5로 나누어 5이평값 계산
var sum = 0;
for (var i = 0; i < 5; i++)
{
sum = sum + Chart1.GetClose(1, i);
}
mav = sum/5;
//저가가 전봉 저가보다 작거나 종가가 이평값보자 작으면
if (Chart1.GetLow(1,1) < Chart1.GetLow(1, 2) || Chart1.GetClose(1, 1) < mav )
{
//잔고가 매도포지션이면
if (Account1.Balance.count > 0 && Account1.Balance.position == 1)
{
//잔고수량 전량을 매도5호가로 매수주문(청산)
Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count,MarketData1.Ask(5), 0);
}
}
}
2 매수포지션 청산일 경우
//차트봉완성(다음봉시가수신)
function Chart1_OnBarAppended(nData)
{
//차트종목의 잔고셋팅
Account1.SetBalance(Main.GetOrderCode(MarketData1.code), 0);
//최근 완성봉종가 5개를 합산하고 5로 나누어 5이평값 계산
var sum = 0;
for (var i = 0; i < 5; i++)
{
sum = sum + Chart1.GetClose(1, i);
}
mav = sum/5;
//저가가 전봉 저가보다 작거나 종가가 이평값보자 작으면
if (Chart1.GetLow(1,1) < Chart1.GetLow(1, 2) || Chart1.GetClose(1, 1) < mav )
{
//잔고가 매도포지션이면
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
//잔고수량 전량을 매수5호가로 매도주문(청산)
Account1.OrderSell(Account1.Balance.code, Account1.Balance.count,MarketData1.Bid(5), 0);
}
}
}
즐거운 하루되세요
> 코페라 님이 쓴 글입니다.
> 제목 : 수식 문의 드립니다.
> 안녕하세요.
처음이라 어떤 예스스팟에서 어떤객체를 선택하고 어떤 함수를 사용해야 할지 몰라 문의드립니다. 가이드만 잡아주시면 추가 코드는 응용해서 사용해 보겠습니다.
첨부 그림에서 파란색 화살표 부근에서 매도청산을 하고 싶은데 이부분만 코딩 부탁드립니다.
현재봉의 값이 전봉의 저가를 이탈시 매도청산 or 현재봉의 종가가 기준이평선(5MA)
이탈시 매도청산
감사합니다.