커뮤니티

문의드립니다.

프로필 이미지
비류천
2014-02-14 00:05:52
171
글번호 72532
답변완료
연결선물지수 : 90틱 사용지표(맨밑에참고)--------------- 호가잔량(3) -> 하이투자증권 지표 그대로 사용 기본지표(1.5,20) 신호지표1(25,55,45,0,20) 신호지표2(28,56,48,0,21) 신호지표3(40,80,60,0,30) ---------------- #각 수식 문구에 주석 넣어 주시면 감사하겠습니다. 수정을 위해서요.# *진입신호 1.매수진입 신호지표1~3 중 골드크로스(SIG가 STD를 상향돌파) 때 호가잔량(매도<매수)과 기본지표(SIG>STD)는 골드상태이면 매수 2.매도진입 신호지표1~3 중 데드크로스(SIG가 STD를 하향돌파) 때 호가잔량(매도>매수)과 기본지표(SIG<STD)는 데드상태이면 매도 3.장시작후 첫봉으로 매수,매도 진입 (첫봉에서만 해당) 장시작후 첫봉 완성후 1)매수진입 호가잔량 매수>매도 and 기본지표 SIG>STD and (신호지표1~3 중 하나라도 SIG>STD)일때 매수 1)매도진입 호가잔량 매수<매도 and 기본지표 SIG<STD and (신호지표1~3 중 하나라도 SIG<STD)일때 매도 4.진입횟수는 하루 4번으로 제한 5.청산 누계로 손실 1.5p 이상이면 당일 매매 스톱 6.첫번째 청산과 두번째 청산이 연속 손실이면 당일 매매 스톱 *청산 1.청산 1)신호지표2가 진입신호 반대로 크로스날때 청산 (매수청산: 신호지표2 SIG가 STD 하향돌파시, 매도청산: 신호지표2 SIG가 STD 상향돌파시) 2)신호지표1 or 3으로 진입한 경우 (위항목의 1번청산 조건으로 청산 안된 경우) -.매수청산 신호지표 1 or 3 로 매수(SIG가STD상향돌파) 진입한후 데드크로스(SIG가STD하향돌파) 났는데도 신호지표 2 가 SIG<STD 데드상태면 신호지표 1 or 3 데드크로스(SIG가STD하향돌파)로 청산 -.매도청산 신호지표 1 or 3 로 매도(SIG가STD하향돌파) 진입한후 골드크로스(SIG가STD상향돌파) 났는데도 신호지표 2 가 SIG>STD 골드상태면 신호지표 1 or 3 골드크로스(SIG가STD하향돌파)로 청산 2.기타 수익고점대비 -0.6p 이면 청산 손절 : 2p 신호마감시간: 144800 당일청산시간: 150310 만기일청산시간: 142800 *사용자지표 수식 #기본지표(1.5,20)--------------------------- input : Atime(1.5),P1(20); var : cnt(0),count(0),sum1(0),mav1(0); Array : CC[100](0); var1 = TimeToMinutes(stime)%Atime; if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{ for cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; sum1 = 0; for count = 0 to P1-1{ sum1 = sum1+CC[count]; } mav1 = sum1/P1; plot1(mav1, "STD"); plot2(c, "SIG"); ----------------------------------------------- #신호지표1------------------------------------- INPUTS: R(28), S(56), U(48), ZEROLINE(0), SMTHLEN(21); var : TSIv(0),TSIS(0); TSIv = TSI(C, R, S, U); TSIs = Ema(TSI(C, R, S, U), SMTHLEN); if TSIv > TSIv[1] Then Plot1(TSIv,"SIG"); Else Plot1(TSIv,"SIG"); if TSIs > TSIs[1] Then Plot2(TSIs,"STD"); Else Plot2(TSIs,"STD"); PlotBaseLine1(0,"기준선"); ----------------------------------------------- #신호지표2------------------------------------- INPUTS: R(25), S(55), U(45), ZEROLINE(0), SMTHLEN(20); var : TSIv(0),TSIS(0); TSIv = TSI(C, R, S, U); TSIs = Ema(TSI(C, R, S, U), SMTHLEN); if TSIv > TSIv[1] Then Plot1(TSIv,"SIG"); Else Plot1(TSIv,"SIG"); if TSIs > TSIs[1] Then Plot2(TSIs,"STD"); Else Plot2(TSIs,"STD"); PlotBaseLine1(0,"기준선"); ----------------------------------------------- #신호지표3------------------------------------- INPUTS: R(40), S(80), U(60), ZEROLINE(0), SMTHLEN(30); var : TSIv(0),TSIS(0); TSIv = TSI(C, R, S, U); TSIs = Ema(TSI(C, R, S, U), SMTHLEN); if TSIv > TSIv[1] Then Plot1(TSIv,"SIG"); Else Plot1(TSIv,"SIG"); if TSIs > TSIs[1] Then Plot2(TSIs,"STD"); Else Plot2(TSIs,"STD"); PlotBaseLine1(0,"기준선"); -----------------------------------------------
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-02-14 10:38:08

안녕하세요 예스스탁입니다. #기본지표 input : Atime(1.5),P1(20); var : cnt(0),count(0),sum1(0),mav1(0),daycount(0); Array : CC[100](0); var1 = TimeToMinutes(stime)%Atime; if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{ for cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; sum1 = 0; for count = 0 to P1-1{ sum1 = sum1+CC[count]; } mav1 = sum1/P1;//std #신호지표1 INPUTS: R1(28), S1(56), U1(48), ZEROLINE1(0), SMTHLEN1(21); var : TSIv1(0),TSIS1(0); TSIv1 = TSI(C, R1, S1, U1); #SIG TSIs1 = Ema(TSI(C, R1, S1, U1), SMTHLEN1); #STD #신호지표2 INPUTS: R2(25), S2(55), U2(45), ZEROLINE2(0), SMTHLEN2(20); var : TSIv2(0),TSIS2(0); TSIv2 = TSI(C, R2, S2, U2); #SIG TSIs2 = Ema(TSI(C, R2, S2, U2), SMTHLEN2); #STD #신호지표3 INPUTS: R3(40), S3(80), U3(60), ZEROLINE3(0), SMTHLEN3(30); var : TSIv3(0),TSIS3(0); TSIv3 = TSI(C, R3, S3, U3); #SIG TSIs3 = Ema(TSI(C, R3, S3, U3), SMTHLEN3); #STD #호가잔량이평 Input : Period(3); var : AsksMA(0),BidsMA(0); BidsMa = ma(bids,Period); AsksMA = ma(asks,Period); #당일진입횟수 daycount = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then daycount = daycount+1; } if date != date[1] Then Condition1 = false; # 첫번째 진입 손실 후 두번째 진입의 최종 수익/손실여부 체크 if MarketPosition != 0 and daycount == 2 and PositionProfit(1) < 0 Then{ if (MarketPosition == 1 and C > EntryPrice) or (MarketPosition == -1 and C < EntryPrice) Then Condition1 = true; Else Condition1 = False; } # 일간 손익 var : NP(0),PreNP(0),dayPL(0); NP = NetProfit; if date != date[1] Then PreNP = NP[1]; DayPL = (NP - PreNP)+PositionProfit; if daycount < 4 and Condition1 == false and stime < 144800 then{ #신호지표1이 첫봉에서 SIG가 STD보다 크거나 두번째 봉부터 골드크로스 발생 if ((dayindex == 0 and TSIv1 > TSIs1) or (dayindex > 0 and crossup(TSIv1,TSIs1))) And BidsMa > AsksMA and #매수 > 매도 c > mav1 Then{ #종가 > 이평 if dayPL > -1.5 Then #현재까지 당일손익이 -1.5이상이면 진입 아니면 청산만 buy("b1"); Else{ ExitShort(); } } #신호지표2이 첫봉에서 SIG가 STD보다 크거나 두번째 봉부터 골드크로스 발생 if ((dayindex == 0 and TSIv2 > TSIs2) or (dayindex > 0 and crossup(TSIv2,TSIs2))) And BidsMa > AsksMA and c > mav1 Then{ if dayPL > -1.5 Then buy("b2"); Else ExitShort(); } #신호지표3이 첫봉에서 SIG가 STD보다 크거나 두번째 봉부터 골드크로스 발생 if ((dayindex == 0 and TSIv3 > TSIs3) or (dayindex > 0 and crossup(TSIv3,TSIs3))) And BidsMa > AsksMA and c > mav1 Then{ if dayPL > -1.5 Then buy("b3"); Else ExitShort(); } #신호지표1이 첫봉에서 SIG가 STD보다 작거나 두번째 봉부터 데드크로스 발생 if ((dayindex == 0 and TSIv1 < TSIs1) or (dayindex > 0 and CrossDown(TSIv1,TSIs1))) And BidsMa < AsksMA and c < mav1 Then{ if dayPL > -1.5 Then#현재까지 당일손익이 -1.5이상이면 진입 아니면 청산만 sell("S1"); Else ExitLong(); } #신호지표3이 첫봉에서 SIG가 STD보다 작거나 두번째 봉부터 데드크로스 발생 if ((dayindex == 0 and TSIv2 < TSIs2) or (dayindex > 0 and CrossDown(TSIv2,TSIs2))) And BidsMa < AsksMA and c < mav1 Then{ if dayPL > -1.5 Then sell("S2"); Else ExitLong(); } #신호지표3이 첫봉에서 SIG가 STD보다 작거나 두번째 봉부터 데드크로스 발생 if ((dayindex == 0 and TSIv3 < TSIs3) or (dayindex > 0 and CrossDown(TSIv3,TSIs3))) And BidsMa < AsksMA and c < mav1 Then{ if dayPL > -1.5 Then sell("S3"); Else ExitLong(); } } if MarketPosition == 1 Then{ #진입이후 최고가 대비 0.6 하락하면 청산 ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-0.6); #신호지표2 데드크로스 청산 if CrossDown(TSIv2,TSIs2) Then ExitLong(); if (IsEntryName("B1") == true or IsEntryName("B3") == true) and #b1이나 b3으로 진입 TSIv2 < TSIV2 and #데드상태 (CrossDown(TSIv1,TSIs1) or CrossDown(TSIv3,TSIs3)) Then #1과 3중 하나 데드 발생하면 청산 ExitLong(); } if MarketPosition == -1 Then{ #진입이후 최저가 대비 0.6상승하면 청산 ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+0.6); #신호지표2 골드크로스면 청산 if CrossUp(TSIv2,TSIs2) Then ExitShort(); if (IsEntryName("S1") == true or IsEntryName("S3") == true) and #s1이나 s3로 진입 TSIv2 > TSIV2 and #골드상태 (CrossUp(TSIv1,TSIs1) or CrossUp(TSIv3,TSIs3)) Then#1과 3중 하나 골드 발생하면 청산 ExitShort(); } #2포인트 손절 SetStopLoss(2,PointStop); #당일청산 var : month(0),nday(0),week(0); month = int(date/100)-int(date/10000)*100; //월 nday = date - int(date/100)*100; //일 week = DayOfWeek(date); //요일 if month%3 == 0 and // 3,6,9,12월이고 nday >= 8 and nday <= 14 and // 8일에서 14일 사이이고 week == 4 then // 목요일 SetStopEndofday(142800); Else SetStopEndofday(150300); 즐거운 하루되세요 > 비류천 님이 쓴 글입니다. > 제목 : 문의드립니다. > 연결선물지수 : 90틱 사용지표(맨밑에참고)--------------- 호가잔량(3) -> 하이투자증권 지표 그대로 사용 기본지표(1.5,20) 신호지표1(25,55,45,0,20) 신호지표2(28,56,48,0,21) 신호지표3(40,80,60,0,30) ---------------- #각 수식 문구에 주석 넣어 주시면 감사하겠습니다. 수정을 위해서요.# *진입신호 1.매수진입 신호지표1~3 중 골드크로스(SIG가 STD를 상향돌파) 때 호가잔량(매도<매수)과 기본지표(SIG>STD)는 골드상태이면 매수 2.매도진입 신호지표1~3 중 데드크로스(SIG가 STD를 하향돌파) 때 호가잔량(매도>매수)과 기본지표(SIG<STD)는 데드상태이면 매도 3.장시작후 첫봉으로 매수,매도 진입 (첫봉에서만 해당) 장시작후 첫봉 완성후 1)매수진입 호가잔량 매수>매도 and 기본지표 SIG>STD and (신호지표1~3 중 하나라도 SIG>STD)일때 매수 1)매도진입 호가잔량 매수<매도 and 기본지표 SIG<STD and (신호지표1~3 중 하나라도 SIG<STD)일때 매도 4.진입횟수는 하루 4번으로 제한 5.청산 누계로 손실 1.5p 이상이면 당일 매매 스톱 6.첫번째 청산과 두번째 청산이 연속 손실이면 당일 매매 스톱 *청산 1.청산 1)신호지표2가 진입신호 반대로 크로스날때 청산 (매수청산: 신호지표2 SIG가 STD 하향돌파시, 매도청산: 신호지표2 SIG가 STD 상향돌파시) 2)신호지표1 or 3으로 진입한 경우 (위항목의 1번청산 조건으로 청산 안된 경우) -.매수청산 신호지표 1 or 3 로 매수(SIG가STD상향돌파) 진입한후 데드크로스(SIG가STD하향돌파) 났는데도 신호지표 2 가 SIG<STD 데드상태면 신호지표 1 or 3 데드크로스(SIG가STD하향돌파)로 청산 -.매도청산 신호지표 1 or 3 로 매도(SIG가STD하향돌파) 진입한후 골드크로스(SIG가STD상향돌파) 났는데도 신호지표 2 가 SIG>STD 골드상태면 신호지표 1 or 3 골드크로스(SIG가STD하향돌파)로 청산 2.기타 수익고점대비 -0.6p 이면 청산 손절 : 2p 신호마감시간: 144800 당일청산시간: 150310 만기일청산시간: 142800 *사용자지표 수식 #기본지표(1.5,20)--------------------------- input : Atime(1.5),P1(20); var : cnt(0),count(0),sum1(0),mav1(0); Array : CC[100](0); var1 = TimeToMinutes(stime)%Atime; if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{ for cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; sum1 = 0; for count = 0 to P1-1{ sum1 = sum1+CC[count]; } mav1 = sum1/P1; plot1(mav1, "STD"); plot2(c, "SIG"); ----------------------------------------------- #신호지표1------------------------------------- INPUTS: R(28), S(56), U(48), ZEROLINE(0), SMTHLEN(21); var : TSIv(0),TSIS(0); TSIv = TSI(C, R, S, U); TSIs = Ema(TSI(C, R, S, U), SMTHLEN); if TSIv > TSIv[1] Then Plot1(TSIv,"SIG"); Else Plot1(TSIv,"SIG"); if TSIs > TSIs[1] Then Plot2(TSIs,"STD"); Else Plot2(TSIs,"STD"); PlotBaseLine1(0,"기준선"); ----------------------------------------------- #신호지표2------------------------------------- INPUTS: R(25), S(55), U(45), ZEROLINE(0), SMTHLEN(20); var : TSIv(0),TSIS(0); TSIv = TSI(C, R, S, U); TSIs = Ema(TSI(C, R, S, U), SMTHLEN); if TSIv > TSIv[1] Then Plot1(TSIv,"SIG"); Else Plot1(TSIv,"SIG"); if TSIs > TSIs[1] Then Plot2(TSIs,"STD"); Else Plot2(TSIs,"STD"); PlotBaseLine1(0,"기준선"); ----------------------------------------------- #신호지표3------------------------------------- INPUTS: R(40), S(80), U(60), ZEROLINE(0), SMTHLEN(30); var : TSIv(0),TSIS(0); TSIv = TSI(C, R, S, U); TSIs = Ema(TSI(C, R, S, U), SMTHLEN); if TSIv > TSIv[1] Then Plot1(TSIv,"SIG"); Else Plot1(TSIv,"SIG"); if TSIs > TSIs[1] Then Plot2(TSIs,"STD"); Else Plot2(TSIs,"STD"); PlotBaseLine1(0,"기준선"); -----------------------------------------------