커뮤니티

해당 서비스를 찾을수 없습니다.... 라고 뜹니다.

프로필 이미지
로봇짱
2022-08-09 10:47:20.0
1244
글번호 225699
답변완료

첨부 이미지

안녕하세요. 언제나 친절한 답변에 감사드립니다. 지난 주까지 아무 문제 없던 수식이 변한게 아무것도 없는데 오늘 해보니 안됩니다. "해당 서비스를 찾을수 없습니다."라는 오류 메세지가 뜹니다. 확인 부탁드립니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-08-09 09:36:18.0

안녕하세요? 예스스탁입니다. 사용하시는 증권사에 전일 접속 장애가 있어서 발생된 문제인 것으로 보입니다. 금일 새벽에 정상화 되었는데, 현재는 예스스팟 사용에 문제가 없을 것으로 보입니다. 혹시 문제가 있으면 예스스탁으로 연락을 부탁드리겠습니다. 02-3453-1060 : 프로그램사용법Q&A담당자 감사합니다. > 로봇짱 님이 쓴 글입니다. > 제목 : 해당 서비스를 찾을수 없습니다.... 라고 뜹니다. > 안녕하세요. 언제나 친절한 답변에 감사드립니다. 지난 주까지 아무 문제 없던 수식이 변한게 아무것도 없는데 오늘 해보니 안됩니다. "해당 서비스를 찾을수 없습니다."라는 오류 메세지가 뜹니다. 확인 부탁드립니다. (실행 수식) ////////////// 손잡이부 var tableEreum="GOLD"; // 마리아디비 테이블 이름 - 종목별. var jjBonNaMicro=2; // 종목- 1 주종목이냐 2 마이크로냐 var jnibSuryang=2; // 수동 진입 수량 - 매일 아침 - 종목별. var CHg01_soDongTick=0.1; // 한국 예스트레이더 준 소동틱 pricescale - 손잡이 - 종목별. // // - 한국, 미국 소동틱이 다를때 한국 예스트레이더 준 소동틱하면 됨. // 골드 0.1, 유로 0.00005 var CHg01_soDongTick_sosuJum_jarisu=1; // 한국 예스트레이더 준 소동틱 pricescale 자릿수 // 오일 2, 골드 1, 유로 5 var hengGaC_duCegyulRo_uMoo=1; // 행가씨를 더 적극적 체결로 하느냐 마느냐 var jnib_micegyulSi_orderReplaceHu=1; // 1 진입 주문 미체결시 따라가는 주문 정정, 0 해당 주문 취소 var jnib_jumunHoo_orderReplace_jacBongSu=14*4; // / 손잡이- 1틱 마다 갱신되는 var tal_jumunHoo_orderReplace_jacBongSu=14*4; // 손잡이- 1틱 마다 갱신되는 / 오일 14틱인데 그게 30봉 정도면 / 20이었다. var talJumunSiTalGa_domang_orderReplace_tickGesu=5; // / 오일, 골드=18 / 유로=16 // 좌 이었는데 장전개수 +6개로 // 미8실시 골드 5개로 함. var jumunGa_bojungHu=1; var talHeureum1Si_reFreshHu=1; var heureumBhDoinCho1HooDasiRefreshBongSu=100; // 적당한 간격 ////////////// var kkuenHooBongSu=0; var hhGejwaBun=0; var hhGejwaCongGeum=0; var hhGnSuryang=0; var choKkuenheureum=1; var sql_rra=0; var sqlsel*ct="0"; var sql_rra_ibjangGo=new Array(); var fieldCountVV=0; var roundSiGobSu=0; var jumun_jangjun_gesu=0; var tal_jangjun_gesu=0; var jnib_cGanChaInjungGesu=100; // 줄리아 종가와 예스트레이더 차트 종가간 차이 인정개수 - 보통 4,8 var jumunJoonCode="0"; var sqlsel*ct="0"; var sql_rra=0; var hhJuliaGiC=0; var hhJuliaIbjangJ1=0; var hhJuliaIbjang=0; var hhJuliaIbjangBhBs=0; var hhJuliaIbjangSiJuliaGi=0; var hhJuliaIbjangSiJuliaC=0; var hhJJc=0; var hhJnibJumungaC=0; var hhJuliaCganCha=0; var ibjang=0; var ibjangBhBs=0; var ibjangBhBsSiC=0; var jn_jumunHoo_bongSu=0; var unfill_orderNum=0; var hhBalanceCount=0; var orderIDvv=0; var orderIDvvJ1=0; var orderCountVV=0; var juliaYesEumyangIlchi=0; var talHeureum=0; var hhBalanceCode=""; var hhBalanceCount=0; var hhBalanceIbjang=0; var hhDocDoinIbjangGoAnneBun=0; var ibjangGoSeHengOn=0; var heureumJoongheureum=0; var heureumJoongheureumTal=0; var orderId_1=0; var orderId_81=0; var orderId_jn_replace=0; var orderId_810=0; var orderId_10=0; var orderId_tal_replace=0; var orderId_1_orderNum=0; var orderId_81_orderNum=0; var orderId_jn_replace_orderNum=0; var orderId_810_orderNum=0; var orderId_10_orderNum=0; var orderId_tal_replace_orderNum=0; var hhUnfillOrder=0; var hhTalJumunGaC=0; var talJumunHyang=0; var tal_jumunHoo_bongSu=0; var jnibNalHu=1; // 날진입허가 - 줄리아의 범위보다 넓게 하는게 원칙 // 중간에 허가 무 0 될 수 있음. var isNormalVV=false; var orderNumVV=-1004; var hhibjangJoon_unfillOrderNum=0; var talHeureumHu_sqlDasiDocUmu=2; var onupd*teAccount_doin=0; var heureumBhDoinCho=0; var hhTonggwaJoong=0; var hhTalJumunGaCwaMarketCcha=0; var talJumunSiTalGac=0; var talJumunSiTalGac_wa_hhC_cha=0; var taljumunHoo_domang_orderReplace_ryung=0; var juliaIbjangYucHyangRyung=0; var tal_jangjun_gesuGyul=0; var jumun_jangjun_gesu_juliaBhBsSi=0; var hhTalJumunGaCwaMarketCchaGesu=0; var order_errorMessage=""; var talHeureum2HooBongSu=0; var jn_jumunHoo_orderJe_hoisu=0; var ibjang100HooBongSu=0; var heureumBhDoinCho1HooBongSu=0; var hhAskC=0; var hhBidC=0; var hhCurrentC=0; var hhAsk2C=0; var hhBid2C=0; var hhMarketJoongGaC=0; var hhAskHengGaC=0; var hhBidHengGaC=0; var hhAskC1GanGaC=0; var hhBidC1GanGaC=0; var julia_gyotong=0; function Main_OnStart() { Main.MessageList("AD ibjang heng sijac."); ////////////// 반올림 보정시 사용되는 roundSiGobSu=1/CHg01_soDongTick; // 오일준 100.0 roundSiGobSu=Math.round(roundSiGobSu); Main.MessageList("계좌번호=",hhGejwaBun); } ////////////////////////// function Chart1_OnBarAppended(nData) { if (nData==1){ hhTonggwaJoong=0; kkuenHooBongSu+=1; hhJJc=Chart1.GetClose(nData,0); hhAskC=MarketData1.Ask(1); hhBidC=MarketData1.Bid(1); hhCurrentC=MarketData1.current; ////////////////// 주문가 상시 마련 hhAsk2C=MarketData1.Ask(2); hhBid2C=MarketData1.Bid(2); hhMarketJoongGaC=(hhAsk2C+hhBid2C)*0.5; hhAskHengGaC=Math.ceil(hhMarketJoongGaC); hhBidHengGaC=Math.floor(hhMarketJoongGaC); /* hhAskC1GanGaC=hhAskC-(CHg01_soDongTick); hhBidC1GanGaC=hhBidC+(CHg01_soDongTick); hhAskC1GanGaC=hhAskC1GanGaC.toFixed(CHg01_soDongTick_sosuJum_jarisu); hhBidC1GanGaC=hhBidC1GanGaC.toFixed(CHg01_soDongTick_sosuJum_jarisu); */ ////////// 실행가 보정 /* if (hhAskHengGaChhBidC1GanGaC){ hhBidHengGaC=hhBidC1GanGaC; } */ ////////// 행가씨 더 체결로 보정 if (hengGaC_duCegyulRo_uMoo==1 && hhMarketJoongGaC%CHg01_soDongTick!=0){ // 이때만 보정함 hhAskHengGaC=hhAskHengGaC-CHg01_soDongTick; hhBidHengGaC=hhBidHengGaC+CHg01_soDongTick; } hhAskHengGaC=hhAskHengGaC.toFixed(CHg01_soDongTick_sosuJum_jarisu); // 결. hhBidHengGaC=hhBidHengGaC.toFixed(CHg01_soDongTick_sosuJum_jarisu); // 결. ////////////////// if (choKkuenheureum==1){ hhTonggwaJoong=1; ////////////////// 일반 종목, 마이크로 종목에 따라 if (jjBonNaMicro==1){ jumunJoonCode=Chart1.GetCode(1); // AD_ibjang_JJGOLD } else if (jjBonNaMicro==2){ jumunJoonCode=Chart2.GetCode(1); // AD_ibjang_JJGOLDm } sqlsel*ct="count(ANNE) from "; sqlsel*ct+=tableEreum; sqlsel*ct+=";"; // Main.MessageList("sqlsel*ct=",sqlsel*ct); DataBase1.sel*ct(sqlsel*ct,"AD"); sql_rra=DataBase1.GetFieldValue(0); // 첫 번째 컬럼이 0 임. // Main.MessageList("sql_rra=",sql_rra); if (sql_rra>=1){ ////////////// 포지션고 읽기 sqlsel*ct="* from "; sqlsel*ct+=tableEreum; sqlsel*ct+=" ORDER BY ANNE DESC LIMIT 1;"; // Main.MessageList("sqlsel*ct=",sqlsel*ct); DataBase1.sel*ct(sqlsel*ct,"AD"); fieldCountVV=DataBase1.GetFieldCount(); for (var i=0; i<=fieldCountVV-1; i++){ sql_rra_ibjangGo[i]=DataBase1.GetFieldValue(i); // 결. 배열에 마지막 행 배치한. } ////////////// 줄리아 포지션 1식 발령시만 흐름 부여 if (Math.abs(sql_rra_ibjangGo[5])==1){ choKkuenheureum=2; // 실시간 포지션 수출이 시작됐으면 흐름 2 영구 부여. ////////////// hhDocDoinIbjangGoAnneBun - 이 부분이 있어서 에이디 참 합동 매매 가능함. hhDocDoinIbjangGoAnneBun=sql_rra_ibjangGo[0]-1; } } Main.MessageList("kkuenHooBongSu=",kkuenHooBongSu," hhBalanceCount=",hhBalanceCount," ibjang=",ibjang," ibjangBhBs=",ibjangBhBs," jumunJoonCode=",jumunJoonCode," hhTonggwaJoong=",hhTonggwaJoong," talHeureum=",talHeureum," hhDocDoinIbjangGoAnneBun=",hhDocDoinIbjangGoAnneBun); } if (choKkuenheureum==2){ hhTonggwaJoong=2; ////////////// 순환 앞일 // Main.MessageList("isNormalVV=",isNormalVV); ibjangBhBs=0; // 처리일 // ////////////// 포지션고 읽기 sqlsel*ct="* from "; sqlsel*ct+=tableEreum; sqlsel*ct+=" ORDER BY ANNE DESC LIMIT 1;"; // Main.MessageList("sqlsel*ct=",sqlsel*ct); DataBase1.sel*ct(sqlsel*ct,"AD"); fieldCountVV=DataBase1.GetFieldCount(); for (var i=0; i<=fieldCountVV-1; i++){ sql_rra_ibjangGo[i]=DataBase1.GetFieldValue(i); // 결. 배열에 마지막 행 배치한. } hhTonggwaJoong=21; ////////////// 포지션고 새행 온 변수 발령 ibjangGoSeHengOn=0; if (sql_rra_ibjangGo[0]!=hhDocDoinIbjangGoAnneBun){ ibjangGoSeHengOn=1004; // 줄리아 포지션 새 포지션 발령 1004 부여 hhDocDoinIbjangGoAnneBun=sql_rra_ibjangGo[0]; hhTonggwaJoong=22; } // Main.MessageList("줄리아 포지션고 새행 온 ibjangGoSeHengOn=",ibjangGoSeHengOn); // ////////////// 줄리아 포지션 파악 변발부 hhJuliaIbjangBhBs=0; // 처리일 jumun_jangjun_gesu=0; // 처리일 if (ibjangGoSeHengOn==1004){ hhTonggwaJoong=31; //////// 변발 산출 hhJuliaIbjangJ1=hhJuliaIbjang; hhJuliaIbjangBhBs=sql_rra_ibjangGo[5]; // 결. 줄리아 포지션변발 갱신. hhJuliaIbjang=sql_rra_ibjangGo[6]; // 결. 줄리아 포지션 갱신. jumun_jangjun_gesu=sql_rra_ibjangGo[7]; jumun_jangjun_gesu_juliaBhBsSi=sql_rra_ibjangGo[7]; julia_gyotong=sql_rra_ibjangGo[10]; //////// 줄리아 포지션 변발부 if (Math.abs(hhJuliaIbjangBhBs)==1){ hhJuliaIbjangSiJuliaGi=sql_rra_ibjangGo[4]; // SANSI_GI hhJuliaIbjangSiJuliaC=hhJuliaIbjangSiJuliaGi*CHg01_soDongTick; // C 가 된. } else if (Math.abs(hhJuliaIbjangBhBs)==10){ hhJuliaIbjangSiJuliaGi=sql_rra_ibjangGo[4]; // SANSI_GI hhJuliaIbjangSiJuliaC=hhJuliaIbjangSiJuliaGi*CHg01_soDongTick; // C 가 된. } } ////////////// 새행 왔는데 미체결 남아 있을시 취소하는 /* if (ibjangGoSeHengOn==1004){ if (Math.abs(ibjang)==100){ Account1.SetBalanceItem(jumunJoonCode,0); ////////// 미체결 hhUnfillOrder=Account1.SetUnfillOrderNumber(orderNumVV); unfill_orderNum=Account1.Unfill.orderNum; hhBalanceCount=Account1.Balance.count; // 결. 현재 잔고 수량. hhBalanceIbjang=Account1.Balance.position; if (hhBalanceCount==0){ ibjang=0; hhTonggwaJoong=3001; Account1.OrderCancel(unfill_orderNum); } } } */ // Main.MessageList("줄리아 포지션변발 hhJuliaIbjangBhBs=",hhJuliaIbjangBhBs); // //////////////////////////// 본격 if (talHeureum==0){ hhTonggwaJoong=9999; if (ibjang==0){ // 포지션 0 시 hhTonggwaJoong=10000; Account1.SetUnfillOrderNumber(orderNumVV); // 미체결 hhibjangJoon_unfillOrderNum=Account1.Unfill.orderNum; ////////////// 마지막 행 읽은 이후 hhJuliaGiC=sql_rra_ibjangGo[4]*CHg01_soDongTick; hhJuliaGiC=hhJuliaGiC.toFixed(CHg01_soDongTick_sosuJum_jarisu); hhJuliaCganCha=hhJJc-hhJuliaGiC; ////////////// Account1.SetBalanceItem(jumunJoonCode,0); hhBalanceCount=Account1.Balance.count; if (Math.abs(hhJuliaCganCha)<=CHg01_soDongTick*jnib_cGanChaInjungGesu && hhBalanceCount==0 && julia_gyotong==1004){ // 줄리아 산시기(종가) 와 차이가 인정개수 이내여야만 통과 hhTonggwaJoong=10010; if (hhJuliaIbjangBhBs==1 && jnibNalHu==1){ // 상방 진입 hhTonggwaJoong=10001; jn_jumunHoo_bongSu=1; ibjang=10; // 결. 포지션 부여. ibjangBhBs=10; /* hhJnibJumungaC=hhJuliaIbjangSiJuliaC-(CHg01_soDongTick*jumun_jangjun_gesu); // 진입 장전가 ////////////////// hhJnibJumungaC 보정 if (jumunGa_bojungHu==1){ if (hhJnibJumungaC>hhBidC){ hhJnibJumungaC=hhBidC+(CHg01_soDongTick*1); } } hhJnibJumungaC=hhJnibJumungaC.toFixed(CHg01_soDongTick_sosuJum_jarisu); */ hhJnibJumungaC=hhBidHengGaC; Main.MessageList("상방 진입 주문하는"); orderId_1=Account1.OrderBuy(jumunJoonCode,jnibSuryang,hhJnibJumungaC,2); // 결. 진입 주문 접수. } else if (hhJuliaIbjangBhBs==-1 && jnibNalHu==1){ // 하방 진입 hhTonggwaJoong=10002; jn_jumunHoo_bongSu=1; ibjang=-10; // 결. 포지션 부여. ibjangBhBs=-10; /* hhJnibJumungaC=hhJuliaIbjangSiJuliaC+(CHg01_soDongTick*jumun_jangjun_gesu); // 진입 장전가 ////////////////// hhJnibJumungaC 보정 if (jumunGa_bojungHu==1){ if (hhJnibJumungaC=heureumBhDoinCho1HooDasiRefreshBongSu){ heureumBhDoinCho1HooBongSu=1; Account1.Refresh(); } ////////////// if (onupd*teAccount_doin==1){ hhTonggwaJoong=1002; Account1.SetBalanceItem(jumunJoonCode,0); ////////// 미체결 hhUnfillOrder=Account1.SetUnfillOrderNumber(orderNumVV); unfill_orderNum=Account1.Unfill.orderNum; unfill_count=Account1.Unfill.count; // 미체결 hhBalanceCount=Account1.Balance.count; // 결. 현재 잔고 수량. hhBalanceIbjang=Account1.Balance.position; if (hhBalanceCount>=1 && hhBalanceCount==jnibSuryang){ // 전량 체결시 - 포지션 다음 1000으로 hhTonggwaJoong=1003; ibjang=ibjang*10; // 포지션 1000 된. ibjangBhBs=ibjang; heureumBhDoinCho=1; heureumBhDoinCho1HooBongSu=1; } else if (hhBalanceCount=jnib_jumunHoo_orderReplace_jacBongSu){ // 미체결 유시 // 손잡이 16봉 hhTonggwaJoong=10040; if (jnib_micegyulSi_orderReplaceHu==0){ // 0 해당 주문 취소 갈래 if (hhBalanceCount==0){ // 전체 물량 미체결시 hhTonggwaJoong=1004; ibjang=0; // jnibNalHu=0; // 이 경우 이 날은 진입 허가 무 처리 } else if (hhBalanceCount>=1){ // 일부 물량은 체결시 ibjang=ibjang*10; // 포지션 1000 된. ibjangBhBs=ibjang; heureumBhDoinCho=1; heureumBhDoinCho1HooBongSu=1; } hhTonggwaJoong=1005; Main.MessageList("포지션 100에서 미체결되어 취소 넣은"); Account1.OrderCancel(unfill_orderNum); } else if (jnib_micegyulSi_orderReplaceHu==1){ // 1 진입 주문 미체결시 따라가는 주문 정정 if (hhBalanceCount==0){ // 전체 물량 미체결시 hhTonggwaJoong=1006; jn_jumunHoo_bongSu=0; ////////////// mi7Heng_bn 준으로 진입정정가씨 마련 if (ibjang>0){ hhJnibJumungaC=hhBidHengGaC; } else if (ibjang<0){ hhJnibJumungaC=hhAskHengGaC; } // hhJnibJumungaC=hhJnibJumungaC.toFixed(CHg01_soDongTick_sosuJum_jarisu); ////////////// if (jn_jumunHoo_orderJe_hoisu<=3){ jn_jumunHoo_orderJe_hoisu+=1; orderId_jn_replace=Account1.OrderReplace(unfill_orderNum,unfill_count,hhJnibJumungaC); } else { ibjang=0; jn_jumunHoo_orderJe_hoisu=0; } } else if (hhBalanceCount>=1){ // 일부 물량은 체결시 ibjang=ibjang*10; // 포지션 1000 된. ibjangBhBs=ibjang; heureumBhDoinCho=1; heureumBhDoinCho1HooBongSu=1; Main.MessageList("포지션 100에서 일부 체결되고 일부 미체결되어 일부를 취소 넣은"); Account1.OrderCancel(unfill_orderNum); } } } else if (ibjang100HooBongSu>=jnib_jumunHoo_orderReplace_jacBongSu){ heureumBhDoinCho=1; // 다시 부여 heureumBhDoinCho1HooBongSu=1; jn_jumunHoo_bongSu=0; } } /////////////////// 줄리아 포지션 바뀌었는지 확인 /* juliaYesEumyangIlchi=sql_rra_ibjangGo[6]*ibjang; if (juliaYesEumyangIlchi<=0 && Math.abs(ibjang)==100){ // 포지션 1000이 못 됐을시만 통과 if (juliaYesEumyangIlchi<0){ // 줄리아 포지션 역향 발령시 hhDocDoinIbjangGoAnneBun-=1; // 줄리아고 행 다시 읽기 가능 부여 } Main.MessageList("예스스팟 포지션 100 중, 포지션 반대 전환을 위해 취소 접수 넣은"); ibjang=0; Account1.OrderCancel(unfill_orderNum); } */ } else if (Math.abs(ibjang)==1000){ // 진입 성공하여 진행중 if (heureumBhDoinCho==1){ heureumBhDoinCho=0; onupd*teAccount_doin=0; Account1.Refresh(); } ////////////// heureumBhDoinCho1HooBongSu+=1; if (heureumBhDoinCho1HooBongSu>=heureumBhDoinCho1HooDasiRefreshBongSu && onupd*teAccount_doin==0){ heureumBhDoinCho1HooBongSu=1; Account1.Refresh(); } if (onupd*teAccount_doin==1){ /////////////////// 줄리아 포지션 바뀌었는지 확인 juliaYesEumyangIlchi=sql_rra_ibjangGo[6]*ibjang; if (juliaYesEumyangIlchi<=0 || hhJuliaIbjangBhBs !=0){ if (juliaYesEumyangIlchi<0){ // 줄리아 포지션 역향 발령시 juliaIbjangYucHyangRyung=1; tal_jangjun_gesu=-1; talHeureumHu_sqlDasiDocUmu=1; // 다시 읽기 1 부여 } talHeureum=1; // 탈출발생 유 처리 heureumBhDoinCho=1; heureumBhDoinCho1HooBongSu=1; } /////////////////// 수동개입 청산시 감지 /* Account1.SetBalanceItem(jumunJoonCode,0); hhBalanceCount=Account1.Balance.count; // 결. 현재 잔고 수량. if (hhBalanceCount==0){ talHeureum=0; ibjang=0; } */ } } } /////////////////// 청산부 if (talHeureum==1 && julia_gyotong==1004){ isNormalVV=false; if (talHeureum1Si_reFreshHu==0){ hhTonggwaJoong=800; heureumBhDoinCho=0; onupd*teAccount_doin=0; /////////////////// Account1.SetBalanceItem(jumunJoonCode,0); hhBalanceCode=Account1.Balance.code; hhBalanceCount=Account1.Balance.count; hhBalanceIbjang=Account1.Balance.position; if (hhBalanceCount>=1){ heureumJoongheureumTal=0; talHeureum2HooBongSu=0; talHeureum=2; } } else if (talHeureum1Si_reFreshHu==1){ if (heureumBhDoinCho==1){ hhTonggwaJoong=81; heureumBhDoinCho=0; onupd*teAccount_doin=0; Account1.Refresh(); } ////////////// heureumBhDoinCho1HooBongSu+=1; if (heureumBhDoinCho1HooBongSu>=heureumBhDoinCho1HooDasiRefreshBongSu){ heureumBhDoinCho1HooBongSu=1; Account1.Refresh(); } if (onupd*teAccount_doin==1){ /////////////////// Account1.SetBalanceItem(jumunJoonCode,0); hhBalanceCode=Account1.Balance.code; hhBalanceCount=Account1.Balance.count; hhBalanceIbjang=Account1.Balance.position; if (hhBalanceCount>=1){ heureumJoongheureumTal=0; talHeureum2HooBongSu=0; talHeureum=2; } } } } if (talHeureum==2){ // 청산 시작 hhTonggwaJoong=82; if (hhBalanceIbjang==1){ // 현재 보유 포지션 매도시 Main.MessageList("talHeureum 2_1 분기 통과한.") talHeureum=3; tal_jumunHoo_bongSu=1; heureumBhDoinCho=1; heureumBhDoinCho1HooBongSu=1; ////////////////// tal_jangjun_gesuGyul=jumun_jangjun_gesu_juliaBhBsSi; if (juliaIbjangYucHyangRyung==1){ tal_jangjun_gesuGyul=tal_jangjun_gesu; } ////////////////// /* hhTalJumunGaC=hhJuliaIbjangSiJuliaC-(CHg01_soDongTick*tal_jangjun_gesuGyul); // 청산 장전가 ////////////////// hhTalJumunGaC 보정 if (jumunGa_bojungHu==1){ if (hhTalJumunGaC>hhBidC){ hhTalJumunGaC=hhBidC+(CHg01_soDongTick*1); } } hhTalJumunGaC=hhTalJumunGaC.toFixed(CHg01_soDongTick_sosuJum_jarisu); */ hhTalJumunGaC=hhBidHengGaC; talJumunHyang=1; talJumunSiTalGac=hhTalJumunGaC; taljumunHoo_domang_orderReplace_ryung=0; hhTonggwaJoong=821; orderIDvvJ1=orderIDvv; orderId_810=Account1.OrderBuy(hhBalanceCode,hhBalanceCount,hhTalJumunGaC,2); } else if (hhBalanceIbjang==2){ // 현재 보유 포지션 매수시 Main.MessageList("talHeureum 2_2 분기 통과한.") talHeureum=3; tal_jumunHoo_bongSu=1; heureumBhDoinCho=1; heureumBhDoinCho1HooBongSu=1; ////////////////// tal_jangjun_gesuGyul=jumun_jangjun_gesu_juliaBhBsSi; if (juliaIbjangYucHyangRyung==1){ tal_jangjun_gesuGyul=tal_jangjun_gesu; } ////////////////// /* hhTalJumunGaC=hhJuliaIbjangSiJuliaC+(CHg01_soDongTick*tal_jangjun_gesuGyul); // 청산 장전가 ////////////////// hhTalJumunGaC 보정 if (jumunGa_bojungHu==1){ if (hhTalJumunGaC=Math.abs(CHg01_soDongTick*talJumunSiTalGa_domang_orderReplace_tickGesu)){ taljumunHoo_domang_orderReplace_ryung=1; } } } ////////////// if (heureumBhDoinCho==1){ heureumBhDoinCho=0; onupd*teAccount_doin=0; Account1.Refresh(); } ////////////// heureumBhDoinCho1HooBongSu+=1; if (heureumBhDoinCho1HooBongSu>=heureumBhDoinCho1HooDasiRefreshBongSu){ heureumBhDoinCho1HooBongSu=1; Account1.Refresh(); } ////////////// if (onupd*teAccount_doin==1){ hhTonggwaJoong=83; ////////// 미체결 hhUnfillOrder=Account1.SetUnfillOrderNumber(orderNumVV); unfill_orderNum=Account1.Unfill.orderNum; // 미체결 unfill_count=Account1.Unfill.count; // 미체결 Account1.SetBalanceItem(jumunJoonCode,0); hhTalJung_balanceCount=Account1.Balance.count; ////////////// if (hhTalJung_balanceCount==0){ // 청산 됐을시 hhTonggwaJoong=84; if (ibjang==1000){ ibjangBhBs=100080; } else if (ibjang==-1000){ ibjangBhBs=-100080; } ibjang=0; // 포지션 0 부여. talHeureum=0; Account1.Refresh(); } else { // 청산 아직 안 됐을시 /////////////////// 줄리아 포지션 바뀌었는지 확인 juliaYesEumyangIlchi=sql_rra_ibjangGo[6]*ibjang; if (juliaYesEumyangIlchi>0 && Math.abs(hhJuliaIbjangBhBs)==1){ // //////// 청산 대기중인 포지션과 새로 발령된 줄리아 포지션이 일치할 시만 talHeureum=0; heureumJoongheureumTal+=1; if (heureumJoongheureumTal%(14*4)==1){ heureumJoongheureumTal=0; Account1.OrderCancel(unfill_orderNum); // // 결. 청산 대기 중 주문 취소 // 이때 ibjang==1000 또는 -1000 임. } } else if (juliaYesEumyangIlchi<0 && Math.abs(hhJuliaIbjangBhBs)==1) { // //////// 청산 대기중 줄리아 포지션이 역향 발령시- 적극 청산하고 sql 다시 읽기 부여 talHeureumHu_sqlDasiDocUmu=1; // 다시 읽기 1 부여 //////////////// 적극 청산 tal_jangjun_gesu=-1; if (ibjang>0){ // hhTalJumunGaC=hhJJc-(CHg01_soDongTick*tal_jangjun_gesu); hhTalJumunGaC=hhAskHengGaC-(CHg01_soDongTick*1); } else if (ibjang<0){ // hhTalJumunGaC=hhJJc+(CHg01_soDongTick*tal_jangjun_gesu); hhTalJumunGaC=hhBidHengGaC+(CHg01_soDongTick*1); } hhTalJumunGaC=hhTalJumunGaC.toFixed(CHg01_soDongTick_sosuJum_jarisu); orderId_tal_replace=Account1.OrderReplace(unfill_orderNum,unfill_count,hhTalJumunGaC); } else { // 청산 대기중 갈래 if (tal_jumunHoo_bongSu>=tal_jumunHoo_orderReplace_jacBongSu && taljumunHoo_domang_orderReplace_ryung==1){ // // 청산이 안되고 있을 시 정정주문- 6봉 손잡이 hhTonggwaJoong=85; tal_jumunHoo_bongSu=1; ////////////// taljumunHoo_domang_orderReplace_ryung=0; if (ibjang==1000){ talJumunSiTalGac=talJumunSiTalGac-(CHg01_soDongTick*4); // 4개 손잡이 } else if (ibjang==-1000){ talJumunSiTalGac=talJumunSiTalGac+(CHg01_soDongTick*4); } ////////////// 적극적 청산을 위한 주문가격 설정 if (ibjang>0){ // hhTalJumunGaC=hhJJc-(CHg01_soDongTick*1); hhTalJumunGaC=hhAskHengGaC; } else if (ibjang<0){ // hhTalJumunGaC=hhJJc+(CHg01_soDongTick*1); hhTalJumunGaC=hhBidHengGaC; } // hhTalJumunGaC=hhTalJumunGaC.toFixed(CHg01_soDongTick_sosuJum_jarisu); ////////////// orderId_tal_replace=Account1.OrderReplace(unfill_orderNum,unfill_count,hhTalJumunGaC); } } } } } /////////////////// 청산 정리부 if (Math.abs(ibjangBhBs)==10 || Math.abs(hhJuliaIbjangBhBs)==1){ tal_jangjun_gesu=0; // 처리일 ibjangBhBsSiC=hhJuliaIbjangSiJuliaC; juliaIbjangYucHyangRyung=0; talHeureumHu_sqlDasiDocUmu=2; jn_jumunHoo_orderJe_hoisu=0; } else if (Math.abs(ibjangBhBs)==100080){ // 청산 됐다 신호 나왔을 시 tal_jangjun_gesu=0; // 처리일 //////////////////// sql 다시 읽기 부여부- 포지션 진행중 줄리아 포지션 역향 발령시 등 if (talHeureumHu_sqlDasiDocUmu==1){ // juliaYesEumyangIlchi 등에서 음이 나왔을시 등 hhDocDoinIbjangGoAnneBun=sql_rra_ibjangGo[0]-1; // 줄리아고 행 다시 읽기 가능 부여 talHeureumHu_sqlDasiDocUmu=2; } hhTonggwaJoong=86; ibjang=0; // 포지션 0 부여. } Main.MessageList("kkuenHooBongSu=",kkuenHooBongSu," hhBalanceCount=",hhBalanceCount," ibjang=",ibjang," ibjangBhBs=",ibjangBhBs," jumunJoonCode=",jumunJoonCode," hhTonggwaJoong=",hhTonggwaJoong," talHeureum=",talHeureum," hhDocDoinIbjangGoAnneBun=",hhDocDoinIbjangGoAnneBun); } } } function Main_OnOrderResponse(OrderResponse) { isNormalVV=OrderResponse.isNormal; orderIDvv=OrderResponse.orderID; orderNumVV=OrderResponse.orderNum; orderCountVV=OrderResponse.orderCount; order_errorMessage=OrderResponse.error; Account1.SetUnfillOrderNumber(orderNumVV); // 미체결 ////////////////////////// orderNum 저장 if (OrderResponse.orderID==orderId_1){ orderId_1_orderNum=OrderResponse.orderNum; } else if (OrderResponse.orderID==orderId_81){ orderId_81_orderNum=OrderResponse.orderNum; } else if (OrderResponse.orderID==orderId_jn_replace){ orderId_jn_replace_orderNum=OrderResponse.orderNum; } else if (OrderResponse.orderID==orderId_810){ orderId_810_orderNum=OrderResponse.orderNum; } else if (OrderResponse.orderID==orderId_10){ orderId_10_orderNum=OrderResponse.orderNum; } else if (OrderResponse.orderID==orderId_tal_replace){ orderId_tal_replace_orderNum=OrderResponse.orderNum; } } function Main_OnNotifyFill(NotifyFill) { ////////////////////////// 주문 응답시 코드 재부여 if (NotifyFill.orderNum==orderId_1_orderNum){ jumunJoonCode=NotifyFill.code; } else if (NotifyFill.orderNum==orderId_81_orderNum){ jumunJoonCode=NotifyFill.code; } else if (NotifyFill.orderNum==orderId_jn_replace_orderNum){ jumunJoonCode=NotifyFill.code; } else if (NotifyFill.orderNum==orderId_810_orderNum){ jumunJoonCode=NotifyFill.code; } else if (NotifyFill.orderNum==orderId_10_orderNum){ jumunJoonCode=NotifyFill.code; } else if (NotifyFill.orderNum==orderId_tal_replace_orderNum){ jumunJoonCode=NotifyFill.code; } } function Main_Onupd*teAccount(sAccntNum, sItemCode, lupd*teID) { if (lupd*teID==30000){ onupd*teAccount_doin=1; } }