답변완료
수식변환요청
항상 수고 많으십니다
아래수식 변환 부탁드립니다
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
전환 = (highest(high,9)+lowest(low,9))/2;
기준 = (highest(high,26)+lowest(low,26))/2;
선행1 = (highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4;
선행2 =(highest(high,52)+lowest(low,52))/2;
A = (crossup(선행1 ,선행2) OR (선행1>선행2 && CROSSUP(C,선행1))) && 전환>기준 && C>O &&V(1)*2<V;
AA=Valuewhen(1,A,선행1);
CrossUp(C,AA)
2025-02-13
405
글번호 188132
종목검색
답변완료
문의 드립니다.
선생님~ 아래의 수식이 atr 값을 퍼센트(%)로 변화 시킨거 잖아요~
퍼센트로 변환 시키지 않은 atr 값을 구하는 수식으로 좀 바꿔 주세요~
atr의 기간값은 36 이고 시그널선은 36일 단순이동평균 입니다.
볼리저 밴드의 기간값은 36으로 표준편차는 2 로 해서요~
색깔은 필요없어요~
정리하면 순수 atr 값 (36) 에 시그널선은 36 단순이동 평균선
볼린저 밴드 (36) 에 표준 편차는 2 입니다.
input : useAtrAsPercent(1);#1:ATR기준 볼밴, 2:ATR비율기준 볼밴
input : ATRPeriods(22);
input : showBollingerBands(1); #1:볼밴표시, 2:표시안함
input : BBPeriods(20);
input : StdDev(2);
var : A(0),atrPercent(0),middle(0),dev(0),top(0),bottom(0);
A = atr(ATRPeriods);
atrPercent = (A/close) * 100;
if useAtrAsPercent == 1 Then
{
middle = ma(atrPercent,BBPeriods);
dev = std(atrPercent,BBPeriods);
top = middle + dev;
bottom = middle - dev;
}
Else
{
middle = ma(A,BBPeriods);
dev = std(A,BBPeriods);
top = middle + dev;
bottom = middle - dev;
}
plot1(iff(useAtrAsPercent,atrPercent,A),"ATR/Percent");
if showBollingerBands == 1 Then
{
plot2(top, "Top",red);
plot3(bottom, "Bottom",green);
plot4(middle, "Middle",purple);
}
2025-02-13
393
글번호 188128
지표
답변완료
수식좀 요청 드립니다.
* 안녕하세요^^
* 아래 수식 추가좀 요청 드립니다.
ㅇ 요청사항
1. 중심선이 2개 나오는데 마지막 중심선은 수평으로
현재봉 가지 나오게 (우축 연장요청 c[1]봉 ) 부탁 드립니다. (사진)
→첫째 중신선은 대각선인데 수평선으로 c[1]봉 까지 수정 좀 부탁 드립니다.
2 지그재그선 완성후 상호간 연결선 좀 부탁 드립니다.
. 저점 하단선은 하단선끼리 계속 연결
. 고점 상단선은 다음 하단선과 연결 (사진 파란선 참고)
3. 마지막 지그재그선 완성후 마지막 고저점 에서 연결선(c[1]) 좀 부탁 드립니다.
(사진2)
## 아해 수식
Input:barCnt(5);
Var:j(0),turnPntBit(""),TL1(0),TL33(0),TL44(0),HD(0),HT(0),LD(0),LT(0),HH(0),LL(0);
var : TL121(0),TL122(0),tx121(0),tx122(0),tl2(0),TL3(0),TL4(0),TL5(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
For j = 0 To 9 { barArr[j] = barArr[j] + 1; }
Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt);
Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt);
turnPntBit = "";
If Condition1 and Condition2 Then {
If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo";
Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo";
Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H[barCnt],L[barCnt]);
barArr[1] = barCnt;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
TL_SetEnd(TL2,sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for j = 8 downto 1
{
valArr[j+1] = valArr[j];
barArr[j+1] = barArr[j];
turnPntArr[j+1] = turnPntArr[j];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H[barCnt]) or
(turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then {
valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]);
barArr[1] = barCnt;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
{
TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],
sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
tL2 = TL_New(sDate[barArr[2]],sTime[barArr[2]],(valArr[2]+valArr[1])/2,
sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2);
tL3 =tl2[1];
tL4 =tl3[1];
tL5 =tl4[1];
TL_Delete(TL5);
}
Else
{
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
TL_SetEnd(TL2,sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2);
}
}
}
TL_SetSize(TL1,2);
TL_SetColor(TL1,RED);
TL_SetSize(TL2,2);
TL_SetColor(TL2,RED);
* 매번 고맙습니다.
* 수고하십시요.
2025-02-13
494
글번호 188106
지표