답변완료
수식문의
안녕하세요
키움수식 변경 부탁드립니다.
검색주기(검색결과유지)는 3분봉입니다.
문의1) 아래 종목검색 수식을 예스수식으로 변경
문의2) 아래 종목검색 수식에서
CrossUp(C,PCL) or CrossUp(C,PLL) && C>C(1) && C>O 이 3분봉 60봉이내에서
3번 출현할 때의 봉을 검색하는 수식
PCL=MA(C,240);//가격중심선
PLL=PCL + AvgIf(C - PCL, -1, 0.0 )
- 2 * StdevIf(C - PCL, -1, 0.0 );
CrossUp(C,PCL) or CrossUp(C,PLL) && C>C(1) && C>O
2023-08-23
1032
글번호 171776
종목검색
답변완료
안녕하세요 수식문의 부탁드립니다^^
안녕하세요 고생이많으세요 아래수식은 제가 사용하던 신호수식인데요
검색수식과 종목검색신호 두가지로 변경하고싶은데요~^^
잘부탁드리겠습니다~^^
p = (highest(high,단기)+lowest(low,단기))/2;
k = (highest(high,중기)+lowest(low,중기))/2;
q = (p+k)/2;
x = (highest(high,장기)+lowest(low,장기))/2;
y = (highest(high,장기)+lowest(low,장기))/2;
z = (x+y)/2;
a = Crossdown((q-z)/q*1000, 0);
b = valuewhen(1,a,c);
crossup(c,b)
2023-08-23
1080
글번호 171773
검색
답변완료
트레이딩뷰 수식 변환 요청드립니다.
슈퍼트렌드 수식 변환 요청드립니다.
과거글 찾아보니 예스스탁에서 만든 슈퍼트렌드가 있던데 트레이딩뷰의 슈퍼트렌드와 타점이 다릅니다. 그래서 함수 공부도 해볼 겸 트레이딩뷰에서 공식 제공하는 수식을 변환하고 있는데, 생각대로 그려지지 않습니다.
예스 랭귀지를 처음 해보는거라 변수 선언 등에서 뭔가 놓친 부분이 있는것 같은데
아래의 트레이딩뷰 코드와 똑같이 잘 변환됬는지, 혹시 예스 랭귀지 문법상 틀린 부분이 있는지 확인 부탁드립니다. (그림이 안그려지는 걸로 봐선 분명 틀린 부분이 있을 건데 잘 모르겠습니다.)
/*트레이딩뷰 소스 발췌
pine_supertrend(factor, atrPeriod) =>
src = hl2
atr = ta.atr(atrPeriod)
upperBand = src + factor * atr
lowerBand = src - factor * atr
prevLowerBand = nz(lowerBand[1])
prevUpperBand = nz(upperBand[1])
lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand
upperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBand
int direction = na
float superTrend = na
prevSuperTrend = superTrend[1]
if na(atr[1])
direction := 1
else if prevSuperTrend == prevUpperBand
direction := close > upperBand ? -1 : 1
else
direction := close < lowerBand ? 1 : -1
superTrend := direction == -1 ? lowerBand : upperBand
[superTrend, direction]
[pineSupertrend, pineDirection] = pine_supertrend(3, 10)
*/
// 예스랭귀지 변환
input : factor(3),atrPeriod(10);
var : src(0), sATR(0), upperBand(0), lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : direction(0), superTrend(0), prevSuperTrend(0), linecolor(0);
src = (High + Low) / 2;
sATR = ATR(atrPeriod);
upperBand = src + factor * sATR;
lowerBand = src - factor * sATR;
prevLowerBand = lowerBand[1];
prevUpperBand = upperBand[1];
if !(lowerBand > prevLowerBand or close[1] < prevLowerBand) Then{
lowerBand = prevLowerBand;
}
if !(upperBand < prevUpperBand or close[1] > prevUpperBand) Then{
upperBand = prevUpperBand;
}
prevSuperTrend = superTrend[1];
if IsNAN(sATR[1]) Then
{
direction = 1;
}Else if prevSuperTrend == prevUpperBand Then
{
direction = IFF(close > upperBand, -1, 1);
}
Else
{
direction = IFF(close < lowerBand, 1, -1);
}
superTrend = IFF(direction == -1, lowerBand, upperBand);
linecolor = IFF(direction == -1 , Green, Red);
plot1(superTrend,"SuperTrend",linecolor);
2023-08-23
1233
글번호 171766
지표
답변완료
수식문의 드립니다
input : sum_length(500),vwap_smoothing(400);
var : vol_period(0),evwma(0),vwap_smooth(0),long(False),short(False);
input : length(60);
var : mav(0);
vol_period = AccumN(volume, sum_length);
evwma = 100.100;
evwma = ((vol_period - volume) * iff(IsNan(evwma[1]) == true, close,evwma[1]) + volume * close) / vol_period;
if Bdate != Bdate[1] Then
{
var1 = 0;
Var2 = 0;
Var3 = 0;
}
var1 = var1 +((H+L+C)/3)*v;
Var2 = Var2 + v;
Var3 = var1/Var2;
vwap_smooth = ema(Var3, vwap_smoothing);
Plot1(evwma);
Plot2(vwap_smooth);
지표식에서 종목 검색식으로 할려고
밑부분 두줄 삭제하고
(((Plot1(evwma);
Plot2(vwap_smooth);)))
evwma,vwap두선이 크로스업 할때 상하 위치가 반대인 경우도 있었서
if CrossUp(evwma,vwap_smooth) or CrossUp(vwap_smooth,evwma) Then
Find(1);
로 적용했는데 크로스 다운도 검색이 되고 먼가 잘못된듯 합니다.
도움 부탁 드리겠습니다.
2023-08-23
1240
글번호 171765
종목검색
답변완료
시스템 작성의뢰
수고 하십니다!
1.거래량 5 이평선이 15 이상 상승하면 신호로 알려주고 on balance price 지표가 - 33 이하로 내려가고 obv 지표가 -2400 이하로 하락하고 pvi지표가 99.50 이하로 하락하고 biii지표가 -0.15 이하로 하락 하고 er bear power 지표가 0.00 이상 상승 하고120,240,480,960 ,1920 이동평균선이 역배열이 되고 960
이평선과 1920 이평선의 간격이 7틱이상 벌어지고 120 이평선이 240 이평선을 업크로스할때 6 계약 매수를 하고난 후 30 틱 이상 하락 하면 3 계약 매수를 하고난 후 30 틱 이상 하락 하면 3 계약 매수를 또 하고 60 틱이상 상승한 다음 120
이평선이 240 이평선을 다운크로스 할때 청산을 한다
2.거래량 5 이평선이 15 이상 상승하면 신호로 알려주고 on balance price 지표가 35 이상 상승하고 obv 지표가 200 이상 상승 하고 pvi지표가 100.50 이상 상승 하고 biii 지표가 0.01 이상 상승 하고 er bear power 지표가 - 0.01 이하로 하락 하고
120,240,480,960 ,1920 , 3840 이동평균선이 정배열이 되고 1920 이평선과 3840 이평선의 간격이 16 틱이상 벌어지고
120 이평선이 240 이평선을 다운크로스할때 6 계약 매도를 하고난 후 30 틱 이상 상승 하면 3 계약 매도를 하고난 후 30 틱 이상 상승 하면 3 계약 매도를 또 하고 60 틱이상 하락한 다음 120 이평선이 240 이평선을 업크로스 할때 청산을 한다
2023-08-23
1157
글번호 171760
시스템
답변완료
부탁드립니다
###3분봉 1분봉 에 사용하고싶습니다
1,
input : ATrPeriod2(11),factor2(2.0);
var : src2(0),ATrv2(0),upperband2(0),lowerBand2(0),direction2(0),superTrend2(0);
var : prevupperband2(0),prevlowerBand2(0),prevsupertrend2(0);
src2 = (h+l)/2;
atrv2 = atr(atrPeriod2);
upperBand2 = src2 + factor2 * atrv2;
lowerBand2 = src2 - factor2 * atrv2;
prevLowerBand2 = iff(IsNan(lowerBand2[1])==False,lowerBand2[1],0);
prevUpperBand2 = iff(IsNan(upperBand2[1])==false,upperBand2[1],0);
lowerBand2 = iff(lowerBand2 > prevLowerBand2 or close[1] < prevLowerBand2 , lowerBand2 , prevLowerBand2);
upperBand2 = iff(upperBand2 < prevUpperBand2 or close[1] > prevUpperBand2 , upperBand2 , prevUpperBand2);
prevsupertrend2 = iff(IsNan(SuperTrend2[1])==false,SuperTrend2[1],0);
if isnan(atrv2[1]) == true Then
direction2 = 1;
else if SuperTrend2[1] == UpperBand2[1] Then
direction2 = iff(close > upperBand2 , -1 , 1);
else
direction2 = iff(close < lowerBand2 , 1 , -1);
superTrend2 = iff(direction2 == -1 , lowerBand2 , upperBand2);
if direction2 < 0 Then
Plot3(superTrend2,"upTrend2",Black);
Else
NoPlot(3);
2,
input : ATrPeriod3(12),factor3(3.0);
var : src3(0),ATrv3(0),upperband3(0),lowerBand3(0),direction3(0),superTrend3(0);
var : prevupperband3(0),prevlowerBand3(0),prevsupertrend3(0);
src3 = (h+l)/2;
atrv3 = atr(atrPeriod3);
upperBand3 = src3 + factor3 * atrv3;
lowerBand3 = src3 - factor3 * atrv3;
prevLowerBand3 = iff(IsNan(lowerBand3[1])==False,lowerBand3[1],0);
prevUpperBand3 = iff(IsNan(upperBand3[1])==false,upperBand3[1],0);
lowerBand3 = iff(lowerBand3 > prevLowerBand3 or close[1] < prevLowerBand3 , lowerBand3 , prevLowerBand3);
upperBand3 = iff(upperBand3 < prevUpperBand3 or close[1] > prevUpperBand3 , upperBand3 , prevUpperBand3);
prevsupertrend3 = iff(IsNan(SuperTrend3[1])==false,SuperTrend3[1],0);
if isnan(atrv3[1]) == true Then
direction3 = 1;
else if prevsupertrend3 == prevUpperBand3 Then
direction3 = iff(close > upperBand3 , -1 , 1);
else
direction3 = iff(close < lowerBand3 , 1 , -1);
superTrend3 = iff(direction3 == -1 , lowerBand3 , upperBand3);
if direction3 < 0 Then
Plot5(superTrend3,"upTrend3",BlacK);
Else
NoPlot(5);
if direction3 > 0 Then
Plot6(superTrend3,"downTrend3",GreeN);
Else
NoPlot(6);
### 수정할 부분이 있다면 3분 1분봉 용으로 사용하고싶습니다
2023-08-22
919
글번호 171759
지표