커뮤니티

스팟으로 집입횟수 제한

프로필 이미지
탄젠트80
2015-09-06 14:45:52
2080
글번호 223647
답변완료
안녕하세요~ 언제나 한결같은 답변 감사드립니다. 예스랭귀지가 아닌 스팟으로 진입횟수를 제한하고 싶습니다. 게시물 살펴보니 "GetUserValue"를 사용해서 제한한다고 나와있던데 아래 샘플 스팟수식은 선물신호발생시 미니선물 거래하는 예제입니다. 당일 스팟 진입청산을 3회로 제한하고 싶습니다. 부탁드립니다. ================================================================= function Main_OnStart() { Main.MessageList("시작"); T = 0; } function Chart1_OnRiseSignal(Signal) { if (Signal.signalKind == 1) { T = 1; Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } if (T == 1 && Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (Signal.signalKind == 3) { T = -1; Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (T == -1 && Signal.signalKind == 4) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } } ======================================================================= 답변 부탁드립니다. ~
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-09-11 17:52:09

안녕하세요 예스스탁입니다. 예 내부파일에 값을 적어 저장해서 사용하셔야야 합니다. 아래식 참고하시기 바랍니다. var T,daycount,YYYYMMDD; //스팟시작시 function Main_OnStart() { T = 0; var d = new Date(); YYYYMMDD = d.getFullYear()*10000+(d.getMonth()+1)*100+d.getDate();//오늘날짜 //오늘날짜를 당일진입횟수를 저장하는 변수로 이용 //내부변수에서 변수(오늘날짜)에 저장된 값을 불러와 //값이 없으면 daycount에 0, 있으면 해당 값을 저장 if (Main.GetUserValue(YYYYMMDD) == "") daycount = 0; else daycount = Main.GetUserValue(YYYYMMDD); } function Chart1_OnRiseSignal(Signal) { //매수신호가 발생하고 당일 진입횟수가 3회이내일때 if (Signal.signalKind == 1 && daycount < 3) { T = 1; Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); //daycount를 1증가 daycount = daycount+1; //변수(오늘날짜)에 daycount 저장 Main.SetUserValue(YYYYMMDD, daycount); } if (T == 1 && Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (Signal.signalKind == 3 && daycount < 3) { T = -1; Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); //daycount를 1증가 daycount = daycount+1; //변수(오늘날짜)에 daycount 저장 Main.SetUserValue(YYYYMMDD, daycount); } if (T == -1 && Signal.signalKind == 4) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } } 즐거운 하루되세요 > 탄젠트80 님이 쓴 글입니다. > 제목 : 스팟으로 집입횟수 제한 > 안녕하세요~ 언제나 한결같은 답변 감사드립니다. 예스랭귀지가 아닌 스팟으로 진입횟수를 제한하고 싶습니다. 게시물 살펴보니 "GetUserValue"를 사용해서 제한한다고 나와있던데 아래 샘플 스팟수식은 선물신호발생시 미니선물 거래하는 예제입니다. 당일 스팟 진입청산을 3회로 제한하고 싶습니다. 부탁드립니다. ================================================================= function Main_OnStart() { Main.MessageList("시작"); T = 0; } function Chart1_OnRiseSignal(Signal) { if (Signal.signalKind == 1) { T = 1; Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } if (T == 1 && Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (Signal.signalKind == 3) { T = -1; Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (T == -1 && Signal.signalKind == 4) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } } ======================================================================= 답변 부탁드립니다. ~