커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식문의

안녕하세요 키움수식 변경 부탁드립니다. 검색주기(검색결과유지)는 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
종목검색
답변완료

함수요청

틱데이터로 매매를 하고자 합니다. 개장후 첫틱이 들어오면 그 첫틱이 하락출발하면 시장가 매도 상승출발하면 시장가 매수 특정 시간에 강제 청산 매수든 매도든 최대 1번 진입과 청산하는 일중거래 샘플 부탁드립니다.
프로필 이미지
흰둥이아빠
2023-08-23
1064
글번호 171775
시스템
답변완료

함수요청

안녕하세요? 아래 전략에 대해 스크립트 작성 요청드립니다. 국내선물을 분봉으로 포지션 매매하고자 합니다. - 5ma, 20ma 골든크로스 완성 익봉 시가에 매수 진입(b1) - 매수 진입(b1) 후 6번째 봉 시가에 매수 청산(bx1) - bx1이 손실이면 익봉 시가에 매도로 진입(s2) - 매도 진입(s2) 후 12번째 봉 시가에 매도 청산(sx2) - 5ma, 20ma 데드크로스 완성 익봉 시가에 매도 진입(s1) - 매도 진입(s1) 후 6번째 봉 시가에 매도 청산(sx1) - sx1이 손실이면 익봉 시가에 매수로 진입(b2) - 매수 진입(b2) 후 12번째 봉 시가에 매수 청산(bx2) 단, 1번의 신호는 2번의 신호에 우선합니다. b1진입후 bx1이 손실났지만 당시 s1의 조건이 성립되면 s2가 아닌 s1으로 신호가 생성됩니다. 그리고 s1진입후 sx1이 손실났지만 당시 b1의 조건이 성립되면 b2가 아닌 b1으로 신호가 생성됩니다.
프로필 이미지
흰둥이아빠
2023-08-23
1139
글번호 171774
시스템
답변완료

안녕하세요 수식문의 부탁드립니다^^

안녕하세요 고생이많으세요 아래수식은 제가 사용하던 신호수식인데요 검색수식과 종목검색신호 두가지로 변경하고싶은데요~^^ 잘부탁드리겠습니다~^^ 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
종목검색
답변완료

수식 부탁합니다

안녕하세요! 옵션 전일 매도한 분량을 종목에 관계 없이 당일 장 시작 전 동시호가체결시간(오전 8시 35분)에 시장가로 전량 청산 주문 하는 식 원합니다.
프로필 이미지
팡팡
2023-08-23
1170
글번호 171763
시스템

매버릭 님에 의해서 삭제되었습니다.

프로필 이미지
매버릭
2023-08-23
1
글번호 171761
지표
답변완료

시스템 작성의뢰

수고 하십니다! 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 이평선을 업크로스 할때 청산을 한다
프로필 이미지
tnsflwls
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분봉 용으로 사용하고싶습니다
프로필 이미지
매치다2
2023-08-22
919
글번호 171759
지표