커뮤니티

유진예스트레이더 GetSTime 이상값

프로필 이미지
로봇짱
2025-01-15 23:33:07.0
295
글번호 226187
답변완료
안녕하세요. 친절한 답변에 미리 감사드립니다. 아래의 수식으로 예스트레이더 내 예스스팟으로 차트객첵의 데이터를 외부의 데이터베이스로 인서트 할때 문제점입니다. 최초 외부 데이터베이스로 자료를 가져갈때 현재 시점으로부터 약 9000~10000봉 과거 봉들을 가져가는 수식입니다. 유진예스트레이더 예스스팟 좀 봐주십시오. 1. 한투예스트레이더 내 예스스팟에서는 GetSTime 의 수치들이 문제가 없습니다. 마이너스 음수 처리된 값이 나가는 경우가 없습니다. 2. 그런데 유진예스트레이더 내 예스스팟에서는 GetSTime 의 수치들에 문제가 있습니다. 마이너스 음수 처리된 오류값들이 나갑니다. ####################################################### var choKkuenSi_sseulMisaBongSu=8600; // 손잡이- 10000 하면 좋으나 줄여도 됨. var hhSseulGoId=1; // 손잡이 이나 고정- 봉번 ID는 날초 시 언제나 1번부터임. var hhSdate=0; var hhStime=0; var hhO=0; var hhH=0; var hhL=0; var hhC=0; var hhV=0; var sql인서트="0"; var hhBongBun=0; function Main_OnStart() { Main.MessageList("AD yestrader ssj sijac. hhSseulGoId=",hhSseulGoId); //////////////// 자료고 날 최초시 갈래 for (var ffa=choKkuenSi_sseulMisaBongSu; ffa>=0; ffa--){ // 손잡이 //////////////// 마련 hhSdate=Chart1.GetSDate(1,ffa); hhStime=Chart1.GetSTime(1,ffa); hhO=Chart1.GetOpen(1,ffa); hhH=Chart1.GetHigh(1,ffa); hhL=Chart1.GetLow(1,ffa); hhC=Chart1.GetClose(1,ffa); hhV=Chart1.GetVolume(1,ffa); //////////////// 로고 sql 마련 sql인서트=hhRoGoEreum+" (ID,SDATE,STIME,O,H,L,C,V) VALUES ("; sql인서트+=String(hhSseulGoId); sql인서트+=","; sql인서트+=String(hhSdate); sql인서트+=","; sql인서트+=String(hhStime); sql인서트+=","; sql인서트+=String(hhO); sql인서트+=","; sql인서트+=String(hhH); sql인서트+=","; sql인서트+=String(hhL); sql인서트+=","; sql인서트+=String(hhC); sql인서트+=","; sql인서트+=String(hhV); sql인서트+=");"; //////////////// 로고 실행 DataBase1.인서트(sql인서트); hhSseulGoId+=1; // 1증. } } function Chart1_OnBarAppended(nData) { // Main.MessageList("Chart1_OnBarAppended / hhSseulGoId=",hhSseulGoId); if (nData==1){ hhBongBun=0; // 0부여. //////////////// 마련 hhSdate=Chart1.GetSDate(1,hhBongBun); hhStime=Chart1.GetSTime(1,hhBongBun); hhO=Chart1.GetOpen(1,hhBongBun); hhH=Chart1.GetHigh(1,hhBongBun); hhL=Chart1.GetLow(1,hhBongBun); hhC=Chart1.GetClose(1,hhBongBun); hhV=Chart1.GetVolume(1,hhBongBun); //////////////// 로고 sql 마련 sql인서트=hhRoGoEreum+" (ID,SDATE,STIME,O,H,L,C,V) VALUES ("; sql인서트+=String(hhSseulGoId); sql인서트+=","; sql인서트+=String(hhSdate); sql인서트+=","; sql인서트+=String(hhStime); sql인서트+=","; sql인서트+=String(hhO); sql인서트+=","; sql인서트+=String(hhH); sql인서트+=","; sql인서트+=String(hhL); sql인서트+=","; sql인서트+=String(hhC); sql인서트+=","; sql인서트+=String(hhV); sql인서트+=");"; //////////////// 로고 실행 DataBase1.인서트(sql인서트); hhSseulGoId+=1; // 1증. } } var choKkuenSi_sseulMisaBongSu=8600; // 손잡이- 10000 하면 좋으나 줄여도 됨. var hhSseulGoId=1; // 손잡이 이나 고정- 봉번 ID는 날초 시 언제나 1번부터임. var hhSdate=0; var hhStime=0; var hhO=0; var hhH=0; var hhL=0; var hhC=0; var hhV=0; var sql인서트="0"; var hhBongBun=0; function Main_OnStart() { Main.MessageList("AD yestrader ssj sijac. hhSseulGoId=",hhSseulGoId); //////////////// 자료고 날 최초시 갈래 for (var ffa=choKkuenSi_sseulMisaBongSu; ffa>=0; ffa--){ // 손잡이 //////////////// 마련 hhSdate=Chart1.GetSDate(1,ffa); hhStime=Chart1.GetSTime(1,ffa); hhO=Chart1.GetOpen(1,ffa); hhH=Chart1.GetHigh(1,ffa); hhL=Chart1.GetLow(1,ffa); hhC=Chart1.GetClose(1,ffa); hhV=Chart1.GetVolume(1,ffa); //////////////// 로고 sql 마련 sql인서트=hhRoGoEreum+" (ID,SDATE,STIME,O,H,L,C,V) VALUES ("; sql인서트+=String(hhSseulGoId); sql인서트+=","; sql인서트+=String(hhSdate); sql인서트+=","; sql인서트+=String(hhStime); sql인서트+=","; sql인서트+=String(hhO); sql인서트+=","; sql인서트+=String(hhH); sql인서트+=","; sql인서트+=String(hhL); sql인서트+=","; sql인서트+=String(hhC); sql인서트+=","; sql인서트+=String(hhV); sql인서트+=");"; //////////////// 로고 실행 DataBase1.인서트(sql인서트); hhSseulGoId+=1; // 1증. } } function Chart1_OnBarAppended(nData) { // Main.MessageList("Chart1_OnBarAppended / hhSseulGoId=",hhSseulGoId); if (nData==1){ hhBongBun=0; // 0부여. //////////////// 마련 hhSdate=Chart1.GetSDate(1,hhBongBun); hhStime=Chart1.GetSTime(1,hhBongBun); hhO=Chart1.GetOpen(1,hhBongBun); hhH=Chart1.GetHigh(1,hhBongBun); hhL=Chart1.GetLow(1,hhBongBun); hhC=Chart1.GetClose(1,hhBongBun); hhV=Chart1.GetVolume(1,hhBongBun); //////////////// 로고 sql 마련 sql인서트=hhRoGoEreum+" (ID,SDATE,STIME,O,H,L,C,V) VALUES ("; sql인서트+=String(hhSseulGoId); sql인서트+=","; sql인서트+=String(hhSdate); sql인서트+=","; sql인서트+=String(hhStime); sql인서트+=","; sql인서트+=String(hhO); sql인서트+=","; sql인서트+=String(hhH); sql인서트+=","; sql인서트+=String(hhL); sql인서트+=","; sql인서트+=String(hhC); sql인서트+=","; sql인서트+=String(hhV); sql인서트+=");"; //////////////// 로고 실행 DataBase1.인서트(sql인서트); hhSseulGoId+=1; // 1증. } }
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-02-04 17:30:53.0

안녕하세요 예스스탁입니다. 답변이 늦어 죄송합니다. 현재 해외선물 프로그램 중 한국투자증권을 제외하고 유진,NH,Next,LS의 자바스크립트가 높은 버전으로 업그레이드가 되었는데 봉의시간값 등을 차트에서 넘겨받아 처리하는데 문제가 있습니다. 해당 내용 빠르게 처리해 드리고 싶은데 담당자분이 외부에서 근무중인 관계로 수정에 시간이 많이 필요할 것 같습니다. 인티저 맥스를 넘는 값이 리턴되어 문제가 발생하고 시간은 6자리(HHMMSS)로 받으시면 되므로 Plot1(sTime); 번거로우시겠지만 이 지표를 차트에 적용후에(지표명 stime) Chart1.GetIndicatorData함수를 이용해 각 봉의 시간을 6자리(HHMMSS)로 받아 저장하게 처리해 주시면 해결하실 수 있을것 같습니다. hhStime= Chart1.GetIndicatorData("stime",1,ffa); 이용에 불편을 드려 죄송합니다. 즐거운 하루되세요 > 로봇짱 님이 쓴 글입니다. > 제목 : 유진예스트레이더 GetSTime 이상값 > 안녕하세요. 친절한 답변에 미리 감사드립니다. 아래의 수식으로 예스트레이더 내 예스스팟으로 차트객첵의 데이터를 외부의 데이터베이스로 인서트 할때 문제점입니다. 최초 외부 데이터베이스로 자료를 가져갈때 현재 시점으로부터 약 9000~10000봉 과거 봉들을 가져가는 수식입니다. 유진예스트레이더 예스스팟 좀 봐주십시오. 1. 한투예스트레이더 내 예스스팟에서는 GetSTime 의 수치들이 문제가 없습니다. 마이너스 음수 처리된 값이 나가는 경우가 없습니다. 2. 그런데 유진예스트레이더 내 예스스팟에서는 GetSTime 의 수치들에 문제가 있습니다. 마이너스 음수 처리된 오류값들이 나갑니다. ####################################################### var choKkuenSi_sseulMisaBongSu=8600; // 손잡이- 10000 하면 좋으나 줄여도 됨. var hhSseulGoId=1; // 손잡이 이나 고정- 봉번 ID는 날초 시 언제나 1번부터임. var hhSdate=0; var hhStime=0; var hhO=0; var hhH=0; var hhL=0; var hhC=0; var hhV=0; var sql인서트="0"; var hhBongBun=0; function Main_OnStart() { Main.MessageList("AD yestrader ssj sijac. hhSseulGoId=",hhSseulGoId); //////////////// 자료고 날 최초시 갈래 for (var ffa=choKkuenSi_sseulMisaBongSu; ffa>=0; ffa--){ // 손잡이 //////////////// 마련 hhSdate=Chart1.GetSDate(1,ffa); hhStime=Chart1.GetSTime(1,ffa); hhO=Chart1.GetOpen(1,ffa); hhH=Chart1.GetHigh(1,ffa); hhL=Chart1.GetLow(1,ffa); hhC=Chart1.GetClose(1,ffa); hhV=Chart1.GetVolume(1,ffa); //////////////// 로고 sql 마련 sql인서트=hhRoGoEreum+" (ID,SDATE,STIME,O,H,L,C,V) VALUES ("; sql인서트+=String(hhSseulGoId); sql인서트+=","; sql인서트+=String(hhSdate); sql인서트+=","; sql인서트+=String(hhStime); sql인서트+=","; sql인서트+=String(hhO); sql인서트+=","; sql인서트+=String(hhH); sql인서트+=","; sql인서트+=String(hhL); sql인서트+=","; sql인서트+=String(hhC); sql인서트+=","; sql인서트+=String(hhV); sql인서트+=");"; //////////////// 로고 실행 DataBase1.인서트(sql인서트); hhSseulGoId+=1; // 1증. } } function Chart1_OnBarAppended(nData) { // Main.MessageList("Chart1_OnBarAppended / hhSseulGoId=",hhSseulGoId); if (nData==1){ hhBongBun=0; // 0부여. //////////////// 마련 hhSdate=Chart1.GetSDate(1,hhBongBun); hhStime=Chart1.GetSTime(1,hhBongBun); hhO=Chart1.GetOpen(1,hhBongBun); hhH=Chart1.GetHigh(1,hhBongBun); hhL=Chart1.GetLow(1,hhBongBun); hhC=Chart1.GetClose(1,hhBongBun); hhV=Chart1.GetVolume(1,hhBongBun); //////////////// 로고 sql 마련 sql인서트=hhRoGoEreum+" (ID,SDATE,STIME,O,H,L,C,V) VALUES ("; sql인서트+=String(hhSseulGoId); sql인서트+=","; sql인서트+=String(hhSdate); sql인서트+=","; sql인서트+=String(hhStime); sql인서트+=","; sql인서트+=String(hhO); sql인서트+=","; sql인서트+=String(hhH); sql인서트+=","; sql인서트+=String(hhL); sql인서트+=","; sql인서트+=String(hhC); sql인서트+=","; sql인서트+=String(hhV); sql인서트+=");"; //////////////// 로고 실행 DataBase1.인서트(sql인서트); hhSseulGoId+=1; // 1증. } } var choKkuenSi_sseulMisaBongSu=8600; // 손잡이- 10000 하면 좋으나 줄여도 됨. var hhSseulGoId=1; // 손잡이 이나 고정- 봉번 ID는 날초 시 언제나 1번부터임. var hhSdate=0; var hhStime=0; var hhO=0; var hhH=0; var hhL=0; var hhC=0; var hhV=0; var sql인서트="0"; var hhBongBun=0; function Main_OnStart() { Main.MessageList("AD yestrader ssj sijac. hhSseulGoId=",hhSseulGoId); //////////////// 자료고 날 최초시 갈래 for (var ffa=choKkuenSi_sseulMisaBongSu; ffa>=0; ffa--){ // 손잡이 //////////////// 마련 hhSdate=Chart1.GetSDate(1,ffa); hhStime=Chart1.GetSTime(1,ffa); hhO=Chart1.GetOpen(1,ffa); hhH=Chart1.GetHigh(1,ffa); hhL=Chart1.GetLow(1,ffa); hhC=Chart1.GetClose(1,ffa); hhV=Chart1.GetVolume(1,ffa); //////////////// 로고 sql 마련 sql인서트=hhRoGoEreum+" (ID,SDATE,STIME,O,H,L,C,V) VALUES ("; sql인서트+=String(hhSseulGoId); sql인서트+=","; sql인서트+=String(hhSdate); sql인서트+=","; sql인서트+=String(hhStime); sql인서트+=","; sql인서트+=String(hhO); sql인서트+=","; sql인서트+=String(hhH); sql인서트+=","; sql인서트+=String(hhL); sql인서트+=","; sql인서트+=String(hhC); sql인서트+=","; sql인서트+=String(hhV); sql인서트+=");"; //////////////// 로고 실행 DataBase1.인서트(sql인서트); hhSseulGoId+=1; // 1증. } } function Chart1_OnBarAppended(nData) { // Main.MessageList("Chart1_OnBarAppended / hhSseulGoId=",hhSseulGoId); if (nData==1){ hhBongBun=0; // 0부여. //////////////// 마련 hhSdate=Chart1.GetSDate(1,hhBongBun); hhStime=Chart1.GetSTime(1,hhBongBun); hhO=Chart1.GetOpen(1,hhBongBun); hhH=Chart1.GetHigh(1,hhBongBun); hhL=Chart1.GetLow(1,hhBongBun); hhC=Chart1.GetClose(1,hhBongBun); hhV=Chart1.GetVolume(1,hhBongBun); //////////////// 로고 sql 마련 sql인서트=hhRoGoEreum+" (ID,SDATE,STIME,O,H,L,C,V) VALUES ("; sql인서트+=String(hhSseulGoId); sql인서트+=","; sql인서트+=String(hhSdate); sql인서트+=","; sql인서트+=String(hhStime); sql인서트+=","; sql인서트+=String(hhO); sql인서트+=","; sql인서트+=String(hhH); sql인서트+=","; sql인서트+=String(hhL); sql인서트+=","; sql인서트+=String(hhC); sql인서트+=","; sql인서트+=String(hhV); sql인서트+=");"; //////////////// 로고 실행 DataBase1.인서트(sql인서트); hhSseulGoId+=1; // 1증. } }