커뮤니티

예스랭귀지 Q&A

글쓰기

hhk1018 님에 의해서 삭제되었습니다.

프로필 이미지
hhk1018
2025-05-09
9
글번호 190671
시스템
답변완료

수식 부탁드립니다

분봉신호를 활용한 자동매매시 활용하려고 합니다 각 분봉의 시가가 볼밴상단 3%초과하여 갭상승 형성될때는 제외되도록 수식 부탁드립니다
프로필 이미지
만복부자888
2025-05-09
251
글번호 190670
지표
답변완료

강조식 수정 부탁 드립니다.

안녕하세요. 첨부된 수식을 아래 기준에 맞게 수정을 부탁 드립니다. 직전봉을 기준으로 현재 봉이 직전 고가 위라면 "양봉"에 한해서만 어두운 빨간색을 적용 하고 싶구요. 직전봉을 기준으로 현재 봉이 직전봉 저가 아래라면 "음봉"에 한해서만 어두운 파랑색을 적용 하는 강조식을 부탁 드립니다. 즉. 직전봉 고가 위일때 양봉에 강조식을...직전봉 저가 아래 일때 음봉에 강조식입니다. 위 조건이 아닐 때는 그냥 기본봉 입니다. if H > Dayhigh(1) and C > O Then PlotPaintBar(C,O,"1",RGB(150,0,0)); if H > Dayhigh(1) and C < O Then PlotPaintBar(C,O,"1",RGB(0,0,150));
프로필 이미지
qha71
2025-05-08
242
글번호 190669
강조
답변완료

함수요청

아래의 전략에 대해 스크립트 작성 부탁드립니다. 주가지수 선물을 단기분봉으로 일중거래를거래하고자 합니다. 당봉제외 직전 봉부터 종가가 볼린저밴드 상단 위에 연속 3번 있고 스토케스틱이 75선 위에서 데드크로스 발생시 익봉시가에 매도s1 당봉제외 직전 봉부터 종가가 볼린저밴드 상단 위에 연속 3번 있고 스토케스틱이 75선 위에서 골드크로스 발생시 익봉시가에 매수b1 당봉제외 직전 봉부터 종가가 볼린저밴드 하단 아래에 연속 3번 있고 스토케스틱이 25선 위에서 골드크로스 발생시 익봉시가에 매수b2 당봉제외 직전 봉부터 종가가 볼린저밴드 하단 아래에 연속 3번 있고 스토케스틱이 25선 위에서 데드크로스 발생시 익봉시가에 매도s2 포지션이 s1이고 주가가 20일선 이탈시 익봉시가에 매도청산 sx1 포지션이 s2이고 주가가 20일선 돌파시 익봉시가에 매도청산 sx2 포지션이 b1이고 주가가 20일선 이탈시 익봉시가에 매도청산 bx1 포지션이 b2이고 주가가 20일선 돌파시 익봉시가에 매도청산 bx2 15시 강제창산
프로필 이미지
흰둥이아빠
2025-05-08
225
글번호 190668
시스템
답변완료

한번 더 봐주세요

알려주신 방법으로 채우기도 넣고 만들었습니다. Plot1(Data7(c),"외국인",Green); Plot2(Data9(c),"기관계",Black); Plot3(Data10(c),"개인",Pink); PlotBaseLine1(0,"0선"); 그림1과 같이 되길 원하는데 그림2와 같이 나오네요 방법이 있을까요?
프로필 이미지
어떤하루
2025-05-08
295
글번호 190664
지표
답변완료

수식 수정 부탁드립니다.

특정일이나 금요일장에는 0550분에 강제종료 청산식을 아래와 같이 알려 주셨는데 적용해 보니 금요일은 숫자를 6으로 변경 하고 특정일은 익일날로 변경하니 강제 청산 됩니다. if sDate != sDate[1] Then { if DayOfWeek(sDate) == 5 or sDate == 20250502 or sDate == 20251224 Then SetStopEndofday(055000); Else SetStopEndofday(0); } if Bdate != Bdate[1] Then SetStopEndofday(0); Input : af(0.02), maxAF(0.2); Var : Sarv(0); Sarv = sar(af,maxAF); If crossup(c,Sarv) Then { Buy(); } If CrossDown(c,Sarv) Then { Sell(); } 예)파라볼릭이 매수신호에 매수진입하여 0550분에 위와 같이 강제 청산 하였는데 특정일 익일이나 월요일 장시작 (0700)후에도 여전히 파라볼릭매수신호이면 macd오실레이터가 양전환 하면 매수재진입하는 식 좀 부탁드립니다.
프로필 이미지
산수유
2025-05-08
270
글번호 190663
시스템
답변완료

수식문의

50봉이내에 20일선이 60일선을 데드크로스 1회 20일선이 60일선을 골든크로스 1회 종목 검색 부탁드립니다.
프로필 이미지
alsode
2025-05-08
296
글번호 190661
종목검색
답변완료

함수요청

안녕하세요? 아래의 전략에 대해 스크립트 작성 부탁드립니다. 주가지수 선물을 포지션 거래하고자 합니다. 당봉제외 직전 봉부터 종가가 볼린저밴드 상단 위에 연속 3번 있고 스토케스틱이 75선 위에서 데드크로스 발생시 익봉시가에 매도 당봉제외 직전 봉부터 종가가 볼린저밴드 상단 위에 연속 3번 있고 스토케스틱이 75선 위에서 골드크로스 발생시 익봉시가에 매수 당봉제외 직전 봉부터 종가가 볼린저밴드 하단 아래에 연속 3번 있고 스토케스틱이 25선 위에서 골드크로스 발생시 익봉시가에 매수 당봉제외 직전 봉부터 종가가 볼린저밴드 하단 아래에 연속 3번 있고 스토케스틱이 25선 위에서 데드크로스 발생시 익봉시가에 매도
프로필 이미지
흰둥이아빠
2025-05-08
239
글번호 190660
시스템
답변완료

수식 부탁드립니다

아래 수식을 하나의 수식으로 작성 부탁드립니다. 매매시간내에 data1. 기준에 따라 매매 되며 data2의 3, 4 번의 조건 충족시 매수진입되도록 원합니다. 예시) 매수진입 형식 If (data2의 sb < MD[0] and superTrend < C ) and CountIF(Close < BBBot, Bars) == Bars Then Buy("B", AtStop, BBBot); 1. 매매시간설정. 9시 10분에 매매시작 15시 까지 매수 진입 허용됨. 15시 이전에 진입한 포지션은 15시 15분까지 Exitlong 신호 발생시 청산됨. 15시 15분까지 Exitlong 신호 발생하지않으면 15시 15분에 당일청산 됨. input : starttime(91000),endtime(150000),XTime(151500); var : Tcond(false); if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; } if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; } if Tcond == true then { 2. data1.신호에 매매 Inputs: Length(9), StdDev(2), Bars(2); Variables: BBTop(0),BBBot(0); BBTop = BollBandup(Length, StdDev); BBBot = BollBanddown(Length, StdDev); If CountIF(Close < BBBot, Bars) == Bars Then Buy("B", AtStop, BBBot); If CountIF(Close > BBTop, Bars) == Bars Then Exitlong("Ex", AtStop, BBTop); 3. 아래 지표 data2 의 sb < MD[0] 일 때 매수진입 됨. input : 타주기분(5),long(60),sig(9),P(9); var : S1(0),D1(0),TM(0),TF(0),cnt(0),ii(0),ep(0); var : hsum(0),lsum(0),hma(0),lma(0),hi(0),lo(0),hi1(0),lo1(0); var : Ema1(0),Ema2(0),Ema11(0),Ema21(0),mi(0),sum(0),sb(0),sh(0),mdc(0); Array : HH[100](0),LL[100](0),CC[100](0),src[100](0),md[100](Nan); ep = 2/(long+1); 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 { ii = ii+1; For cnt = 99 DownTo 1 { hh[cnt] = hh[cnt-1]; ll[cnt] = ll[cnt-1]; src[cnt] = src[cnt-1]; md[cnt] = md[cnt-1]; } hh[0] = h; ll[0] = l; hi1 = hi[1]; lo1 = lo[1]; Ema11 = Ema1[1]; Ema21 = Ema2[1]; } cc[0] = c; if hh[0] > 0 and h > hh[0] Then hh[0] = h; if ll[0] > 0 and l < ll[0] Then ll[0] = l; src[0] = (hh[0]+ll[0]+cc[0])/3; if src[long-1] > 0 Then { if src[long] == 0 Then { hsum = 0; lsum = 0; For cnt = 0 to long-1 { hsum = hsum + hh[cnt]; lsum = lsum + ll[cnt]; } hi = (hsum/long)/long; lo = (lsum/long)/long; } Else { hi = (hi1*(long-1)+hh[0])/long; lo = (lo1*(long-1)+ll[0])/long; } } if ii <= 1 Then { ema1 = src[0]; ema2 = ema1; } Else { ema1 = src[0] * EP + Ema11 * (1-EP); ema2 = ema1 * EP + Ema21 * (1-EP); } mi = ema1+(ema1-ema2); md[0] = iff((mi>hi), (mi-hi) , iff((mi<lo) , (mi - lo) , 0)); if md[sig-1] > 0 Then { sum = 0; For cnt = 0 to sig-1 { sum = sum + md[cnt]; } sb = sum/sig; sh = md[0]-sb; } 4.아래 지표가 data2 의 superTrend < C 일 때 매수진입 됨. input : ntime(5),factor(3), AtrPeriod(10); var : S1(0),D1(0),TM(0),TF(0),HH(0),LL(0),C1(0); var : src(0), AtrV(0),ATRv1(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0); var : prevSuperTrend(0), superTrend(0), direction(0),alpha(0),source(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%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { HH = H; LL = L; C1 = C[1]; ATRV1 = ATRV[1]; prevSuperTrend = superTrend[1]; prevLowerBand = lowerBand[1]; prevUpperBand = upperBand[1]; } if H > HH Then HH = H; if L < LL Then LL = L; src = (HH+LL)/2; if C1 > 0 Then { alpha = 1 / AtrPeriod ; source = max(HH - LL, abs(HH - C1), abs(LL - C1)); ATrV = alpha * source + (1 - alpha) * ATrV1; upperBand = src + factor * AtrV; lowerBand = src - factor * AtrV; if lowerBand > prevLowerBand or C1 < prevLowerBand Then lowerBand = lowerBand; Else lowerBand = prevLowerBand; if upperBand < prevUpperBand or C1 > prevUpperBand Then upperBand = upperBand; Else upperBand = prevUpperBand; if prevSuperTrend == prevUpperBand Then { if C > upperBand Then direction = -1; Else direction = 1; } Else { if C < lowerBand Then direction = 1; Else direction = -1; } if direction == -1 Then superTrend = lowerBand; Else superTrend = upperBand;
프로필 이미지
뎅이요
2025-05-08
322
글번호 190658
시스템
답변완료

부탁드립니다

빠른답변 감사합니다 1. 진입수량10주단위로 진입식부탁드립니다, 2.진입금액이 처음만 적용되고2번부터는증액이안된것도있습니다. 진입금액에번호를붙여주세요.1번째 진입금액=첫진입금액. 2번진입금액=1번금액+(1번금액*A%) 3번진입금액=2번진입금액+(2번금액*A%)4번진입금액=3번진입금액+(3번진입금액*A%)..이런식으로부탁드립니다 3.data1중복진입이 안되네요.시스템식에서 체크하면 될수있도록부탁드립니다 늘감사드립니다~ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다, > 안녕하세요 예스스탁입니다. 1 inputs : P1(5),P2(20),RSILength(10), OverSold(30),OverBought(70); input : 첫진입금액(1000000),A(10); var : m1(0,Data2),m2(0,Data2), R(0,Data1); var : TT(0,Data1),T1(0,Data1),entry(0,Data1),mm(0,data1),vol(0,Data1); m1 = Data2(ma(C,P1)); m2 = Data2(ma(C,P2)); R = data1(RSI(RSILength)); TT = TotalTrades; if Data1(Bdate != Bdate[1]) Then { T1 = TT[1]; } entry = (TT-T1)+IFF(MarketPosition == 0,0,1); If MarketPosition <= 0 and Data2(m1 > m2) and Crossup(R, OverSold) Then { if entry == 0 Then mm = 첫진입금액; Else mm = mm*(1+A/100); Buy("B",OnClose,Def,Floor(mm/C)); } if Data2(CrossDown(m1,m2)) or Crossup(R, OverBought) Then Sell("S"); 2 inputs : P1(5),P2(20),RSILength(10), OverSold(30),OverBought(70); input : 첫진입금액(1000000),A(10),B(20); var : m1(0,Data2),m2(0,Data2), R(0,Data1); var : TT(0,Data1),T1(0,Data1),entry(0,Data1),mm(0,data1),vol(0,Data1); m1 = Data2(ma(C,P1)); m2 = Data2(ma(C,P2)); R = data1(RSI(RSILength)); TT = TotalTrades; if Data1(Bdate != Bdate[1]) Then { T1 = TT[1]; } entry = (TT-T1)+IFF(MarketPosition == 0,0,1); If MarketPosition <= 0 and Data2(m1 > m2) and Crossup(R, OverSold) Then { if entry == 0 Then mm = 첫진입금액; Else { if EntryPrice(1) > C Then mm = mm*(1+B/100); Else mm = mm*(1+A/100); } Buy("B",OnClose,Def,Floor(mm/C)); } if Data2(CrossDown(m1,m2)) or Crossup(R, OverBought) Then Sell("S");
프로필 이미지
2685up
2025-05-09
276
글번호 190657
시스템