커뮤니티
문의
2018-08-06 11:40:38
155
글번호 121147
스팟식에서
미완성, 완성 신호 관련 질의입니다
1. 미완성 신호가 발생했다가 완성신호로 확정이 안되는 경우
미완성 신호값을 " 0 '으로 리턴가능 여부 ?
2. 완성신호가 발생한 봉이 지나서 현재 진행 봉에서 완성신호값을 리턴 받을 수 있는 지 ?
3. 현재봉이 미완성, 완성 신호가 발생한 봉이 아님을 값으로 리턴받을 수는 있는 방법 ?
4, 불가능하다면 향후 개선 가능 여부 ?
감사합니다
답변 1
예스스탁 예스스탁 답변
2018-08-07 13:59:10
안녕하세요
예스스탁입니다.
1
스팟은 이벤트 중심입니다.
이벤트가 발생하면 발생된 이벤트에 대한 내용을 객체나 변수로 전달합니다.
발생하지 않은 내용으로 초기화시켜 주는 부분은 별도로 없습니다.
해당 부분은 사용자분이 시점등으로 잡아 코딩으로 해결하셔야 하는 부분입니다.
미완성신호는 신호타입이 onclose인 신호만 발생합니다.
다른 타입은 미완성신호가 없습니다.
onclose는 봉완성시(다음봉시가수신)에 신호가 발생하므로
이벤트 중 봉완성 이벤트와 완성신호 이벤트를 사용해 판단하시면 됩니다.
봉완성시점인 다음봉시가가 수신되면
봉완성이벤트(OnBarAppended)가 먼저 발생하고
onclose 완성신호(OnRiseSignal)가 그이후에 발생하게 됩니다.
그러므로 봉완성이벤트에서는 약간의 시간차로 신호발생여부를 알수가 없고
OnRiseSignal은 신호가 발생해야만 알수 있으므로
봉완성시 짧은 타이머를 걸어 타이머 동작시 신호발생여부 파악해
변수 초기화하게 작성하셔야 합니다.
var IncomSig,Sig,SignalOccur;
//미완성신호 발생
function Chart1_OnRiseIncompleteSignal(IncompleteSignal)
{
//신호종료 저장
IncomSig = IncompleteSignal.signalKind;
Main.MessageList("미완성신호",IncomSig);
}
//봉완성(다음봉시가수신)
function Chart1_OnBarAppended(nData)
{
//완성신호발생여부 저장변수 초기값 false
SignalOrrure = false;
//1초타이머
Main.SetTimer(1, 1000);
}
//완성신호발생
function Chart1_OnRiseSignal(Signal)
{
//신호타입이 onclose이고 신호종류가 IncomSig과 같으면
// SignalOrrure은 trye
if (Signal.signalType == 1 && Signal.signalKind == IncomSig)
{
SignalOccur = true;
}
}
//타이머 동작
function Main_OnTimer(nEventID)
{
//1번
if (nEventID == 1)
{
//SignalOrrure가 true이면 IncomSig은 0
if (SignalOccur == true)
{
IncomSig = 0;
}
}
}
2
받을수 없습니다.
3
미완성신호나 완성신호시 신호시간 저장하여
차트 마지막봉시간과 비교하시면 됩니다.
var t1,t2;
//미완성신호 발생
function Chart1_OnRiseIncompleteSignal(IncompleteSignal)
{
t1 = IncompleteSignal.time;
}
//완성신호발생
function Chart1_OnRiseSignal(Signal)
{
t2 = Signal.time
}
function 이벤트
{
//최근 발생 미완성신호나 완성신호의 시간이 현재봉 시간과 같다면
if (Chart1.GetSTime(1, 0) == t1 || Chart1.GetSTime(1, 0) == t2)
{
처리내용
}
}
4
별도로 기능추가가 예정된 부분이 없습니다.
즐거운 하루되세요
> 파일럿 님이 쓴 글입니다.
> 제목 : 문의
> 스팟식에서
미완성, 완성 신호 관련 질의입니다
1. 미완성 신호가 발생했다가 완성신호로 확정이 안되는 경우
미완성 신호값을 " 0 '으로 리턴가능 여부 ?
2. 완성신호가 발생한 봉이 지나서 현재 진행 봉에서 완성신호값을 리턴 받을 수 있는 지 ?
3. 현재봉이 미완성, 완성 신호가 발생한 봉이 아님을 값으로 리턴받을 수는 있는 방법 ?
4, 불가능하다면 향후 개선 가능 여부 ?
감사합니다
다음글
이전글