커뮤니티

작동하지 않아요 --

프로필 이미지
팽구
2015-12-22 14:40:15
117
글번호 93699
답변완료
data1은 20분봉 data2는 주봉으로 유달 1년치 설정해보니 작동하지 않습니다.(거래0회) 여기에서 끝시간은 1주일단위로 마지막시간인 토요일 새벽 5시까지로 되어야함다. ///////////////////////////////////////////// 안녕하세요 예스스탁입니다. 해당식 data2 참조데이터를 이용해 주간시고저종가를 이용하게 변경했습니다. 시간관련해서는 사용자분이 끝시간을 지정하셔야 합니다. 원본식도 단순 15시까지 진입한다는 내용입니다. 외부변수로 추리해 드립니다. input : s1(0.48), s2(2.7),끝시간(050000); var : HH(0,data2),LL(0,data2),CC(0,data2),OO(0,data2); var : H1(0,data2),L1(0,data2),C1(0,data2),O1(0,data2); var : V1(0,data2),V2(0,data2),V3(0,data2),V4(0,data2),V10(0,data2); var : ATRV(0,data2),X(0,data1),Cond1(false,data1),cond2(false,data1); var : H2(0,data1),L2(0,data1),Tcond(false,data1); if data2(DayOfWeek(sdate)< DayOfWeek(sdate[1])) Then{ OO = data2(O); HH = data2(H); LL = data2(L); O1 = OO[1]; H1 = HH[1]; L1 = LL[1]; C1 = CC[1]; X = 0; } if data2(H) > HH Then HH = data2(H); if data2(L) < LL Then LL = data2(L); CC = data2(C); V1 = H1; V2 = C1; V3 = L1; V4 = C1; ATRV = data2(ATR(20)); //패턴설정 If abs(V1-v4)>=abs(V2-v3) then //전일고가와 종가폭이 전일저가와 종가폭보다 크면 V10=abs(V1-v4); Else V10=abs(V2-v3); if TotalTrades > TotalTrades[1] and MarketPosition(1) == 1 Then X = 1; if TotalTrades > TotalTrades[1] and MarketPosition(1) == -1 Then X = -1; cond1 = X == 1 ; cond2 = X == -1 ; if Bdate != Bdate[1] Then Tcond = true; if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then Tcond = false; If Tcond == true then { If cond1 == False and MarketPosition <> 1 and data2(C) >= OO+V10*S1 then { buy("매수",AtMarket);//지정가 상향돌파시 매수 } If cond2 == False and MarketPosition <> -1 and data2(C) <= OO-V10*S1 then { sell("매도",AtMarket);//지정가 하향돌파시 매도 } } H2 = data2(H); L2 = data2(L); //청산 If marketposition<>0 then { if data2(c) <= highest(H2,BarsSinceEntry+1)-atrv*s2 Then exitlong("매수청산",AtMarket); if data2(c) >= Lowest(L2,BarsSinceEntry+1)+atrv*s2 Then exitshort("매도청산",AtMarket); } 즐거운 하루되세요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-12-23 09:43:02

안녕하세요 예스스탁입니다. 식을 수정했습니다. 내용을 잘못파악했습니다. 매수선과 매도선 보실수 있는 지표식도 같이 올려드립니다. 1. 시스템 input : s1(0.48), s2(2.7),끝시간(050000); var : V1(0,data2),V2(0,data2),V3(0,data2),V4(0,data2),V10(0,data2); var : H2(0,data1),L2(0,data1),Tcond(false),OO(0,data1); var : ATRV(0,data2),X(0,data1),Cond1(false,data1),cond2(false,data1); if data1(DayOfWeek(bdate) < DayOfWeek(bdate[1])) Then{ OO = O; Tcond = true; X = 0; } if data1(DayOfWeek(bdate) == 5 and (stime == 050000 or (stime > 050000 and stime[1] < 050000))) Then{ Tcond = false; ExitLong("bx"); ExitShort("sx"); } V1 = data2(H); V2 = data2(C); V3 = data2(L); V4 = data2(C); ATRV = data2(ATR(20)); //패턴설정 If abs(V1-v4)>=abs(V2-v3) then //전일고가와 종가폭이 전일저가와 종가폭보다 크면 V10=abs(V1-v4); Else V10=abs(V2-v3); if TotalTrades > TotalTrades[1] and MarketPosition(1) == 1 Then X = 1; if TotalTrades > TotalTrades[1] and MarketPosition(1) == -1 Then X = -1; cond1 = X == 1 ; cond2 = X == -1 ; If Tcond == true then { If cond1 == False and MarketPosition <> 1 and C >= OO+V10*S1 then { buy("매수",AtMarket);//지정가 상향돌파시 매수 } If cond2 == False and MarketPosition <> -1 and C <= OO-V10*S1 then { sell("매도",AtMarket);//지정가 하향돌파시 매도 } } H2 = data2(H); L2 = data2(L); //청산 If marketposition<>0 then { if data2(c) <= data1(highest(H2,BarsSinceEntry+1))-atrv*s2 Then exitlong("매수청산",AtMarket); if data2(c) >= data1(Lowest(L2,BarsSinceEntry+1))+atrv*s2 Then exitshort("매도청산",AtMarket); } 2 지표 input : s1(0.48), s2(2.7),끝시간(050000); var : V1(0,data2),V2(0,data2),V3(0,data2),V4(0,data2),V10(0,data2); var : H2(0,data1),L2(0,data1),Tcond(false),OO(0,data1); var : ATRV(0,data2),X(0,data1),Cond1(false,data1),cond2(false,data1); if data1(DayOfWeek(bdate) < DayOfWeek(bdate[1])) Then{ OO = data1(O); Tcond = true; X = 0; } if data1(DayOfWeek(bdate) == 5 and (stime == 050000 or (stime > 050000 and stime[1] < 050000))) Then{ Tcond = false; } V1 = data2(H); V2 = data2(C); V3 = data2(L); V4 = data2(C); ATRV = data2(ATR(20)); //패턴설정 If abs(V1-v4)>=abs(V2-v3) then //전일고가와 종가폭이 전일저가와 종가폭보다 크면 V10=abs(V1-v4); Else V10=abs(V2-v3); plot1(OO+V10*S1,"매수선"); plot2(OO-V10*S1,"매도선"); 즐거운 하루되세요 > 팽구 님이 쓴 글입니다. > 제목 : 작동하지 않아요 -- > data1은 20분봉 data2는 주봉으로 유달 1년치 설정해보니 작동하지 않습니다.(거래0회) 여기에서 끝시간은 1주일단위로 마지막시간인 토요일 새벽 5시까지로 되어야함다. ///////////////////////////////////////////// 안녕하세요 예스스탁입니다. 해당식 data2 참조데이터를 이용해 주간시고저종가를 이용하게 변경했습니다. 시간관련해서는 사용자분이 끝시간을 지정하셔야 합니다. 원본식도 단순 15시까지 진입한다는 내용입니다. 외부변수로 추리해 드립니다. input : s1(0.48), s2(2.7),끝시간(050000); var : HH(0,data2),LL(0,data2),CC(0,data2),OO(0,data2); var : H1(0,data2),L1(0,data2),C1(0,data2),O1(0,data2); var : V1(0,data2),V2(0,data2),V3(0,data2),V4(0,data2),V10(0,data2); var : ATRV(0,data2),X(0,data1),Cond1(false,data1),cond2(false,data1); var : H2(0,data1),L2(0,data1),Tcond(false,data1); if data2(DayOfWeek(sdate)< DayOfWeek(sdate[1])) Then{ OO = data2(O); HH = data2(H); LL = data2(L); O1 = OO[1]; H1 = HH[1]; L1 = LL[1]; C1 = CC[1]; X = 0; } if data2(H) > HH Then HH = data2(H); if data2(L) < LL Then LL = data2(L); CC = data2(C); V1 = H1; V2 = C1; V3 = L1; V4 = C1; ATRV = data2(ATR(20)); //패턴설정 If abs(V1-v4)>=abs(V2-v3) then //전일고가와 종가폭이 전일저가와 종가폭보다 크면 V10=abs(V1-v4); Else V10=abs(V2-v3); if TotalTrades > TotalTrades[1] and MarketPosition(1) == 1 Then X = 1; if TotalTrades > TotalTrades[1] and MarketPosition(1) == -1 Then X = -1; cond1 = X == 1 ; cond2 = X == -1 ; if Bdate != Bdate[1] Then Tcond = true; if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then Tcond = false; If Tcond == true then { If cond1 == False and MarketPosition <> 1 and data2(C) >= OO+V10*S1 then { buy("매수",AtMarket);//지정가 상향돌파시 매수 } If cond2 == False and MarketPosition <> -1 and data2(C) <= OO-V10*S1 then { sell("매도",AtMarket);//지정가 하향돌파시 매도 } } H2 = data2(H); L2 = data2(L); //청산 If marketposition<>0 then { if data2(c) <= highest(H2,BarsSinceEntry+1)-atrv*s2 Then exitlong("매수청산",AtMarket); if data2(c) >= Lowest(L2,BarsSinceEntry+1)+atrv*s2 Then exitshort("매도청산",AtMarket); } 즐거운 하루되세요