커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

세번째 진입 시 진입필터 작동

아래수식은 데이트레이딩 국내선물 적용하는 수식입니다. 진입명 s1은 한번만 들어가고 s2가 반복해서 들어갑니다. s1-s2-s2-s2-s2-s2. . . s1 진입과 청산 (첫번째 ) s2 진입과 청산 (두번째) 위 2번의 과정에서 당일의 high-low 레인지를 파악합니다. 요청내용 : 세번째 진입시 당일 high-low가 7.50 point 이상이면 세번째 진입 허용 (7.50 포인트 미만에서는 거래발생 없음). 항상 고맙습니다. *************************************************************************************************************************** input : 진입시간(084700),진입제한시간(140000); input : 거래횟수(20),누적패수(5),연속패수(2),누적패수조정(2),bigdown(15.00),조정거래횟수(7),조정진입제한시간(113000); input : b1(50),진입눌림1(9),진입돌파1(0);input : b2(160),진입눌림2(4),진입돌파2(0);input : als(40),atr1(0),atr2(135);input : bls(152),btr1(0),btr2(189);input : s1lock(120000),s1gl(8.12);input : s2lock(140000),s2gl(7.96);var : T1(0),entry(0),HH(0),LL(0),EH(0),EL(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0);var : Tcond(false);var : loss(0),consecLoss(0),패수(0);Var : 당일거래횟수(0),진입끝시간(0),bigdownCond(False),익절가(0);//영업일변경if bdate != bdate[1] Then{ //손실횟수 초기화 0 loss = 0; //연속손실횟수 초기화 0 consecLoss = 0; //패수는 누적패수 패수 = 누적패수; 익절가 = 0;}//청산발생if TotalTrades > TotalTrades[1] Then{ //손실이면 if PositionProfit(1) < 0 Then { //loss 1씩 증가 loss = loss+1; //consecLoss 1씩 증가 consecLoss = consecLoss+1; //consecLoss이 3이면 패수를 누적패수에서 누적패수조정으로 변경 if consecLoss == 연속패수 Then { 패수 = 누적패수조정; } } Else //손실이 아니면 consecLoss으로 초기화 consecLoss = 0; if IsExitName("812",1) or IsExitName("796",1) Then 익절가 = ExitPrice(1);}//영업일 변경if bdate != bdate[1] Then{ //손실횟수 초기화 0 loss = 0; //연속손실횟수 초기화 0 consecLoss = 0; //패수는 누적패수 패수 = 누적패수; //당일거래횟수는 거래횟수 당일거래횟수 = 거래횟수; //진입끝시간은 진입제한시간 진입끝시간 = 진입제한시간; //bigdownCond는 False bigdownCond = False;}//bigdownCond가 False인 상태에서//진입시간이후 조정진입제한시간 전에 시초가대비 BigDown이하 하락한 종가가 발생하면if bigdownCond == False and stime >= 진입시간 and sTime < 조정진입제한시간 and L <= DayOpen-BigDown Then //전일종가대비이면 DayOpen-> DayClose(1){ //BigDown는 true bigdownCond = true; //당일거래횟수는 조정거래횟수로 변경 당일거래횟수 = 조정거래횟수; //진입끝시간은 조정진입제한시간로 변경 진입끝시간 = 조정진입제한시간; //진입제한시간이후에 발생했다면 Tcond가 False이므로 //Tcond는 true로 변경 if sTime >= 진입제한시간 and Tcond == False Then Tcond = true;}if TotalTrades > TotalTrades[1] and PositionProfit(1) < 0 Then loss = loss+1;if (sdate != sdate[1] and stime >= 진입시간) or (sdate == sdate[1] and stime >= 진입시간 and stime[1] < 진입시간) Then Tcond = true; if (sdate != sdate[1] and stime >= 진입끝시간) or (sdate == sdate[1] and stime >= 진입끝시간 and stime[1] < 진입끝시간) Then Tcond = false; if (sdate != sdate[1] and stime >= 진입시간) or (sdate == sdate[1] and stime >= 진입시간 and stime[1] < 진입시간) Then{ T1 = TotalTrades; E1 = 0; HH = H; }if stime >= 진입시간 then{ if H > HH Then HH = H; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 Then { if E1 == 0 and C <= HH-PriceScale*B1 Then { E1 = 1; L1 = L; i1 = index; V1 = HH; //시작점 종가 } if E1 == 1 and index > i1 then{ if L < L1 Then L1 = L; #고가가 시작봉종가보다 작을 때만 눌림체크 if H <= V1 and H >= L1+PriceScale*진입눌림1 Then{ E1 = 2; i1 = index; S1 = L1; } } //시작점 종가보다 높은 가격이 발생하면 초기화 if E1 >= 1 and H > V1 Then{ E1 = 0; HH = H; } if loss < 패수 and E1 == 2 and index > i1 and C <= S1-PriceScale*진입돌파1 and Tcond == true Then{ sell("s1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; HH = H; } if H > HH Then HH = H; if MarketPosition == 0 and entry >= 1 and entry < 당일거래횟수 Then{ if E1 == 0 and C <= HH-PriceScale*B2 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*진입눌림2 Then{ E1 = 2; i1 = index; S1 = L1; } } if loss < 패수 and E1 == 2 and index > i1 and C <= S1-PriceScale*진입돌파2 and Tcond == true and (익절가 == 0 or (익절가 > 0 and C < 익절가)) Then{ sell("s2"); E1 = 0; } }} if marketposition() == -1 and IsEntryName("s1") == true and stime<s1lock Then ExitShort("812",Atlimit,EntryPrice-s1gl);if marketposition() == -1 and IsEntryName("s2") == true and stime<s2lock Then ExitShort("796",Atlimit,EntryPrice-s2gl);if MarketPosition== -1 Then{ if IsEntryName("s1") == true Then { SetStopLoss(PriceScale*als,PointStop); SetStopTrailing(PriceScale*atr2,PriceScale*atr1,PointStop,1); } Else if IsEntryName("s2") == true Then { SetStopLoss(PriceScale*bls,PointStop); SetStopTrailing(PriceScale*btr2,PriceScale*btr1,PointStop,1); } Else { SetStopLoss(0); SetStopTrailing(0,0); }}SetStopEndofday(151500);
프로필 이미지
목마와숙녀
2025-11-13
136
글번호 228036
시스템
답변완료

종목검색식 부탁드립니다.

RR=Rsi(14);MR=Ma(RR,5);CrossUp(MR,70)간단한 수식 같은데 Var : RR(0),MR(0);RR=Rsi(14);MR=Ma(RR,5);If CrossUp(MR,70) Then Find(1);이렇게 수식을 작성하니 키움수식과 일치하지 않는것 같아 문의 드립니다.잘못된 부분이 있으면 수정 부탁드립니다.
프로필 이미지
지구소방대
2025-11-13
119
글번호 228035
종목검색
답변완료

조건검색문의드립니다

2개 조건검색식 부탁드립니다 [1] [캔들60선밑 매수거래량 보조지표 -- 막대그래프] 수식 VR(단기)-VR(장기)/VR(기간)*100 지표조건설정 기간 60 단기20 장기60 (요청사항) 보조지표 막대가 반드시 앞에음막대(파란색: 기본2개이상있고)가 형성되어있고 반드시첫번째 양막대(주황색) 형성시, 이때 캔들의 위치가 지수60일선 밑에있거나 or 지수60일선이 캔들몸통(꼬리도 됨)관통시 종목이 검색되게 부탁드립니다(첫양막대(주황색)형성시 RSI(14) 값은 45이상이면 좋겠습니다) [2] 1. AVGIF (조건부 평균) AVGIF는 특정 기간 동안 지정된 조건이 참(True)인 경우의 값들만 골라서 평균을 냅니다. 📝 계산 내용 (논리적 순서): 데이터 수집: 계산에 사용할 데이터(예: C-A, 즉 이격도)를 준비합니다. 조건 검사: 각 데이터마다 조건을 검사합니다. (예: C-A < 0 인가?) 선별 및 합산: 조건이 참(True)인 데이터 값만 모두 더합니다 (TotalSum). 카운트: 조건이 참(True)이었던 횟수를 셉니다 (Count). 평균 계산: AVGIF = TotalSum / Count 2. STDEVIF (조건부 표준편차) STDEVIF는 특정 기간 동안 지정된 조건이 참(True)인 경우의 값들만 골라서 표준편차를 냅니다. 표준편차는 데이터가 평균으로부터 얼마나 흩어져 있는지를 나타냅니다. 📝 계산 내용 (논리적 순서): 조건부 평균 계산: AVGIF를 먼저 계산합니다. (위 1번 항목 참조) Conditional_Average = AVGIF(데이터, 조건) 조건 검사: 다시 모든 데이터를 검사하여 조건을 확인합니다. (예: C-A < 0 인가?) 편차 제곱의 합 계산: 조건이 참(True)인 데이터에 대해서만, (데이터 값 - Conditional_Average) 위 값의 제곱(편차의 제곱)을 구합니다. 이 편차의 제곱 값들을 모두 더합니다 (SumOfSquaredDiffs). 카운트: 조건이 참(True)이었던 횟수를 셉니다 (Count). 분산 및 표준편차 계산: Conditional_Variance = SumOfSquaredDiffs / Count (조건부 분산) STDEVIF = Sqrt(Conditional_Variance) (조건부 표준편차) 문의) 1.3202검색종목 클릭하면 6101화면 자동으로 연동되어서 차트가 바뀌게 하는방법이 없나요? 2.3202 검색기 검색시 어제는 하루종일 한종목이 검색되었는데 오늘 기준봉1 수정해서 검색하면 어제 그 종목이 않나오는 경우가 많던데 제가 사용법을 잘몰라서 그런건가요?
프로필 이미지
해피럭키
2025-11-13
195
글번호 228034
종목검색
답변완료

수식 부탁 드림니다

안녕하십니까?수식 부탁 드립니다1. 지수_5선 ma(C, per1, 종류) 2. 5선_고점 A = ma(C, per1, 종류); Valuewhen(1, A < A(1), A)3. 5_저점 A = ma(C, per1, 종류); Valuewhen(1, A > A(1), A)----------------------------------------4. 지수_10선 ma(C, per2, 종류) 5. 10선_고점 A = ma(C, per2, 종류); Valuewhen(1, A < A(1), A)6. 10선_저점 A = ma(C, per2, 종류); Valuewhen(1, A > A(1), A)----------------------------------------7. 지수_20선 ma(C, per3, 종류) 8. 20선_고점 A = ma(C, per3, 종류); Valuewhen(1, A < A(1), A)9. 20선_저점 A = ma(C, per3, 종류); Valuewhen(1, A > A(1), A)----------------------------------------per1 = 5per2 = 10per3 = 20종류 = 지수========================항상 감사 합니다
프로필 이미지
s1017051
2025-11-13
139
글번호 228028
지표
답변완료

양봉표현

당일 분봉 차트에서 첫봉이 양봉 이나 음봉 상황 을 어떻게 나타내나요?
프로필 이미지
bsy4834
2025-11-13
91
글번호 228027
사용자 함수
답변완료

청산이 되는 시점

안녕하세요저는 가장 기본적인 청산식으로 아래와 같은 함수를 사용합니다. Buy("매수", OnClose, Def, 3); ExitLong("매수익절1", Atlimit, EntryPrice + PriceScale*10, "매수", 1, 1); 그런데 이 청산 방식은 신호 발생한 캔들 바로 다음 캔들 에서는 실행되지 않고, 2번째 캔들 이후부터 실행이 됩니다. 2번째가 아닌 1번째 캔들에서 실행되게 할 수 있는지 여쭤봅니다.감사합니다
프로필 이미지
맘속의행복
2025-11-13
81
글번호 228026
시스템
답변완료

종목검색식으로 부탁 드려요.

안녕하세요.키움 강세 약세 수식이예요. 약세로 전환되 있는 종목을 찾는 종목검색으로 부탁 드려요.<TEMA50 강세약세>(강세)EMA1=eavg(c,50);EMA2=eavg(EMA1,50);EMA3=eavg(EMA2,50);B=3*EMA1-3*EMA2+EMA3;B>B(1)(약세)EMA1=eavg(c,50);EMA2=eavg(EMA1,50);EMA3=eavg(EMA2,50);B=3*EMA1-3*EMA2+EMA3;B<=B(1)
프로필 이미지
성찰
2025-11-13
130
글번호 228025
종목검색
답변완료

전략 매수 매도 색깔 표출하기

안녕하세요 수고 많으십니다전략(시스템)에서 if 조 건 then {Buy("LONG");}를 입력햇을때 매수전략 조건이 그래프에 발생하면 LONG이 표시되는데 이때, 이 LONG 이라는 글자를 색깔을 지정하고 싶은데 방법이 잇을가요?매수일땐 빨강 , 매도일때는 파랑색으로...... 명령수식이 있나요?
프로필 이미지
knoll
2025-11-13
122
글번호 228024
시스템
답변완료

문의드립니다.

Input : Period(14), sigPeriod(9),수량(1);var : TRIXv(0),TRIXs(0);TRIXv = TRIX(Period);TRIXs = ema(TRIXv,sigPeriod);if MarketPosition <= 0 and CrossUp(TRIXv,TRIXs) and TRIXv < 0 Then Buy("B",OnClose,def,수량);if MarketPosition == 1 and CrossDown(TRIXv,TRIXs) Then ExitLong("BX");위에 식을 시가 위에서만 신호 발생하도록 하여 매수로 매매 하고자 합니다.Input : Period(14), sigPeriod(9),수량(1);var : TRIXv(0),TRIXs(0);TRIXv = TRIX(Period);TRIXs = ema(TRIXv,sigPeriod);if MarketPosition >= 0 and CrossDown(TRIXv,TRIXs) and TRIXv > 0 Then Sell("S",OnClose,def,수량);if MarketPosition == -1 and CrossUp(TRIXv,TRIXs) Then ExitShort("SX");위에 식이 시가 아래에서만 신호 발생하도록 하여 매도로 매매하고자 합니다. 부탁드립니다.
프로필 이미지
선물대장
2025-11-13
139
글번호 228011
시스템
답변완료

진입제한 재문의

시스템답변 2예스스탁 예스스탁 답변2025-11-11 15:41:35안녕하세요예스스탁입니다.var : TT(0),T1(0),entry(0);TT = TotalTrades;if Bdate > Bdate[1]+30 Then{ T1 = TT[1];}entry = TT-T1+IFF(MarketPosition!=0,1,0);if crossup(a,b) and entry < 1 then buy();즐거운 하루되세요안녕하세요 감사합니다상기의 수식과 아래 수식의 신호가 일치하게 나오지 않습니다 일봉에서 한 달에 한 번 이상은 진입을 못하게 하려고 아래와 같이 일일이 월별 기간을 지정하려니 매우 불편합니다 다시 한번 검토 부탁드립니다 if sDate >= 20250101 and sDate < 20250131 Then{if CrossUp(Value32,Value33) Thenif IsEntryName("돌파1")==False ThenBuy("up1");}if sDate >= 20250201 and sDate < 20250228 Then{if CrossUp(Value32,Value33) Thenif IsEntryName("돌파2")==False ThenBuy("up2");}if sDate >= 20250301 and sDate < 20250331 Then{if CrossUp(Value32,Value33) Thenif IsEntryName("돌파3")==False ThenBuy("up3");}if sDate >= 20250401 and sDate < 20250430 Then{if crossup(Value32,Value33) Thenif IsEntryName("돌파4")==False ThenBuy("up4");}if sDate >= 20250501 and sDate < 20250531 Then{if CrossUp(Value32,Value33) Thenif IsEntryName("돌파5")==False ThenBuy("up5");}if sDate >= 20250601 and sDate < 20250631 Then{if CrossUp(Value32,Value33) Thenif IsEntryName("돌파6")==False ThenBuy("up6");}if sDate >= 20250701 and sDate < 20250731 Then{if CrossUp(Value32,Value33) Thenif IsEntryName("돌파7")==False ThenBuy("up7");}if sDate >= 20250801 and sDate < 20250831 Then{if CrossUp(Value32,Value33) Thenif IsEntryName("돌파8")==False ThenBuy("up8");}if sDate >= 20250901 and sDate < 20250931 Then{if CrossUp(Value32,Value33) Thenif IsEntryName("돌파9")==False ThenBuy("up9");}if sDate >= 20251001 and sDate < 20251031 Then{if CrossUp(Value32,Value33) Thenif IsEntryName("돌파10")==False ThenBuy("up10");}if sDate >= 20251101 and sDate < 20251131 Then{if CrossUp(Value32,Value33) Thenif IsEntryName("돌파11")==False ThenBuy("up11");}if sDate >= 20251201 and sDate < 20251231 Then{if CrossUp(Value32,Value33) Thenif IsEntryName("돌파12")==False ThenBuy("up12");}
프로필 이미지
파티아
2025-11-13
113
글번호 228009
시스템