커뮤니티
수식 검토 부탁드립니다
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);
다음글
이전글