답변완료
키움 수식 변환 부탁드립니다.
아래 키움 수식을 예스트레이더 종목검색 수식으로 변환 부탁드립니ㅏㄷ.
당일=(DayClose()+DayHigh()+DayLow())/3;
A=당일+npdc(1)+npdc(2)+npdc(3)+npdc(4);
M1=A/5;
당일=(DayClose()+DayHigh()+DayLow())/3;
A=당일+npdc(1)+npdc(2)+npdc(3)+npdc(4)+npdc(5)+npdc(6)+
npdc(7)+npdc(8)+npdc(9)+npdc(10)+npdc(11);
M=A/12;
편차합=
pow(당일-m,2)+pow(npdc(1)-m,2)+pow(npdc(2)-m,2)+
pow(npdc(3)-m,2)+pow(npdc(4)-m,2)+pow(npdc(5)-m,2)+
pow(npdc(6)-m,2)+pow(npdc(7)-m,2)+pow(npdc(8)-m,2)+
pow(npdc(9)-m,2)+pow(npdc(10)-m,2)+pow(npdc(11)-m,2);
M2=M-1.2*sqrt(편차합/12);
CC=(M+M2)/2;
당일=(DayClose()+DayHigh()+DayLow())/3;
A=당일+npdc(1)+npdc(2)+npdc(3)+npdc(4);
M2=A/5;
편차합=
pow(당일-m2,2)+pow(npdc(1)-m2,2)+pow(npdc(2)-m2,2)+
pow(npdc(3)-m2,2)+pow(npdc(4)-m2,2);
CC1=M2+0.5*sqrt(편차합/5);
CC2=MAX(M1,CC,CC1);
(M1*수렴1>=CC && M1*수렴2<=CC) &&
(CC1*수렴1>=CC && CC1*수렴2<=CC) &&
(M1*수렴1>=CC1 && M1*수렴2<=CC1) &&
CROSSUP(C,CC2)
===================================================================
- 지표변수
수렴1 : 1.01
수렴2 : 0.99
- npdc(기간) 함수
(nPredayClose(기간)+nPredayHigh(기간)+nPredayLow(기간))/3
감사합니다.
2023-05-30
1181
글번호 169360
종목검색
답변완료
문의
var : O2(0,data2),H2(0,data2),L2(0,data2),c2(0,data2);
var : O3(0,data3),H3(0,data3),L3(0,data3),c3(0,data3);
if data2((sdate != sdate[1] and stime >= 101500) or
(sdate == sdate[1] and stime >= 101500 and stime < 101500)) Then
{
O2 = data2(O);
H2 = data2(H);
L2 = data2(L);
C2 = data2(C);
}
if data2(H > H2) Then
H2 = data2(H);
if data2(L < L2) Then
L2 = data2(L);
if data3((sdate != sdate[1] and stime >= 101500) or
(sdate == sdate[1] and stime >= 101500 and stime < 101500)) Then
{
O3 = data3(O);
H3 = data3(H);
L3 = data3(L);
C3 = data3(C);
}
if data3(H > H3) Then
H3 = data3(H);
if data3(L < L3) Then
L3 = data3(L);
plot1(O2,"2시가");
plot2(O3,"3시가");
plot3(H2,"2고가");
plot4(H3,"3고가");
예를들면 전날10시15이후에시작해서 다음날 10시15분이면 바뀌어야 하는데 그렇지가 않습니다,잘못된것을 고쳐주시길 부탁드립니다
2023-05-28
546
글번호 169355
지표
답변완료
수식확인
Inputs : Period(20), Sence(1.5), CC_DN(Yellow);
input : 기준가(12345);
Vars:
VLineUp(0),
VLineDn(0),
HHighest(0),
LLowest(0),
JustChanged(FALSE),
VLine(0), DBN(0),T(0);
Array:
Highs[35](0),
Lows[35](0),
RRange[35](0),
UpWave[1](FALSE),
DnWave[1](FALSE);
If STime == 180000 Then
DBN = 0;
DBN = DBN + 1;
Var1 = Period;
Var2 = Var1 - 1;
Var3 = Var1 - 2;
Var5 = Sence;
Var6 = H-L;
JustChanged = FALSE;
if CurrentBar <= Var2 then begin
Highs[CurrentBar] = Close;
Lows[CurrentBar] = Close;
RRange[CurrentBar] = (H-L) /2;
end;
if CurrentBar == Var1 then begin
if Highs[Var2] >= Highs[Var3] then begin
UpWave[1] = TRUE;
HHighest = Highs[Var2];
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
#Plot1(VLineUp,"VLineUp");
end;
if Highs[Var2] < Highs[Var3] then begin
DnWave[1] = TRUE;
LLowest = Lows[Var2];
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
#Plot2(VLineDn,"VLineDn");
end;
end;
if CurrentBar > Var1 then begin
if DnWave[1] and Close > VLineDn then begin
DnWave[1] = FALSE;
UpWave[1] = TRUE;
JustChanged = TRUE;
HHighest = Close;
LLowest = 0;
end;
if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin
UpWave[1] = FALSE;
DnWave[1] = TRUE;
JustChanged = TRUE;
LLowest = Close;
HHighest = 0;
end;
if JustChanged == FALSE then begin
if Close > HHighest then
HHighest = Close;
else if Close < LLowest then
LLowest = Close;
end;
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
if UpWave[1] then T = 1;
else if DnWave[1] then T = -1;
end;
if T == 1 and CrossUp(C,기준가) Then
Buy();
if T == -1 and CrossDown(C,기준가) Then
Sell();
안녕하세요
위식을 적용시 신호가 마지막 매도후 매수로 전환이 되야 하는데 않되고 있습니다
확인 부탁드려요
2023-05-28
779
글번호 169354
시스템
답변완료
국내주식(삼성전자) 매매 수식 부탁드리겠습니다.
프로그램 yestrader (하이투자증권)
종목: 삼성전자
차트: 60분봉 적용
매수조건
1.10일 이평선 아래 있을때 또는 120일 이평선 아래 있을때 매수
2.오후 2시에 매수
3.전일대비 -1% 하락시 1주 매수
전일대비 -1.5% 하락시 2주 매수
전일대비 -2% 하락시 3주 매수
전일대비 -2.5% 하락시 4주 매수
전일대비 -3% 하락시 5주 매수
조건 교집합임
청산조건
1.오후 3시
2.전체 매수금액의 평균값에 대한 수익률이 10%이상 일때
3.매수한 전체 수량에 3% 수량만 청산
( 참고로 3%씩 분할청산해서 전량 청산이 아니라 전체수량의 3%만 청산하는 것으로 요청드림니다)
조건 교집합임
항상 도움을 주셔서 감사합니다.~~
#매수 10일봉이하 또는 120선이하 매수
#매도 3%씩 분할 매도 10% 이익시
input : 시작일(10230216);
input : 이평1(240),이평2(2880);
input : 분할청산퍼센트(0.02) ;
input : 수익퍼센트(1.05) ;
input : 최대투자금액(2000);
var1 = ma(C,이평1);
Var2 = ma(C,이평2);
if Data1(sDate) >= 시작일 Then
{
if
sTime == 140000 and AvgEntryPrice*CurrentContracts < 최대투자금액*10000 Then
{
if c < var1 or c < Var2 Then
{
if C <= DayClose(1)*0.99 and C > DayClose(1)*0.985 Then
Buy("b1",OnClose,Def,1);
if C <= DayClose(1)*0.985 and C > DayClose(1)*0.980 Then
Buy("b2",OnClose,Def,2);
if C <= DayClose(1)*0.980 and C > DayClose(1)*0.975 Then
Buy("b3",OnClose,Def,3);
if C <= DayClose(1)*0.975 and C > DayClose(1)*0.970 Then
Buy("b4",OnClose,Def,4);
if C <= DayClose(1)*0.970 and C > DayClose(1)*0.965 Then
Buy("b5",OnClose,Def,5);
if C <= DayClose(1)*0.965 and C > DayClose(1)*0.96 Then
Buy("b6",OnClose,Def,6);
if C <= DayClose(1)*0.96 and C > DayClose(1)*0.955 Then
Buy("b7",OnClose,Def,7);
if C <= DayClose(1)*0.955 and C > DayClose(1)*0.95 Then
Buy("b8",OnClose,Def,8);
if C <= DayClose(1)*0.95 Then
Buy("b9",OnClose,Def,9);
}
}
}
if MarketPosition == 1 and
sTime == 140000 Then
{
if C >= AvgEntryPrice*수익퍼센트 Then
ExitLong("bx",OnClose,Def,"",Floor(CurrentContracts*분할청산퍼센트),2);
}
2023-06-01
843
글번호 169352
시스템
답변완료
문의 드립니다.
//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KivancOzbilgic
//created by: @Anil_Ozeksi
//developer: ANIL ÖZEKŞİ
//author: @kivancozbilgic
indicator('HIGH AND LOW Optimized Trend Tracker', 'HL OTT', overlay=true)
length = input.int(2, 'OTT Period', minval=1)
percent = input.float(0.6, 'OTT Optimization Coeff', step=0.1, minval=0)
hllength = input.int(10, 'Highest and Lowest Length', minval=1)
src = ta.highest(high, hllength)
srcl = ta.lowest(low, hllength)
highlighting = input(title='Highlighter On/Off ?', defval=true)
mav = input.string(title='Moving Average Type', defval='VAR', options=['SMA', 'EMA', 'WMA', 'DEMA', 'TMA', 'VAR', 'WWMA', 'ZLEMA', 'TSF', 'HULL'])
Var_Func(src, length) =>
valpha = 2 / (length + 1)
vud1 = src > src[1] ? src - src[1] : 0
vdd1 = src < src[1] ? src[1] - src : 0
vUD = math.sum(vud1, 9)
vDD = math.sum(vdd1, 9)
vCMO = nz((vUD - vDD) / (vUD + vDD))
VAR = 0.0
VAR := nz(valpha * math.abs(vCMO) * src) + (1 - valpha * math.abs(vCMO)) * nz(VAR[1])
VAR
VAR = Var_Func(src, length)
DEMA = 2 * ta.ema(src, length) - ta.ema(ta.ema(src, length), length)
Wwma_Func(src, length) =>
wwalpha = 1 / length
WWMA = 0.0
WWMA := wwalpha * src + (1 - wwalpha) * nz(WWMA[1])
WWMA
WWMA = Wwma_Func(src, length)
Zlema_Func(src, length) =>
zxLag = length / 2 == math.round(length / 2) ? length / 2 : (length - 1) / 2
zxEMAData = src + src - src[zxLag]
ZLEMA = ta.ema(zxEMAData, length)
ZLEMA
ZLEMA = Zlema_Func(src, length)
Tsf_Func(src, length) =>
lrc = ta.linreg(src, length, 0)
lrc1 = ta.linreg(src, length, 1)
lrs = lrc - lrc1
TSF = ta.linreg(src, length, 0) + lrs
TSF
TSF = Tsf_Func(src, length)
HMA = ta.wma(2 * ta.wma(src, length / 2) - ta.wma(src, length), math.round(math.sqrt(length)))
Var_Funcl(srcl, length) =>
valphal = 2 / (length + 1)
vud1l = srcl > srcl[1] ? srcl - srcl[1] : 0
vdd1l = srcl < srcl[1] ? srcl[1] - srcl : 0
vUDl = math.sum(vud1l, 9)
vDDl = math.sum(vdd1l, 9)
vCMOl = nz((vUDl - vDDl) / (vUDl + vDDl))
VARl = 0.0
VARl := nz(valphal * math.abs(vCMOl) * srcl) + (1 - valphal * math.abs(vCMOl)) * nz(VARl[1])
VARl
VARl = Var_Funcl(srcl, length)
DEMAl = 2 * ta.ema(srcl, length) - ta.ema(ta.ema(srcl, length), length)
Wwma_Funcl(srcl, length) =>
wwalphal = 1 / length
WWMAl = 0.0
WWMAl := wwalphal * srcl + (1 - wwalphal) * nz(WWMAl[1])
WWMAl
WWMAl = Wwma_Funcl(srcl, length)
Zlema_Funcl(srcl, length) =>
zxLagl = length / 2 == math.round(length / 2) ? length / 2 : (length - 1) / 2
zxEMADatal = srcl + srcl - srcl[zxLagl]
ZLEMAl = ta.ema(zxEMADatal, length)
ZLEMAl
ZLEMAl = Zlema_Funcl(srcl, length)
Tsf_Funcl(srcl, length) =>
lrcl = ta.linreg(srcl, length, 0)
lrc1l = ta.linreg(srcl, length, 1)
lrsl = lrcl - lrc1l
TSFl = ta.linreg(srcl, length, 0) + lrsl
TSFl
TSFl = Tsf_Funcl(srcl, length)
HMAl = ta.wma(2 * ta.wma(srcl, length / 2) - ta.wma(srcl, length), math.round(math.sqrt(length)))
getMA(src, length) =>
ma = 0.0
if mav == 'SMA'
ma := ta.sma(src, length)
ma
if mav == 'EMA'
ma := ta.ema(src, length)
ma
if mav == 'WMA'
ma := ta.wma(src, length)
ma
if mav == 'DEMA'
ma := DEMA
ma
if mav == 'TMA'
ma := ta.sma(ta.sma(src, math.ceil(length / 2)), math.floor(length / 2) + 1)
ma
if mav == 'VAR'
ma := VAR
ma
if mav == 'WWMA'
ma := WWMA
ma
if mav == 'ZLEMA'
ma := ZLEMA
ma
if mav == 'TSF'
ma := TSF
ma
if mav == 'HULL'
ma := HMA
ma
ma
getMAl(srcl, length) =>
mal = 0.0
if mav == 'SMA'
mal := ta.sma(srcl, length)
mal
if mav == 'EMA'
mal := ta.ema(srcl, length)
mal
if mav == 'WMA'
mal := ta.wma(srcl, length)
mal
if mav == 'DEMA'
mal := DEMAl
mal
if mav == 'TMA'
mal := ta.sma(ta.sma(srcl, math.ceil(length / 2)), math.floor(length / 2) + 1)
mal
if mav == 'VAR'
mal := VARl
mal
if mav == 'WWMA'
mal := WWMAl
mal
if mav == 'ZLEMA'
mal := ZLEMAl
mal
if mav == 'TSF'
mal := TSFl
mal
if mav == 'HULL'
mal := HMAl
mal
mal
MAvg = getMA(src, length)
fark = MAvg * percent * 0.01
longStop = MAvg - fark
longStopPrev = nz(longStop[1], longStop)
longStop := MAvg > longStopPrev ? math.max(longStop, longStopPrev) : longStop
shortStop = MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir
MT = dir == 1 ? longStop : shortStop
HOTT = MAvg > MT ? MT * (200 + percent) / 200 : MT * (200 - percent) / 200
HOTTC = color.blue
MAvgl = getMAl(srcl, length)
farkl = MAvgl * percent * 0.01
longStopl = MAvgl - farkl
longStopPrevl = nz(longStopl[1], longStopl)
longStopl := MAvgl > longStopPrevl ? math.max(longStopl, longStopPrevl) : longStopl
shortStopl = MAvgl + farkl
shortStopPrevl = nz(shortStopl[1], shortStopl)
shortStopl := MAvgl < shortStopPrevl ? math.min(shortStopl, shortStopPrevl) : shortStopl
dirl = 1
dirl := nz(dirl[1], dirl)
dirl := dirl == -1 and MAvgl > shortStopPrevl ? 1 : dirl == 1 and MAvgl < longStopPrevl ? -1 : dirl
MTl = dirl == 1 ? longStopl : shortStopl
LOTT = MAvgl > MTl ? MTl * (200 + percent) / 200 : MTl * (200 - percent) / 200
LOTTC = color.red
HOTTLine = plot(nz(HOTT[2]), title='HOTT', color=color.new(HOTTC, 0), linewidth=2, style=plot.style_line)
LOTTLine = plot(nz(LOTT[2]), title='LOTT', color=color.new(LOTTC, 0), linewidth=2, style=plot.style_line)
FillColor = highlighting ? color.new(#9915FF, 80) : na
fill(HOTTLine, LOTTLine, title='Highligter', color=FillColor)
color1 = close > HOTT[2] ? #00FFFF : close < LOTT[2] ? #FF00FF : na
barcolor(color1)
alertcondition(ta.crossover(close, HOTT[2]), title='Price Crossover Alarm', message='PRICE OVER HOTT - BUY SIGNAL!')
alertcondition(ta.crossunder(close, LOTT[2]), title='Price Crossunder Alarm', message='PRICE UNDER LOTT - SELL SIGNAL!')
트레이딩뷰 지표입니다.
이미지처럼 두 선으로 만들어졌는데
예스로 가능할까요?
두 선만 나오게 해주세요.
2023-05-29
1335
글번호 169351
지표