커뮤니티
감사합니다. For 구문 다시 질문 드려요.
2019-07-15 16:05:55
144
글번호 130342
input : P1(5),P2(10),P3(20),P4(60),P5(120);
input : BBP(20),dv(2),dv2(3);
var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),B(0),S(0),BX(0),SX(0);
Var : BBup(0),BBdn(0),BBup2(0),BBdn2(0);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
mav3 = ma(C,P3);
mav4 = ma(C,P4);
mav5 = ma(C,P5);
BBup = BollBandUp(BBP,dv);
BBdn = BollBandDown(BBP,dv);
BBup2 = BollBandUp(BBP,dv2);
BBdn2 = BollBandDown(BBP,dv2);
if MarketPosition ==0 and H>=BBup and mav5<BBup then
buy("b1");
제가 짜 보고 있는 습작입니다.
내용은, bbup을 돌파했을 때, 120일선이 bbup 아래 있으면 매수한다... 이런 수식입니다.
그런데 5일선부터 5일 단위로,120일선까지 다 일일이 작성하기가 힘들어서
5,10,20,60,120.. 이렇게 5개만 할까 하다가 for 구문을 쓰면 5일 단위로 다 넣을 수 있으니 더 좋을 거 같습니다.
앞서 짜주신 수식에서
if index>=P[2] then... 이런 수식이 들어 있던데요 이 부분이 무슨 의미인지 이해가 안 되어서 좀 더 자세하게 다시 예를 들어 질문 드린 것입니다.
나중에 다른 수식을 짤 때도 이평선을 수십개 일일이 적용할 경우
만들어 주신 수식을 이용해서 응용해 볼 수 있도록 설명 좀 부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2019-07-16 14:21:04
안녕하세요
예스스탁입니다.
input : P1(5),P2(120);
var : cnt(0),BBup(0);
bbup = BollBandUp(20,2);
#봉번호 120이후 부터 계산
if index >= P2 then
{
#초기값은 true
Condition1 = true;
#cnt변수에 5부터 5씩 증가하면서 120까지 값을 저장
for cnt = P1 to P2 step 5
{
#cnt에 값이 저장되면 cnt로 이평을 계산해서 종가와 비교해
#중가가 cnt기간 이평보다 작은 케이스가 나오면 Condition1은 false
if C < ma(C,cnt) Then
Condition1 = false;
}
#최종 Condition1이 true일때만 매수
if MarketPosition <=0 and H>bbup and Condition1 == true Then
buy("b1");
}
index는 차트봉번호입니다.
이평을 P1(5)이평부터 P2(120)이평까지 사용하고
P2(120)이평을 계산하려면 최소 120개봉이 필요합니다.
차트상 120개봉이 만들어 지기 전에 해당 로직을 수행하는 것은
의미가 없으므로 12개봉 이후부터 계산하라고 조건을 지정한 것입니다.
즐거운 하루되세요
> 스피리투스 님이 쓴 글입니다.
> 제목 : 감사합니다. For 구문 다시 질문 드려요.
> input : P1(5),P2(10),P3(20),P4(60),P5(120);
input : BBP(20),dv(2),dv2(3);
var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),B(0),S(0),BX(0),SX(0);
Var : BBup(0),BBdn(0),BBup2(0),BBdn2(0);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
mav3 = ma(C,P3);
mav4 = ma(C,P4);
mav5 = ma(C,P5);
BBup = BollBandUp(BBP,dv);
BBdn = BollBandDown(BBP,dv);
BBup2 = BollBandUp(BBP,dv2);
BBdn2 = BollBandDown(BBP,dv2);
if MarketPosition ==0 and H>=BBup and mav5<BBup then
buy("b1");
제가 짜 보고 있는 습작입니다.
내용은, bbup을 돌파했을 때, 120일선이 bbup 아래 있으면 매수한다... 이런 수식입니다.
그런데 5일선부터 5일 단위로,120일선까지 다 일일이 작성하기가 힘들어서
5,10,20,60,120.. 이렇게 5개만 할까 하다가 for 구문을 쓰면 5일 단위로 다 넣을 수 있으니 더 좋을 거 같습니다.
앞서 짜주신 수식에서
if index>=P[2] then... 이런 수식이 들어 있던데요 이 부분이 무슨 의미인지 이해가 안 되어서 좀 더 자세하게 다시 예를 들어 질문 드린 것입니다.
나중에 다른 수식을 짤 때도 이평선을 수십개 일일이 적용할 경우
만들어 주신 수식을 이용해서 응용해 볼 수 있도록 설명 좀 부탁드립니다.
감사합니다.
다음글
이전글