답변완료
2개의 지표값을 활용한 새로운 지표 수식 문의드립니다.
기존의 2개(A,B)의 지표를 활용하여 새로운 C지표를 만들려고 합니다.
"A지표 + B지표 = 새로운 지표(C)"
지표 수식을 부탁드립니다.
(1) A지표 수식은 다음과 같습니다.
var : C2(0,Data2),H2(0,Data2),L2(0,Data2);
C2 = Data2(-C);
if Data2(Bdate != Bdate[1]) Then
{
h2 = C2;
l2 = C2;
}
if C2 > h2 Then
h2 = C2;
if C2 < L2 Then
L2 = C2;
Plot1(C2,"C2",IFf(C2>0,Red,Blue));
Plot2(H2,"당일최고",Blue);
Plot3(L2,"당일최저",Red);
PlotBaseLine1(0,"기준선");
(2) B지표 수식은 다음과 같습니다.
var : C3(0,Data3),H3(0,Data3),L3(0,Data3);
C3 = Data3(C);
if Data3(Bdate != Bdate[1]) Then
{
h3 = C3;
l3 = C3;
}
if C3 > h3 Then
h3 = C3;
if C3 < L3 Then
L3 = C3;
Plot1(C3,"C3",IFf(C3>0,Red,Blue));
Plot2(H3,"당일최고",Blue);
Plot3(L3,"당일최저",Red);
PlotBaseLine1(0,"기준선");
(3) C지표는 위의 [A지표 값 + B지표 값]으로 계산된 새로운 지표를 만들고자 합니다.
예를 들어,
A지표값이 +1,000이고, B 지표값이 +1,000면, C지표는 +2,000
A지표값이 +1,000이고, B 지표값이 -1,000면, C지표는 0
A지표값이 -1,000이고, B 지표값이 -1,000면, C지표는 -2,000
C지표의 수식을 부탁드립니다. 그리고, A,B지표처럼 당일 고가, 저가 라인이 표시되도록 부탁드립니다.
2024-11-19
619
글번호 185438
지표
답변완료
수식및 표시방법좀 부탁드립니다.
매번 감사합니다.
아래 3가지 부분 부탁드립니다.
1.수식을 시스템 파일로 할때, 사진처럼 차트쉐어에서 전체공개시 사람들이 편의에 맞게 조
정해서 쓰게 하고자 합니다. 그림1 표시 나오는 수식?방법? 좀 알려주세요
2. 차트 하단에 종목 정보좀 나타나게하는 수식?방법? 좀 알려주세요(그림2 참조)
3. 마지막으로 시스템 파일 아래 수식은 rsi 조건만 인데, 만약 smi(Squeeze Momentum Indicator)를 조합해서 한다고 할때 buy 와 exitlong 수식에 2가지 조건(rsi, smi)표시하는 수식좀 만들어주세요
1.rsi
input : P(14);
var1 = RSI(P);
if CrossUp(var1,30) Then
Buy("매수");
if CrossDown(var1,70) Then
exitlong("매도");
2.smi(Squeeze Momentum Indicator)
input : length(20);
input : mult(2.0);
input : lengthKC(20);
input : multKC(1.5);
input : useTrueRange(true);#1:TrueRange 0:고저폭
var : source(0),basis(0),dev(0),upperbb(0),lowerbb(0);
var : mav(0),r(0),rangema(0),upperKC(0),lowerKC(0);
var : sqzOn(False),sqzOff(False),noSqz(False),val(0),bcolor(0),scolor(0);
// Calculate BB
source = close;
basis = ma(source, length);
dev = multKC * std(source, length);
upperBB = basis + dev;
lowerBB = basis - dev;
// Calculate KC
mav = ma(source, lengthKC);
r = iff(useTrueRange == 1 , TrueRange , (high - low));
rangema = ma(r, lengthKC);
upperKC = mav + rangema * multKC;
lowerKC = mav - rangema * multKC;
sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC);
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC);
noSqz = (sqzOn == false) and (sqzOff == false);
val = LRL(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),ma(close,lengthKC)), lengthKC);
bcolor = iff( val > 0,
iff( val > iff(IsNan(val[1]),0,val[1]), lime, green),
iff( val < iff(IsNan(val[1]),0,val[1]), red, maroon));
scolor = iff(noSqz ,blue ,IFf( sqzOn , black , gray ));
if bcolor == lime and scolor == Gray Then
Buy("b");
if bcolor == green and scolor == black Then
ExitLong("bx");
2024-11-19
707
글번호 185437
시스템
답변완료
가로 수평선의 연장(과거 기록도 보존)
1-1 위 위 사진은 붉은 기둥위에 해당 캔들에 붉은색 박스만 생겼음(과거에) 이 박스안에 캔들들의 고가와 저가 선을 수평으로 다음 붉은 캔들이 있을 때까지 연장해달라는 의미임
1-2 바로 위 사진은 현재 진행형 수평선으로 가장 최신 수평선은 이렇게 나타난다(그런데 과거는 단순히 박스형태로만 나타난다)
2-1. 현재이 수평선만 표기되어 있고 과거에서는 붉은 기둥 부분의 캔들들만 박스처럼 처리 되었는데 과거도 수평선 2개가 유지 되어 새로운 붉은 기둥캔들이 생겨 대체 될 때까지 유지 되도록 부탁합니다.
2-2. 그리고 수평선의 색깔 및 굵기 그리고 두 고저 수평선 사이에 넣을 색도 고를 수 있게 변수로 처리해주시면 감사합니다.
아래는 관련 수식입니다.
var : box(0),TL1(0),TL2(0);
Input: ADXPeriod(14), ADXThreshold(10); // 사용자 입력 변수
Condition1 = ADX(ADXPeriod) > ADXThreshold;
if Condition1 == False Then
{
if Condition1[1] == true Then
{
var1 = sDate;
var2 = sTime;
var3 = h;
var4 = l;
var5 = 0;
box = Box_New(sDate,sTime,var3,NextBarSdate,NextBarStime,var4);
Box_SetColor(box,Cyan);
Box_SetFill(box,true);
TL_Delete(TL1);
TL_Delete(TL2);
TL1 = TL_New(sDate,sTime,var3,NextBarSdate,NextBarStime,var3);
TL2 = TL_New(sDate,sTime,var4,NextBarSdate,NextBarStime,var4);
TL_SetColor(TL1,Cyan);
TL_SetColor(TL2,Cyan);
TL_SetExtRight(TL1,true);
TL_SetExtRight(TL2,true);
}
Else
{
if var1 > 0 Then
var5 = var5+1;
if var3 > 0 and h > var3 Then
var3 = h;
if var4 > 0 and l < var4 Then
var4 = l;
Box_SetBegin(box,var1,var2,var3);
Box_SetEnd(box,sDate,sTime,var4);
TL_SetBegin(TL1,var1,var2,var3);
TL_SetBegin(TL2,var1,var2,var4);
TL_SetEnd(TL1,sDate,sTime,var3);
TL_SetEnd(TL2,sDate,sTime,var4);
}
}
Else
var5 = 0;
Plot1(var5,"봉수",Red);
2024-11-19
488
글번호 185431
지표