답변완료
수식변환 부탁드립니다.
1.
study("NEW MACD", overlay=false)
// 폴MACD
lengthMA_MACD = input(34, title="NEW MACD Length") // 변수명 변경
lengthSignal = input(9, title="NEW MACD Signal Length")
calc_smma(src, len) =>
smma=na(smma[1]) ? sma(src, len) : (smma[1] * (len - 1) + src) / len
smma
calc_zlema(src, length) =>
ema1=ema(src, length)
ema2=ema(ema1, length)
d=ema1-ema2
ema1+d
src=hlc3
hi=calc_smma(high, lengthMA_MACD) // 수정된 변수명 적용
lo=calc_smma(low, lengthMA_MACD) // 수정된 변수명 적용
mi=calc_zlema(src, lengthMA_MACD) // 수정된 변수명 적용
md=(mi>hi)? (mi-hi) : (mi<lo) ? (mi - lo) : 0
sb=sma(md, lengthSignal)
mdc=src>mi?src>hi?blue:blue:src<lo?blue:blue
plot(0, color=gray, linewidth=1, title="MidLine")
// NEW MACD 선의 불투명도를 100% (transp=0)으로 설정
plot(md, color=mdc, linewidth=2, title="NEW MACD", style=line, transp=0)
// NEW MACDSignal 선의 불투명도를 100% (transp=0)으로 설정
plot(sb, color=orange, linewidth=2, title="NEW MACDSignal", transp=0)
// EMA Wave Indicator
alength=input(5, title="Wave A Length")
blength=input(25, title="Wave B Length")
clength=input(50, title="Wave C Length")
lengthMA_Trend=input(4, title="Wave SMA Length") // 변수명 변경
mse=input(false, title="Identify Trend/Exhaustions")
cutoff = input(10, title="Cutoff")
ebc=input(false, title="Color Bars on Trend/Exhaustions")
ma(s,l) => ema(s,l)
wa=sma(src-ma(src, alength), lengthMA_Trend) // 수정된 변수명 적용
wb=sma(src-ma(src, blength), lengthMA_Trend) // 수정된 변수명 적용
wc=sma(src-ma(src, clength), lengthMA_Trend) // 수정된 변수명 적용
wcf=(wb != 0) ? (wc/wb > cutoff) : false
wbf=(wa != 0) ? (wb/wa > cutoff) : false
// 컬럼 색상 변경: 0선 위 파랑, 0선 아래 빨강
plot(wc, color=wc > 0 ? aqua : red, style=columns, linewidth=3, title="WaveC", transp=80)
plot(mse and wcf?wc:na, color=fuchsia, style=columns, linewidth=3, title="Wave Trend", transp=70)
plot(wb, color=wb > 0 ? black : black, style=columns, linewidth=3, title="WaveB", transp=90)
plot(mse and wbf?wb:na, color=fuchsia, style=columns, linewidth=3, title="WaveB Trend", transp=70)
plot(wa, color=wa > 0 ? black : black, style=columns, linewidth=3, title="WaveA", transp=90)
2.
//@version=6
indicator('AWMA', overlay = true)
//inputs
_Period1 = input(3, 'WMA1 Period')
_Period2 = input(5, 'WMA2 Period')
_Period3 = input(8, 'WMA3 Period')
_Period4 = input(10, 'WMA4 Period')
_Period5 = input(12, 'WMA5 Period')
_Period6 = input(15, 'WMA6 Period')
_Period7 = input(30, 'WMA7 Period')
_Period8 = input(35, 'WMA8 Period')
_Period9 = input(40, 'WMA9 Period')
_Period10 = input(45, 'WMA10 Period')
_Period11 = input(50, 'WMA11 Period')
_Period12 = input(60, 'WMA12 Period')
//calculate wma
wma1 = ta.wma(close, _Period1)
wma2 = ta.wma(close, _Period2)
wma3 = ta.wma(close, _Period3)
wma4 = ta.wma(close, _Period4)
wma5 = ta.wma(close, _Period5)
wma6 = ta.wma(close, _Period6)
wma7 = ta.wma(close, _Period7)
wma8 = ta.wma(close, _Period8)
wma9 = ta.wma(close, _Period9)
wma10 = ta.wma(close, _Period10)
wma11 = ta.wma(close, _Period11)
wma12 = ta.wma(close, _Period12)
plot(wma1, color = color.new(#4fc3d2, 0), title = 'short1')
plot(wma2, color = color.new(#4fc3d2, 0), title = 'short2')
plot(wma3, color = color.new(#4fc3d2, 0), title = 'short3')
plot(wma4, color = color.new(#4fc3d2, 0), title = 'short4')
plot(wma5, color = color.new(#4fc3d2, 0), title = 'short5')
plot(wma6, color = color.new(#4fc3d2, 0), title = 'short6')
plot(wma7, color = color.new(#fe0d5f, 0), title = 'long1')
plot(wma8, color = color.new(#fe0d5f, 0), title = 'long2')
plot(wma9, color = color.new(#fe0d5f, 0), title = 'long3')
plot(wma10, color = color.new(#fe0d5f, 0), title = 'long4')
plot(wma11, color = color.new(#fe0d5f, 0), title = 'long5')
plot(wma12, color = color.new(#fe0d5f, 0), title = 'long6')
2025-06-16
392
글번호 191712
지표
답변완료
수정부탁드립니다.
기존 수식에서 선의 색깔과 두께 그리고 선의모양을 그림과 같이 수정부탁드립니다.
분홍색 얇은점선 추가도 부탁드립니다.
선위에 행사가격이 표시되게도 부탁드리는데
봉과 숫자 사이에 간격이 있었으면 좋겠습니다.
항상 수고해주셔서 감사드립니다.
input : 간격(2.5);
var : cnt(0);
Array : HTL1[100](0),LTL1[100](0);
Array : HTL2[100](0),LTL2[100](0);
Array : HTL3[100](0),LTL3[100](0);
Array : HTL4[100](0),LTL4[100](0);
if Index == 1 or Bdate != Bdate[1] Then
{
var1 = Floor(DayOpen/간격)*간격;
For cnt = 0 to 99
{
TL_Delete(HTL1[cnt]);
TL_Delete(LTL1[cnt]);
TL_Delete(HTL2[cnt]);
TL_Delete(LTL2[cnt]);
TL_Delete(HTL3[cnt]);
TL_Delete(LTL3[cnt]);
TL_Delete(HTL4[cnt]);
TL_Delete(LTL4[cnt]);
value1 = var1+간격*cnt;
value2 = value1+(간격/4)*1;
value3 = value1+(간격/4)*2;
value4 = value1+(간격/4)*3;
HTL1[cnt] = TL_New(sDate,sTime,value1,NextBarSdate,NextBarStime,Value1);
HTL2[cnt] = TL_New(sDate,sTime,value2,NextBarSdate,NextBarStime,Value2);
HTL3[cnt] = TL_New(sDate,sTime,value3,NextBarSdate,NextBarStime,Value3);
HTL4[cnt] = TL_New(sDate,sTime,value4,NextBarSdate,NextBarStime,Value4);
TL_SetExtLeft(HTL1[cnt],true);
TL_SetExtLeft(HTL2[cnt],true);
TL_SetExtLeft(HTL3[cnt],true);
TL_SetExtLeft(HTL4[cnt],true);
TL_SetExtRight(HTL1[cnt],true);
TL_SetExtRight(HTL2[cnt],true);
TL_SetExtRight(HTL3[cnt],true);
TL_SetExtRight(HTL4[cnt],true);
TL_SetSize(HTL1[cnt],5);
TL_SetSize(HTL2[cnt],0);
TL_SetSize(HTL3[cnt],0.5);
TL_SetSize(HTL4[cnt],0);
TL_SetStyle(HTL1[cnt],0.5);
TL_SetStyle(HTL2[cnt],3);
TL_SetStyle(HTL3[cnt],0.5);
TL_SetStyle(HTL4[cnt],3);
if cnt >= 1 Then
{
value5 = var1-간격*cnt;
value6 = value5+(간격/4)*1;
value7 = value5+(간격/4)*2;
value8 = value5+(간격/4)*3;
LTL1[cnt] = TL_New(sDate,sTime,value5,NextBarSdate,NextBarStime,Value5);
LTL2[cnt] = TL_New(sDate,sTime,value6,NextBarSdate,NextBarStime,Value6);
LTL3[cnt] = TL_New(sDate,sTime,value7,NextBarSdate,NextBarStime,Value7);
LTL4[cnt] = TL_New(sDate,sTime,value8,NextBarSdate,NextBarStime,Value8);
TL_SetExtLeft(LTL1[cnt],true);
TL_SetExtLeft(LTL2[cnt],true);
TL_SetExtLeft(LTL3[cnt],true);
TL_SetExtLeft(LTL4[cnt],true);
TL_SetExtRight(LTL1[cnt],true);
TL_SetExtRight(LTL2[cnt],true);
TL_SetExtRight(LTL3[cnt],true);
TL_SetExtRight(LTL4[cnt],true);
TL_SetSize(LTL1[cnt],5);
TL_SetSize(LTL2[cnt],0);
TL_SetSize(LTL3[cnt],0.5);
TL_SetSize(LTL4[cnt],0);
TL_SetStyle(LTL1[cnt],0.5);
TL_SetStyle(LTL2[cnt],3);
TL_SetStyle(LTL3[cnt],0.5);
TL_SetStyle(LTL4[cnt],3);
}
}
}
2025-06-16
251
글번호 191711
지표
답변완료
수식수정바랍니다
안녕하세요
아래3가지 수식은 선물옵션에서 사용중인데 주간장용입니다
복합장에서 주간장으로 사용하게끔 수정바랍니다
1.
input : 타주기분(30);
var : cnt(0),S1(0),D1(0),TM(0),TF(0);
Array : HH[100](0),LL[100](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 99
{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
if HH[1] > 0 and LL[1] > 0 then
{
plot1(iff(stime>=091500,HH[1],0));
plot2(iff(stime>=091500,LL[1],0));
plot3(iff(stime>=091500,(HH[1]+LL[1])/2,0));
plot4((HH[1]-(HH[1]-LL[1])*0.382));
plot5((HH[1]-(HH[1]-LL[1])*0.618));
}
}
2.
input : 타주기분(30);
var : cnt(0),S1(0),D1(0),TM(0),TF(0);
Array : HH[100](0),LL[100](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
HH[0] =data2(H);
LL[0] =data2(L);
for cnt = 1 to 99
{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if data2(H) > HH[0] Then
HH[0] = data2(H);
if data2(L) < LL[0] Then
LL[0] = data2(L);
if HH[1] > 0 and LL[1] > 0 then
{
plot1(iff(stime>=091500,HH[1],0));
plot2(iff(stime>=091500,LL[1],0));
plot3(iff(stime>=091500,(HH[1]+LL[1])/2,0));
plot4((HH[1]-(HH[1]-LL[1])*0.382));
plot5((HH[1]-(HH[1]-LL[1])*0.618));
}
}
3.
Plot1(dayHigh(),"당고가");
Plot2(dayLow(), "당저가");
Plot3(dayHigh(1),"고가");
Plot4(dayLow(1), "저가");
Plot5(data2(HighD(1)), "전고가2");
Plot6(data2(Lowd(1)), "전저가2");
Plot7(data2(HighD(0)), "고가2");
Plot8(data2(Lowd(0)), "저가2");
Plot9(DayOpen(),"당시가");
Plot10(data2(OpenD(0)), "시가2");
수고하십시요.
2025-06-13
231
글번호 191695
지표