매일, 장 시작할때(또는 장 시작전 8시 50분 ~ 9시 사이) 하루 한번
해당 종목의 다음 값을 찾는 수식을 부탁드립니다.
1-abs(시가-종가)/(고가-저가) 의 30일평균
이동평균 3,5,10,20일 각각의 값
답변 1
예스스탁
예스스탁 답변
2018-05-28 17:09:51
안녕하세요
예스스탁입니다
아래 계산 내용 참고하시기 바랍니다.
스크립트 객체설정
종목객체 추가 --> 속성에서 객체명은 MarketData1,
종목을 지정,
일간데이터를 사용으로 설정 후 봉수를 넉넉히 50봉으로 지정
var calc = false;
function Main_OnStart()
{
Main.MessageList("Start");
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
//1초간격 타이머
Main.SetTimer(1, 1000);
calc = true;
}
function Main_OnTimer(nEventID)
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
if (nEventID == 1 && calc == true && HHMMSS >= 90000)
{
calc = false;
var sum1 = 0;
var sum2 = 0;
var sum3 = 0;
var sum4 = 0;
var sum5 = 0;
for (var i = 1; i < 30; i++)
{
sum1 = sum1 + Math.abs(MarketData1.GetPrevOpen(i)-MarketData1.GetPrevClose(i))/(MarketData1.GetPrevHigh(i)-MarketData1.GetPrevLow(i));
if (i <= 3)
sum2 = sum2 + MarketData1.GetPrevClose(i);
if (i <= 5)
sum3 = sum3 + MarketData1.GetPrevClose(i);
if (i <= 10)
sum4 = sum4 + MarketData1.GetPrevClose(i);
if (i <= 20)
sum5 = sum5 + MarketData1.GetPrevClose(i);
}
var mav1 = sum1/30;
var mav2 = sum2/3;
var mav3 = sum3/5;
var mav4 = sum4/10;
var mav5 = sum5/20;
Main.MessageList(mav1,mav2,mav3,mav4,mav5);
}
}
즐거운 하루되세요
> 모루 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다.
> 매일, 장 시작할때(또는 장 시작전 8시 50분 ~ 9시 사이) 하루 한번
해당 종목의 다음 값을 찾는 수식을 부탁드립니다.
1-abs(시가-종가)/(고가-저가) 의 30일평균
이동평균 3,5,10,20일 각각의 값