커뮤니티

문의

프로필 이미지
좌오비우오비
2020-12-08 14:34:22
754
글번호 144526
답변완료
수식이 잘 적용됩니다. 한가지 더 아래 수식을 선물 만기일(3개월)에 적용되게 변경해주세요. 응용이 잘 안되서요. ************************************************************************************ 안녕하세요 예스스탁입니다. 만기청산이 지정한 시간이후의 첫봉에만 신호가 발생하게 수정했습니다. 수식내에 다른 청산이 있으면 해당 청산도 지정한 만기일의 15시 10분 이후에는 나오지 않게 하셔야 합니다. input:이평1(90),이평2(55); var : va1(0),va2(0),va3(0); va2 = date - int(date/100)*100; va3 = DayOfWeek(date); var : v2(0,data2),v3(0,data2); v2 = data2(ma(C,이평1)); v3 = data2(ma(C,이평2)); #만기일이면 if va2 >= 8 and va2 <= 14 and va3 == 4 then { if sTime >= 151000 and sTime[1] < 151000 and marketposition == 1 Then ExitLong("bx만기청산"); if sTime >= 151000 and MarketPosition == 0 and BarsSinceExit(1) == 1 and IsExitName("bx만기청산",1) == true Then { Buy("b"); } } Else #만기일이 아니면 { if stime < 151000 Then { if Bdate == Bdate[1] and crossup(v2,v3) Then buy("이평"); } } ********************************************************************************** 각 변수 true나 false로 조건지정하시면 됩니다. var : va1(0),va2(0),va3(0); var : month(0),nday(0),week(0); var : FutureEx(False),OptionEx(False),WeekOptionEx(False); month = int(date/100)-int(date/10000)*100; nday = date - int(date/100)*100; week = DayOfWeek(date); #선물만기일이면 true 아니면 False FutureEx = month%3 == 0 and nday >= 8 and nday <= 14 and week == 4; #옵션만기일이면 true 아니면 False OptionEx = nday >= 8 and nday <= 14 and week == 4; #Weekly옵션만기일이면 true 아니면 False WeekOptionEx = week == 4 and OptionEx == False;
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-12-08 16:55:24

안녕하세요 예스스탁입니다. input:이평1(90),이평2(55); var : va1(0),va2(0),va3(0); va1 = int(date/100)-int(date/10000)*100; va2 = date - int(date/100)*100; va3 = DayOfWeek(date); var : v2(0,data2),v3(0,data2); v2 = data2(ma(C,이평1)); v3 = data2(ma(C,이평2)); #선물만기일이면 if va1%3 == 0 && va2 >= 8 and va2 <= 14 and va3 == 4 then { if sTime >= 151000 and sTime[1] < 151000 and marketposition == 1 Then ExitLong("bx만기청산"); if sTime >= 151000 and MarketPosition == 0 and BarsSinceExit(1) == 1 and IsExitName("bx만기청산",1) == true Then { Buy("b"); } } Else #선물만기일이 아니면 { if stime < 151000 Then { if Bdate == Bdate[1] and crossup(v2,v3) Then buy("이평"); } } 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 문의 > 수식이 잘 적용됩니다. 한가지 더 아래 수식을 선물 만기일(3개월)에 적용되게 변경해주세요. 응용이 잘 안되서요. ************************************************************************************ 안녕하세요 예스스탁입니다. 만기청산이 지정한 시간이후의 첫봉에만 신호가 발생하게 수정했습니다. 수식내에 다른 청산이 있으면 해당 청산도 지정한 만기일의 15시 10분 이후에는 나오지 않게 하셔야 합니다. input:이평1(90),이평2(55); var : va1(0),va2(0),va3(0); va2 = date - int(date/100)*100; va3 = DayOfWeek(date); var : v2(0,data2),v3(0,data2); v2 = data2(ma(C,이평1)); v3 = data2(ma(C,이평2)); #만기일이면 if va2 >= 8 and va2 <= 14 and va3 == 4 then { if sTime >= 151000 and sTime[1] < 151000 and marketposition == 1 Then ExitLong("bx만기청산"); if sTime >= 151000 and MarketPosition == 0 and BarsSinceExit(1) == 1 and IsExitName("bx만기청산",1) == true Then { Buy("b"); } } Else #만기일이 아니면 { if stime < 151000 Then { if Bdate == Bdate[1] and crossup(v2,v3) Then buy("이평"); } } ********************************************************************************** 각 변수 true나 false로 조건지정하시면 됩니다. var : va1(0),va2(0),va3(0); var : month(0),nday(0),week(0); var : FutureEx(False),OptionEx(False),WeekOptionEx(False); month = int(date/100)-int(date/10000)*100; nday = date - int(date/100)*100; week = DayOfWeek(date); #선물만기일이면 true 아니면 False FutureEx = month%3 == 0 and nday >= 8 and nday <= 14 and week == 4; #옵션만기일이면 true 아니면 False OptionEx = nday >= 8 and nday <= 14 and week == 4; #Weekly옵션만기일이면 true 아니면 False WeekOptionEx = week == 4 and OptionEx == False;