답변완료
도움부탁드립니다
매수 매도 거래량을 숫자로 보기을 키움에서 사용해서요 예스트례이드로 변경부탁드립니다.
수식1:if((high+low)/2<=close,volume,0);
수식2:a1=(high-close)/(high-low);
if((high+low)/2<=close,volume*a1,0)
수식3:if((high+low)/2>close,volume,0)
수식4:b1=(close-low)/(high-low);
if((high+low)/2>close,volume*b1,0)
수식5:a1=if((high+low)/2<=close,volume,0);
a2=(high-close)/(high-low);
a3=if((high+low)/2<=close,volume*a2,,0);
b1=if((high+low)/2>close,volume,0);
b2=(close-low)/(high-low);
b3=if((high+low)/2>close,volume*b2,,0);
if(a1>0,(a3/a1)*100,if(b1>0,(b3/b1)*100,0))
조건설정:조정1:23.6
조정2:38.2
조정3:60.0
조정4:61.8
조정5:78.4
2023-04-03
1524
글번호 167846
지표
답변완료
신호 발생하지 않아 다시 문의 드립니다.
며칠전에 알려주신 로직입니다. 신호가 발생하지 않는데 다시 확인부탁드립니다.
제가 원하는 것은
60분봉을 추세 기준으로 하여 20이평 120이평 정배열이고
60분봉에서 볼린져밴드 상단선 돌파 중이거나 또는 상단선 위에 있을 때
하위봉(예로 1분봉이나 2분봉 등) 차트에서 볼린져 상선 돌파 매수로 진입하고자 합니다.
60분봉에서 20이평 120이평 역배열이고
60분봉에서 볼린져밴드 하단선 아래로 돌파 또는 하단선 아래 있을 때
하위봉(예로 1분봉이나 2분봉 등) 차트에서 볼린져 하선 돌파 매도로 진입하고자 합니다.
감사합니다^.^
input : 타주기분(60),BBP(20),Dv(2),P1(20),P2(120);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),SumSqrt(0),Stdv(0);
var : sum(0),BBmd(0),Bbup(0),BBdn(0);
var : sum1(0),mav1(0),sum2(0),mav2(0);
Array : CC[200](0);
#기본차트 볼밴
var1 = BollBandUp(20,2);
Var2 = BollBandDown(20,2);
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 타주기분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or
(Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then
{
for cnt = 199 downto 1
{
CC[cnt] = CC[cnt-1];
}
}
CC[0] = C;
#타분봉 볼밴계산
if CC[BBP-1] > 0 then
{
sum = 0;
for cnt = 0 to BBP-1
{
sum = sum + CC[cnt];
}
BBmd = sum/BBP;
SumSqrt = 0;
For cnt = 0 To BBP - 1
{
SumSqrt = SumSqrt + (CC[cnt] - BBmd)^2;
}
Stdv = SquareRoot(SumSqrt / BBP);
BBup = BBmd + (Dv * Stdv);
BBdn = BBmd - (Dv * Stdv);
}
#타분봉 P1이평 계산
if CC[P1-1] > 0 Then
{
sum1 = 0;
For cnt = 0 to P1-1
{
sum1 = sum1 + CC[cnt];
}
mav1 = sum1/P1;
}
#타분봉 P2이평 계산
if CC[P2-1] > 0 Then
{
sum2 = 0;
For cnt = 0 to P1-1
{
sum2 = sum2 + CC[cnt];
}
mav2 = sum2/P1;
}
//타분봉 지표값들 계산이 된 상태에서
if mav1 > 0 and mav2 > 0 and BBmd > 0 Then
{
if mav1 > mav2 and C > BBup Then
{
if CrossUp(c,var1) Then
Buy();
}
if CrossDown(c,var1) Then
ExitLong();
if mav1 < mav2 and C < BBdn Then
{
if CrossDown(c,var2) Then
Sell();
}
if CrossUp(C,Var2) Then
ExitShort();
}
}
2023-04-03
1246
글번호 167842
시스템
답변완료
지표 작성 부탁드립니다.
트레이딩뷰에 있는 지표인데 예스트레이더에서 사용할 수 있도록 가공해 주시면 감사하겠습니다.
아래는 트레이딩뷰에 있는 지표 작성 코드입니다. 매번 성의있는 답변 주시는 덕에 도움 많이 받고 있습니다. 감사합니다. ~
//@version=4
study(title="Pocket Pivots", shorttitle="Pocket Pivots", overlay=true)
tenSMAlen = input(10, minval=1, title="SMA1 Length")
fiftySMAlen = input(50, minval=1, title="SMA2 Length")
PPlen = input(10, minval=5, title="Pocket Pivot Length")
PPVolLen = input(5, minval=5, title="Volume Pocket Pivot Length")
UpDay = close > open and close[0] > close[1]
VolUpDay = close[0] > close[1]
tenSMA = sma(close,tenSMAlen)
fiftySMA = sma(close,fiftySMAlen)
//Volume on the pocket pivot day has to be greater than the previous Pocket Pivot Length days - default is 10. PPvol1 must count up to PPlen
PPvol1 = 0
for i = 1 to PPlen
if volume[0] > volume[i]
PPvol1 += 1
else
PPvol1 := 0
//Volume on the pocket pivot day has to be greater than the previous Pocket Pivot Length days - default is 5. PPvol2 must count up to PPVollen
PPvol2 = 0
for i = 1 to PPVolLen
if volume[0] > volume[i]
PPvol2 += 1
else
PPvol2 := 0
//Check if price has crossed or gapped over 10 day or 50 day SMA
MAcross = open < tenSMA and close > tenSMA or open < fiftySMA and close > fiftySMA or close[1] < tenSMA and close[0] > tenSMA or close[1] < fiftySMA and close[0] > fiftySMA
//Will show indicator when Pocket Pivot Volume and KMA crosses have occured
PocketPivot1 = PPvol1 == PPlen and UpDay and MAcross
plotshape(PocketPivot1 ? 1 : na, style=shape.triangleup, location=location.belowbar, color=color.rgb(51,153,255), size=size.small)
//Will show Yellow Triangle Down indicator when Volume Pocket Pivot is met and current day close is greater than yesterday;s close
PocketPivot2 = PPvol2 == PPVolLen and VolUpDay
plotshape(PocketPivot1 != 1 and PocketPivot2 ==1 ? 1 : na, style=shape.triangledown, location=location.belowbar, color=color.rgb(225,225,0), size=size.small)
//Alerts Conditions
alertcondition(PocketPivot1 == 1, title='Pocket Pivot', message='Pocket Pivot Triggered!')
alertcondition(PocketPivot2 == 1, title='Volume Pocket Pivot', message='Volume Pocket Pivot Triggered!')
2023-04-03
1964
글번호 167834
지표
답변완료
81402번 재문의 입니다.
마지막첨부는 사용한 수식입니다.
문제 없다고 생각했는데 조건에 맞지 않는 종목이 상당수 나와서
31일 기준으로 검색한 종목중 오류가 있는 부분을 몇개 정리해봅니다.
솔본-3.28일 해당신호가 발생하는데 31일에 나옵니다.
신도기연-3.30일에 신호발생인데 31일에나옴
현우산업-30일에 신호 발생인데 31일에 나옴
호텔신라-29일에 신호 발생하는데 31일에 나옴
서연 - 녹적파 순서가 아닌데도 31일 검색식에 나옴
LG전자-31일에 엘리게이터가 녹적파 순으로 조건이 만족하지만 나오지 않음
번거로우시겠지만 확인한번 부탁드리겠습니다.
input : jawPeriod(13),jawOffset(8);
input : teethPeriod(8),teethOffset(5);
input : lipsPeriod(5),lipsOffset(3);
var : hl2(0),jaw(0),teeth(0),lips(0);
hl2 = (h+l)/2;
jaw = 0;
if IsNaN(jaw[1]) == true Then
jaw = ma(hl2,jawPeriod);
Else
jaw = (jaw[1]*(jawPeriod-1) + hl2)/jawPeriod;
teeth = 0;
if IsNaN(teeth[1]) == true Then
teeth = ma(hl2,teethPeriod);
Else
teeth = (teeth[1]*(teethPeriod-1) + hl2)/teethPeriod;
lips = 0;
if IsNaN(lips[1]) == true Then
lips = ma(hl2,lipsPeriod);
Else
lips = (lips[1]*(lipsPeriod-1) + hl2)/lipsPeriod;
Condition1 = teeth and teeth > jaw;
if Condition1 == true and Condition1[1] == False Then
Find(1);
2023-04-03
1162
글번호 167816
종목검색