답변완료
질문 부탁드립니다
For 문 관련해서 반복 특성에 대해서 궁금한데요
아래 같은 수식의 for 문에서
if h>l*1.08 Then
{
TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999);
For cnt = 49 DownTo 1
{
ii[cnt] = ii[cnt-1];
}
ii[0] = Index;
if ii[1] > 0 and ii[0] >= ii[1]+5 then
{
if (ii[1] >= ii[2]+5 and ii[2] > 0) or ii[2] == 0 Then
{
StartBarIndex = ii[1];
}
Else
{
if ii[1] < ii[2]+5 and ii[2]>0 and ii[3] ==0 Then
{
startbarindex = ii[2];
}
StartBarIndex = 0;
For cnt = 1 to 49
{
if ii[cnt] >= ii[cnt+1]+5 and ii[cnt+1] > 0 Then
{
StartBarIndex = ii[cnt+1];
}
}
}
만약 cnt값이 3 일때 조건이 true 라면 거기서 for loop 이 중단되고 startbarindex 에 ii[4] 가 들어가는게 맞죠?
그런데
var1 = Index;
var2 = var1[1];
var3 = H;
value1 = 0;
Value2 = 0;
for cnt = 1 to (var1-var2)-1
{
if h[cnt] > var3 Then
{
value1 = value1 + H[cnt];
Value2 = Value2 + 1;
}
}
if Value2 >= 3 Then
value3 = value1/Value2;
Else
Value3 = 0;
이럴때는 var3 보다 큰 고가값을 찾으면 중단되는게 아니라 루프 횟수가 끝날때까지 계속 탐색을 하는데
위의 경우와 이 경우의 차이가 뭔지 헷갈립니다
***그리고 이 식에서 가장 처음 조건을 만족하는 h값은 h[1] 을 변수에 저장하면 되는데, 가장 마지막에 만족하는 h값을 찾으려면 어떻게 해야할까요??
답변 부탁드립니다
감사합니다
2025-01-03
480
글번호 186836
지표
답변완료
지표 질문입니다
Input : Period(20), MultiD(2);
var : MAv(0),BBup(0),BBdn(0);
MAv = ma(C,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
if MAv[1]>MAv[2] and MAv<MAv[1] Then
var1=MAv[1];
if MAv[1]<MAv[2] and MAv>MAv[1] Then
var2=MAv[1];
if BBdn[1]>BBdn[2] and BBdn<BBdn[1] Then
var3=BBdn[1];
if BBup[1]<BBup[2] and BBup>BBup[1] Then
var4=BBup[1];
var1의 당일 최고치를 표시한다
var2의 당일 최저치를 표시한다
var3의 당일 최고치를 표시한다
var4의 당일 최저치를 표시한다
감사합니다
2025-01-03
546
글번호 186834
지표
답변완료
종목 검색 부탁드립니다.
선행1=(highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4;
선행2=(highest(high,52)+lowest(low,52))/2;
거래=V>V(1)*10;
최종=sum(거래,20)>0 &&
Crossup(H,Max(선행1(25),선행2(25)));
최종&&!최종(1)
종목 검색식 부탁드립니다
2025-01-02
530
글번호 186833
종목검색
답변완료
질문 드리겠습니다
몇 가지 질문 부탁드립니다
질문1)
현재봉과 직전봉을 비교해서
직전봉이 현재봉보다 크다면 그 값을 현재봉에 나타내고,
그렇지 않다면 그냥 현재봉값을 그대로 유지하게 하려는 조건을 만들고자 합니다
아래처럼 작성하면 문제가 생기는데요
예를들어서
차트상에서 2봉전 값이 10, 1봉전이 5 , 0봉이 8 이라고 한다면
원하는 바에 따르면 2봉전이 1봉보다 크므로 1봉전에는 10의 값을 나타내야되고, 0봉은 1봉전보다 (차트상에서) 크기때문에
0봉 값 8이 그대로 출력이 되어야하는데
아래처럼 작성하면
2봉전 값이 1봉으로 대입되면서 0봉보다 더 크기 때문에 계속 10이 유지가 됩니다
혹시 비교를 한다음에 차트상의 값으로 리셋을 하거나 변수를 이용해서 새로운 봉이 나오면 다시 비교하는 방식이 구현 가능한가요?
제가 원하는건
2봉전: 10,
1봉전 : 10,
0 봉: 8 이런식으로 나오게 하고싶습니다
var: cnt(0), sum1(0), sumi(0),sumsqrt(0),t(0),stand(0);
var : sum2(0),sumi2(0),avg2(0);
array: ii[50](0),aa[50](0);
if h>l*1.08 Then
{
TL_NEW(sDatE,sTimE,h*1.15,sDatE,sTimE,99999);
For cnt = 49 DownTo 1
{
aa[cnt] = aa[cnt-1];
}
aa[0] = h;
if aa[1]>aa[0] and aa[1]>0 Then
{
aa[0]=aa[1];
}
Plot11(aa[0],"aa",Orange,Def,1);
}
질문2) 수식을 하나 부탁드립니다
0봉 조건만족봉의 값 (aa[0]) 과 전봉들 값을 순차적으로 더해서 평균을 냈을때 0봉 보다 값이 클때 0봉에 그 값을 표시를 하고 싶습니다
예를들어서
먼저 0봉과 전봉의 평균을 (0봉+전봉의 평균) 내서 0봉보다 크면, 그값을 0봉에 출력하고
그렇지 않다면
전전봉까지 더해서 평균을 내고 (0봉+전봉+전전봉의 평균) 0봉의 값과 비교해서 크면 0봉에 출력하고 loop 를 끝내는 식을 만들고 싶습니다
var : cnt(0), sum1(0), sumi(0);
var : t(0),StartBarIndex(0);
Array : ii[50](0),aa[50](0);
if h>l*1.08 Then
{
TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999);
var1=Index;
Var2=var1[1];
For cnt = 49 DownTo 1
{
aa[cnt] = aa[cnt-1];
}
aa[0] = h;
For cnt = 49 DownTo 1
{
ii[cnt] = ii[cnt-1];
}
ii[0] = Index;
For cnt = 1 to 49
{
sum1=sum1+aa[cnt];
sumi=sumi+1;
}
value1=sum1/sumi;
}
감사합니다
2025-01-03
495
글번호 186828
지표