커뮤니티

문의드립니다

프로필 이미지
1000djr
2024-11-19 16:26:59
558
글번호 185433
답변완료
안녕하세요 항상고맙습니다 다름이 아니라 시간에 따라 옵션진입조건을 다르게 하고싶은데 어떻게 해야 될지 몰라서 문의드립니다 일단 변수에 시간을 선언했구요 var firstEntryStartTime = 90000; // 9시 진입 시작 시간 var firstEntryEndTime = 93000; // 9시 30분까지 진입 가능 시간 var stopTime = 93000; // 9시 30분 이후 포지션 스톱 시간 var secondEntryStartTime = 110000; // 11시 진입 시작 시간 var secondEntryEndTime = 130000; // 1시까지 진입 가능 시간 이렇게하고나서 function Main_OnU*dateMarket(sItemCode, lU*dateID) { var d = new Date(); var HHMMSS = d.getHours() * 10000 + d.getMinutes() * 100 + d.getSeconds(); if (dayOfWeek == "수") { // // 첫 번째 진입 조건: 9시 ~ 9시 30분 사이에만 진입 허용 if (HHMMSS >= firstEntryStartTime && HHMMSS <= firstEntryEndTime) { 옵션진입체크(); } // 두 번째 진입 조건: 11시 ~ 1시 사이에만 진입 허용 else if (HHMMSS >= secondEntryStartTime && HHMMSS <= secondEntryEndTime) { 옵션진입체크(); } // 9시 30분 이후 첫 번째 진입 종료 else if (HHMMSS > stopTime && T != 0) { Main.MessageList("9시 30분 이후 포지션 스톱"); Main_OnStop(); // 포지션 스톱 처리 이렇게 매수조건에 따로 함수로 불러오는게 맞는건지 아니면 매수진입식에 // 콜 매수 조건 if (MarketData1.current >= MarketData1.open && 외인순매수 > 500 && HHMMSS >= firstEntryStartTime && HHMMSS <= firstEntryEndTime ) { CallCode = ""; CallPrice = 0; for (var i = -Option1.lowersATM; i <= Option1.uppersATM; i++) { var optionPrice = Option1.GetCurrent(0, i); if (optionPrice >= 0.05 && optionPrice <= 0.29 && (CallPrice === 0 || optionPrice < CallPrice)) { CallPrice = optionPrice; CallCode = Option1.GetATMCallRecent(i); } } if (CallPrice > 0) { CBEID = Account1.OrderBuy(CallCode, 옵션수량, Option1.GetCurrent(CallCode), 0); Main.MessageList("콜 옵션 매수 진입1"); BuyPrice = CallPrice; if (T >= 0 && 진입 == true) { // 콜 옵션 매수 조건: 현재가가 시가 기준 위 10틱 이내에서 캔들의 저가가 존재할 때 if (MarketData1.current > MarketData1.open && MarketData1.current <= MarketData1.open + MarketData1.GetTickSize() * 10 && 외인순매수 > 500 && HHMMSS >= secondEntryStartTime && HHMMSS <= secondEntryEndTime) { 각각 이렇게 넣는게 맞는건지 매수진입조건에 넣으면 저위에 따로 함수부른건 필요없을것 같은데 그럼 지워도 되는건지 여쭤봅니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-11-20 10:13:31

안녕하세요 예스스탁입니다. 시간별로 함수를 호출하는 것과 시간별로 그 함수내용을 직접 출어서 사용하는 차이인데 기호에 맞게 선택하시면 됩니다. 풀어서 작성하시면 함수호출은 필요가 없습니다. 즐거운 하루되세요 > 1000djr 님이 쓴 글입니다. > 제목 : 문의드립니다 > 안녕하세요 항상고맙습니다 다름이 아니라 시간에 따라 옵션진입조건을 다르게 하고싶은데 어떻게 해야 될지 몰라서 문의드립니다 일단 변수에 시간을 선언했구요 var firstEntryStartTime = 90000; // 9시 진입 시작 시간 var firstEntryEndTime = 93000; // 9시 30분까지 진입 가능 시간 var stopTime = 93000; // 9시 30분 이후 포지션 스톱 시간 var secondEntryStartTime = 110000; // 11시 진입 시작 시간 var secondEntryEndTime = 130000; // 1시까지 진입 가능 시간 이렇게하고나서 function Main_OnU*dateMarket(sItemCode, lU*dateID) { var d = new Date(); var HHMMSS = d.getHours() * 10000 + d.getMinutes() * 100 + d.getSeconds(); if (dayOfWeek == "수") { // // 첫 번째 진입 조건: 9시 ~ 9시 30분 사이에만 진입 허용 if (HHMMSS >= firstEntryStartTime && HHMMSS <= firstEntryEndTime) { 옵션진입체크(); } // 두 번째 진입 조건: 11시 ~ 1시 사이에만 진입 허용 else if (HHMMSS >= secondEntryStartTime && HHMMSS <= secondEntryEndTime) { 옵션진입체크(); } // 9시 30분 이후 첫 번째 진입 종료 else if (HHMMSS > stopTime && T != 0) { Main.MessageList("9시 30분 이후 포지션 스톱"); Main_OnStop(); // 포지션 스톱 처리 이렇게 매수조건에 따로 함수로 불러오는게 맞는건지 아니면 매수진입식에 // 콜 매수 조건 if (MarketData1.current >= MarketData1.open && 외인순매수 > 500 && HHMMSS >= firstEntryStartTime && HHMMSS <= firstEntryEndTime ) { CallCode = ""; CallPrice = 0; for (var i = -Option1.lowersATM; i <= Option1.uppersATM; i++) { var optionPrice = Option1.GetCurrent(0, i); if (optionPrice >= 0.05 && optionPrice <= 0.29 && (CallPrice === 0 || optionPrice < CallPrice)) { CallPrice = optionPrice; CallCode = Option1.GetATMCallRecent(i); } } if (CallPrice > 0) { CBEID = Account1.OrderBuy(CallCode, 옵션수량, Option1.GetCurrent(CallCode), 0); Main.MessageList("콜 옵션 매수 진입1"); BuyPrice = CallPrice; if (T >= 0 && 진입 == true) { // 콜 옵션 매수 조건: 현재가가 시가 기준 위 10틱 이내에서 캔들의 저가가 존재할 때 if (MarketData1.current > MarketData1.open && MarketData1.current <= MarketData1.open + MarketData1.GetTickSize() * 10 && 외인순매수 > 500 && HHMMSS >= secondEntryStartTime && HHMMSS <= secondEntryEndTime) { 각각 이렇게 넣는게 맞는건지 매수진입조건에 넣으면 저위에 따로 함수부른건 필요없을것 같은데 그럼 지워도 되는건지 여쭤봅니다