커뮤니티

수식 검토 부탁드립니다

프로필 이미지
뽄때
2017-05-31 23:35:34
103
글번호 110013
답변완료
수식검토를 부탁드립니다. 매수조건는 완성캔들이 밴드하단선에 밑에 위치하면 즉 하향돌파를 하던, 아니면 겝하락하여 종가캔들이 밴드하단선 이하에서 끝나면 일단 1차 조건 완성.... 이후에 캔들이 5일 이동평균선을 통과하면(또는 겝으로 떠서 5일 이평선 위에서 끝날때) 매수하는 방법입니다. 현재 수식을 적용해 보니, 1차 조건이 완성되지도 않았는데 5일 이평선만 통과하면 무조건 매수가 되고 있습니다. 즉 항상 볼린져밴드 하단을 이탈한 이후에 캔들이 5일 이평선을 통과해야 매수하는 조건식을 만들고 싶습니다. =================================================================================== input : 시작일(20170415), P(20),dv(2),sto1(25),sto2(6),sto3(6),MAP(5),금액(2100000),N(21); var : BBup(0),BBdn(0),BBMid(0),stok(0),stoD(0),BuySetup(true),ExitSetup1(false),Xcond(false),mav(0),Dncnt(0); # 5일 이평선 mav = ma(C,MAP); # 볼린져밴드 BBup = BollBandUp(P,dv); BBMid = ma(C,P); BBdn = BollBandDown(P,dv); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); # 캔들이 하단밴드를 하향 이탈 또는 겝으로 출발하여 밴드하단선 이하에 종료될때 buysetup = true if c < BBdn Then{ BuySetup = true; } # buysetup = true가 발생된 이후에 캔들이 5일 이평선을 통과매면 매수 if BuySetup = true and crossup(C,mav) and MarketPosition == 0 Then buy("매수",OnClose,def, Floor(금액/C)); # 매도전략 if MarketPosition == 1 Then{ If Crossup(C,BBup) Then ExitLong("상단매도",OnClose,def); If CrossDown(C,BBMid) Then ExitLong("중심선이탈",OnClose,def); # ExitLong("상단매도",atlimit,BBup); # ExitLong("목표수익",atlimit,EntryPrice*1.93); # ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.95); # if CrossDown(C,BBdn) Then ExitLong("하단이탈"); } Else{ ExitSetup1 = false; } # SetStopLoss(7,PercentStop);
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2017-06-01 13:34:44

안녕하세요 예스스탁입니다. 변수에 값저장은 = 비교에서 같다라는 표현은 == 입니다. 기존수식은 if문에 BuySetup = true와 같이 처리되어 있습니다. 또한 현재 수식은 차트 전체상 종가가 하단밴드보다 낮은 봉이 발생하면 그후로는 계속 BuySetup가 true입니다. false가 될수 있는 조건을 지정하셔야 합니다. 아래식에는 종가가 하단밴드 아래이면 BuySetup에 true, 위면 false가 저장되게 했습니다. input : 시작일(20170415), P(20),dv(2),sto1(25),sto2(6),sto3(6),MAP(5),금액(2100000),N(21); var : BBup(0),BBdn(0),BBMid(0),stok(0),stoD(0),BuySetup(true),ExitSetup1(false),Xcond(false),mav(0),Dncnt(0); # 5일 이평선 mav = ma(C,MAP); # 볼린져밴드 BBup = BollBandUp(P,dv); BBMid = ma(C,P); BBdn = BollBandDown(P,dv); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); # 캔들이 하단밴드를 하향 이탈 또는 겝으로 출발하여 밴드하단선 이하에 종료될때 buysetup = true if c < BBdn Then BuySetup = true; Else BuySetup = false; # buysetup = true가 발생된 이후에 캔들이 5일 이평선을 통과매면 매수 if BuySetup == true and crossup(C,mav) and MarketPosition == 0 Then buy("매수",OnClose,def, Floor(금액/C)); # 매도전략 if MarketPosition == 1 Then{ If Crossup(C,BBup) Then ExitLong("상단매도",OnClose,def); If CrossDown(C,BBMid) Then ExitLong("중심선이탈",OnClose,def); # ExitLong("상단매도",atlimit,BBup); # ExitLong("목표수익",atlimit,EntryPrice*1.93); # ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.95); # if CrossDown(C,BBdn) Then ExitLong("하단이탈"); } Else{ ExitSetup1 = false; } #SetStopLoss(7,PercentStop); 즐거운 하루되세요 > 뽄때 님이 쓴 글입니다. > 제목 : 수식 검토 부탁드립니다 > 수식검토를 부탁드립니다. 매수조건는 완성캔들이 밴드하단선에 밑에 위치하면 즉 하향돌파를 하던, 아니면 겝하락하여 종가캔들이 밴드하단선 이하에서 끝나면 일단 1차 조건 완성.... 이후에 캔들이 5일 이동평균선을 통과하면(또는 겝으로 떠서 5일 이평선 위에서 끝날때) 매수하는 방법입니다. 현재 수식을 적용해 보니, 1차 조건이 완성되지도 않았는데 5일 이평선만 통과하면 무조건 매수가 되고 있습니다. 즉 항상 볼린져밴드 하단을 이탈한 이후에 캔들이 5일 이평선을 통과해야 매수하는 조건식을 만들고 싶습니다. =================================================================================== input : 시작일(20170415), P(20),dv(2),sto1(25),sto2(6),sto3(6),MAP(5),금액(2100000),N(21); var : BBup(0),BBdn(0),BBMid(0),stok(0),stoD(0),BuySetup(true),ExitSetup1(false),Xcond(false),mav(0),Dncnt(0); # 5일 이평선 mav = ma(C,MAP); # 볼린져밴드 BBup = BollBandUp(P,dv); BBMid = ma(C,P); BBdn = BollBandDown(P,dv); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); # 캔들이 하단밴드를 하향 이탈 또는 겝으로 출발하여 밴드하단선 이하에 종료될때 buysetup = true if c < BBdn Then{ BuySetup = true; } # buysetup = true가 발생된 이후에 캔들이 5일 이평선을 통과매면 매수 if BuySetup = true and crossup(C,mav) and MarketPosition == 0 Then buy("매수",OnClose,def, Floor(금액/C)); # 매도전략 if MarketPosition == 1 Then{ If Crossup(C,BBup) Then ExitLong("상단매도",OnClose,def); If CrossDown(C,BBMid) Then ExitLong("중심선이탈",OnClose,def); # ExitLong("상단매도",atlimit,BBup); # ExitLong("목표수익",atlimit,EntryPrice*1.93); # ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.95); # if CrossDown(C,BBdn) Then ExitLong("하단이탈"); } Else{ ExitSetup1 = false; } # SetStopLoss(7,PercentStop);
프로필 이미지

뽄때

2017-06-01 15:06:40

수식을 종목에 적용해 보니 매수신호가 들어오지 않아요 볼랜져 밴드 하단이탈한 이후에 주가가 5일선을 통과하면 매수신호가 들어와야 하는데 들어오질 않네요 검토 부탁드립니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 검토 부탁드립니다 > 안녕하세요 예스스탁입니다. 변수에 값저장은 = 비교에서 같다라는 표현은 == 입니다. 기존수식은 if문에 BuySetup = true와 같이 처리되어 있습니다. 또한 현재 수식은 차트 전체상 종가가 하단밴드보다 낮은 봉이 발생하면 그후로는 계속 BuySetup가 true입니다. false가 될수 있는 조건을 지정하셔야 합니다. 아래식에는 종가가 하단밴드 아래이면 BuySetup에 true, 위면 false가 저장되게 했습니다. input : 시작일(20170415), P(20),dv(2),sto1(25),sto2(6),sto3(6),MAP(5),금액(2100000),N(21); var : BBup(0),BBdn(0),BBMid(0),stok(0),stoD(0),BuySetup(true),ExitSetup1(false),Xcond(false),mav(0),Dncnt(0); # 5일 이평선 mav = ma(C,MAP); # 볼린져밴드 BBup = BollBandUp(P,dv); BBMid = ma(C,P); BBdn = BollBandDown(P,dv); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); # 캔들이 하단밴드를 하향 이탈 또는 겝으로 출발하여 밴드하단선 이하에 종료될때 buysetup = true if c < BBdn Then BuySetup = true; Else BuySetup = false; # buysetup = true가 발생된 이후에 캔들이 5일 이평선을 통과매면 매수 if BuySetup == true and crossup(C,mav) and MarketPosition == 0 Then buy("매수",OnClose,def, Floor(금액/C)); # 매도전략 if MarketPosition == 1 Then{ If Crossup(C,BBup) Then ExitLong("상단매도",OnClose,def); If CrossDown(C,BBMid) Then ExitLong("중심선이탈",OnClose,def); # ExitLong("상단매도",atlimit,BBup); # ExitLong("목표수익",atlimit,EntryPrice*1.93); # ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.95); # if CrossDown(C,BBdn) Then ExitLong("하단이탈"); } Else{ ExitSetup1 = false; } #SetStopLoss(7,PercentStop); 즐거운 하루되세요 > 뽄때 님이 쓴 글입니다. > 제목 : 수식 검토 부탁드립니다 > 수식검토를 부탁드립니다. 매수조건는 완성캔들이 밴드하단선에 밑에 위치하면 즉 하향돌파를 하던, 아니면 겝하락하여 종가캔들이 밴드하단선 이하에서 끝나면 일단 1차 조건 완성.... 이후에 캔들이 5일 이동평균선을 통과하면(또는 겝으로 떠서 5일 이평선 위에서 끝날때) 매수하는 방법입니다. 현재 수식을 적용해 보니, 1차 조건이 완성되지도 않았는데 5일 이평선만 통과하면 무조건 매수가 되고 있습니다. 즉 항상 볼린져밴드 하단을 이탈한 이후에 캔들이 5일 이평선을 통과해야 매수하는 조건식을 만들고 싶습니다. =================================================================================== input : 시작일(20170415), P(20),dv(2),sto1(25),sto2(6),sto3(6),MAP(5),금액(2100000),N(21); var : BBup(0),BBdn(0),BBMid(0),stok(0),stoD(0),BuySetup(true),ExitSetup1(false),Xcond(false),mav(0),Dncnt(0); # 5일 이평선 mav = ma(C,MAP); # 볼린져밴드 BBup = BollBandUp(P,dv); BBMid = ma(C,P); BBdn = BollBandDown(P,dv); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); # 캔들이 하단밴드를 하향 이탈 또는 겝으로 출발하여 밴드하단선 이하에 종료될때 buysetup = true if c < BBdn Then{ BuySetup = true; } # buysetup = true가 발생된 이후에 캔들이 5일 이평선을 통과매면 매수 if BuySetup = true and crossup(C,mav) and MarketPosition == 0 Then buy("매수",OnClose,def, Floor(금액/C)); # 매도전략 if MarketPosition == 1 Then{ If Crossup(C,BBup) Then ExitLong("상단매도",OnClose,def); If CrossDown(C,BBMid) Then ExitLong("중심선이탈",OnClose,def); # ExitLong("상단매도",atlimit,BBup); # ExitLong("목표수익",atlimit,EntryPrice*1.93); # ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.95); # if CrossDown(C,BBdn) Then ExitLong("하단이탈"); } Else{ ExitSetup1 = false; } # SetStopLoss(7,PercentStop);
프로필 이미지

예스스탁 예스스탁 답변

2017-06-01 15:39:25

안녕하세요 예스스탁입니다. if c < BBdn Then BuySetup = true; Else BuySetup = false; 현재 종가상 하단이하이고 이평을 크로스업해야 신호가 발생합니다. 아래 내용 지우시면 됩니다. Else BuySetup = false; 수정한 식입니다. input : 시작일(20170415), P(20),dv(2),sto1(25),sto2(6),sto3(6),MAP(5),금액(2100000),N(21); var : BBup(0),BBdn(0),BBMid(0),stok(0),stoD(0),BuySetup(true),ExitSetup1(false),Xcond(false),mav(0),Dncnt(0); # 5일 이평선 mav = ma(C,MAP); # 볼린져밴드 BBup = BollBandUp(P,dv); BBMid = ma(C,P); BBdn = BollBandDown(P,dv); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); # 캔들이 하단밴드를 하향 이탈 또는 겝으로 출발하여 밴드하단선 이하에 종료될때 buysetup = true if c < BBdn Then BuySetup = true; # buysetup = true가 발생된 이후에 캔들이 5일 이평선을 통과매면 매수 if BuySetup == true and crossup(C,mav) and MarketPosition == 0 Then buy("매수",OnClose,def, 1); # 매도전략 if MarketPosition == 1 Then{ If Crossup(C,BBup) Then ExitLong("상단매도",OnClose,def); If CrossDown(C,BBMid) Then ExitLong("중심선이탈",OnClose,def); # ExitLong("상단매도",atlimit,BBup); # ExitLong("목표수익",atlimit,EntryPrice*1.93); # ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.95); # if CrossDown(C,BBdn) Then ExitLong("하단이탈"); } Else{ ExitSetup1 = false; } 즐거운 하루되세요 > 뽄때 님이 쓴 글입니다. > 제목 : Re : Re : 수식 검토 부탁드립니다 > 수식을 종목에 적용해 보니 매수신호가 들어오지 않아요 볼랜져 밴드 하단이탈한 이후에 주가가 5일선을 통과하면 매수신호가 들어와야 하는데 들어오질 않네요 검토 부탁드립니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 검토 부탁드립니다 > 안녕하세요 예스스탁입니다. 변수에 값저장은 = 비교에서 같다라는 표현은 == 입니다. 기존수식은 if문에 BuySetup = true와 같이 처리되어 있습니다. 또한 현재 수식은 차트 전체상 종가가 하단밴드보다 낮은 봉이 발생하면 그후로는 계속 BuySetup가 true입니다. false가 될수 있는 조건을 지정하셔야 합니다. 아래식에는 종가가 하단밴드 아래이면 BuySetup에 true, 위면 false가 저장되게 했습니다. input : 시작일(20170415), P(20),dv(2),sto1(25),sto2(6),sto3(6),MAP(5),금액(2100000),N(21); var : BBup(0),BBdn(0),BBMid(0),stok(0),stoD(0),BuySetup(true),ExitSetup1(false),Xcond(false),mav(0),Dncnt(0); # 5일 이평선 mav = ma(C,MAP); # 볼린져밴드 BBup = BollBandUp(P,dv); BBMid = ma(C,P); BBdn = BollBandDown(P,dv); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); # 캔들이 하단밴드를 하향 이탈 또는 겝으로 출발하여 밴드하단선 이하에 종료될때 buysetup = true if c < BBdn Then BuySetup = true; Else BuySetup = false; # buysetup = true가 발생된 이후에 캔들이 5일 이평선을 통과매면 매수 if BuySetup == true and crossup(C,mav) and MarketPosition == 0 Then buy("매수",OnClose,def, Floor(금액/C)); # 매도전략 if MarketPosition == 1 Then{ If Crossup(C,BBup) Then ExitLong("상단매도",OnClose,def); If CrossDown(C,BBMid) Then ExitLong("중심선이탈",OnClose,def); # ExitLong("상단매도",atlimit,BBup); # ExitLong("목표수익",atlimit,EntryPrice*1.93); # ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.95); # if CrossDown(C,BBdn) Then ExitLong("하단이탈"); } Else{ ExitSetup1 = false; } #SetStopLoss(7,PercentStop); 즐거운 하루되세요 > 뽄때 님이 쓴 글입니다. > 제목 : 수식 검토 부탁드립니다 > 수식검토를 부탁드립니다. 매수조건는 완성캔들이 밴드하단선에 밑에 위치하면 즉 하향돌파를 하던, 아니면 겝하락하여 종가캔들이 밴드하단선 이하에서 끝나면 일단 1차 조건 완성.... 이후에 캔들이 5일 이동평균선을 통과하면(또는 겝으로 떠서 5일 이평선 위에서 끝날때) 매수하는 방법입니다. 현재 수식을 적용해 보니, 1차 조건이 완성되지도 않았는데 5일 이평선만 통과하면 무조건 매수가 되고 있습니다. 즉 항상 볼린져밴드 하단을 이탈한 이후에 캔들이 5일 이평선을 통과해야 매수하는 조건식을 만들고 싶습니다. =================================================================================== input : 시작일(20170415), P(20),dv(2),sto1(25),sto2(6),sto3(6),MAP(5),금액(2100000),N(21); var : BBup(0),BBdn(0),BBMid(0),stok(0),stoD(0),BuySetup(true),ExitSetup1(false),Xcond(false),mav(0),Dncnt(0); # 5일 이평선 mav = ma(C,MAP); # 볼린져밴드 BBup = BollBandUp(P,dv); BBMid = ma(C,P); BBdn = BollBandDown(P,dv); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); # 캔들이 하단밴드를 하향 이탈 또는 겝으로 출발하여 밴드하단선 이하에 종료될때 buysetup = true if c < BBdn Then{ BuySetup = true; } # buysetup = true가 발생된 이후에 캔들이 5일 이평선을 통과매면 매수 if BuySetup = true and crossup(C,mav) and MarketPosition == 0 Then buy("매수",OnClose,def, Floor(금액/C)); # 매도전략 if MarketPosition == 1 Then{ If Crossup(C,BBup) Then ExitLong("상단매도",OnClose,def); If CrossDown(C,BBMid) Then ExitLong("중심선이탈",OnClose,def); # ExitLong("상단매도",atlimit,BBup); # ExitLong("목표수익",atlimit,EntryPrice*1.93); # ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.95); # if CrossDown(C,BBdn) Then ExitLong("하단이탈"); } Else{ ExitSetup1 = false; } # SetStopLoss(7,PercentStop);