답변완료
종목검색식 변경
UM = C < O; UM3 = UM && UM(1) && UM(2); 음봉몸통 = O(1) - C(1); 양봉몸통 = C - O; 큰양봉 = UM3(1) && C > O && 양봉몸통 > 음봉몸통; 기준고가 = Valuewhen(1, 큰양봉, H); 평균거래량 = ma(V, 거래량기간); 거래량조건 = V >= 평균거래량 * 1.5; 돌파 = CrossUp(C, 기준고가); M20 = ma(C, 20); M60 = ma(C, 60); M120 = ma(C, 120); 정배열 = M20 > M60 && M60 > M120; 돌파 && 거래량조건 && 정배열 설정 거래량기간 20키움의 신호검색식입니다. 이 신호가 검색되는 조건검색식을 작성하고 싶습니다.날짜가 나오는 30일치 한번에 검색하는 버전으로 부탁드립니다.
답변완료
종목검색식 변경
저점1 = L < L(1) && L < L(2) && L(1) < L(3) && L(2) < L(3); 저점1위치 = BarsSince(저점1); 저점1가격 = ValueWhen(1, 저점1, L); 고점 = 저점1위치 > 0 && H > H(1) && H > H(2); 네크라인 = ValueWhen(1, 고점, H); 저점2 = 저점1위치 >= 기간 && L < L(1) && L < L(2); 가격차이 = abs(L - 저점1가격) / 저점1가격 * 100; 저점2확인 = 저점2 && 가격차이 <= 허용오차; 패턴 = 저점1위치 >= 기간 && 저점2확인; 상단 = ValueWhen(1, 패턴, 네크라인); 양봉3프로 = C > O && (C - O) / O * 100 >= 3; 첫돌파 = CrossUp(C, 상단) && 양봉3프로; 첫고점라인 = ValueWhen(1, 첫돌파, H); 재진입 = BarsSince(첫돌파) > 0 && C < 상단; 재진입후 = BarsSince(재진입) > 0; 양봉 = C > O; 재돌파 = 재진입후 && CrossUp(C, 첫고점라인) && 양봉; cnt = CountSince(첫돌파, 재돌파); 재돌파 && cnt == 1 && cnt(1) == 0 설정 기간 10 허용오차 5위 조건을 만족하는 종목을 검색하는 종목검색식을 작성 하고 싶습니다.
답변완료
수식문의
항상 수고 많으십니다다음 수식의 변환을 부탁드립니다&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&BU=MA(C, 5 );UPMA=if(C>BU, C-BU,0);M1=BU+AvgIf(UPMA,1,0);AA=sum((H+L+C)/3*V, 10)/sum(V, 10);A1=valuewhen(1, AA>=AA(1), AA); CrossUp(C,M)&& C>A1감사합니다
답변완료
문의 드립니다
수식오류 수정 부탁드립니다.input: ma_fast_period(10); // "Fast MA Period"input: ma_slow_period(30); // "Slow MA Period" input: rsi_period(14); // "RSI Period"input: rsi_oversold(30); // "RSI Oversold Level"input: rsi_overbought(70); // "RSI Overbought Level"input: adx_period(14); // "ADX Period"input: adx_threshold(25); // "ADX Trend Threshold"input: bb_period(20); // "Bollinger Band Period"input: bb_deviation(2); // "Bollinger Band Deviation"input: volume_ma_period(20); // "Volume MA Period"input: use_trend_filter(true); // "Use Trend Filter"input: use_momentum_filter(true);// "Use Momentum Filter"input: use_volatility_filter(true); // "Use Volatility Filter"var: ma_fast(0), ma_slow(0), rsi_value(0), adx_value(0);var: bb_upper(0), bb_lower(0), bb_middle(0), volume_ma(0);var: trend_direction(0), momentum_signal(0), volatility_signal(0);var: exit_signal_long(false), exit_signal_short(false);// ===== 다중 지표 계산 =====// 1. 이동평균 (추세)ma_fast = Average(close, ma_fast_period);ma_slow = Average(close, ma_slow_period);// 2. RSI (모멘텀)rsi_value = RSI(rsi_period);// 3. ADX (추세 강도)adx_value = ADX(adx_period);// 4. 볼린저 밴드 (변동성)Input : Period(20), MultiD(2);var : MAv(0),BBup(0),BBdn(0);bb_middle = Average(close, bb_period);//bb_upper = bb_middle + bb_deviation * StdDev(close, bb_period);//bb_lower = bb_middle - bb_deviation * StdDev(close, bb_period);bb_upper = BollBandUp(Period,bb_deviation);bb_lower = BollBandDown(Period,bb_deviation);// 5. 볼륨 지표volume_ma = Average(volume, volume_ma_period);// ===== 다중 필터 신호 계산 =====// 추세 필터if use_trend_filter Then Begin if ma_fast < ma_slow Then trend_direction = -1; Else if ma_fast > ma_slow Then trend_direction = 1; Else trend_direction = 0;End Else trend_direction = 1; // 필터 사용 안할 때는 항상 true// 모멘텀 필터 if use_momentum_filter Then Begin if rsi_value < rsi_oversold Then momentum_signal = -1; Else if rsi_value > rsi_overbought Then momentum_signal = 1; Else momentum_signal = 0;End Else momentum_signal = 0; // 필터 사용 안할 때는 영향 없음// 변동성 필터if use_volatility_filter Then Begin if close > bb_upper Then volatility_signal = 1; Else if close < bb_lower Then volatility_signal = -1; Else volatility_signal = 0;End Else volatility_signal = 0;// ===== 다중 지표 기반 청산 신호 =====// 롱 포지션 청산 조건exit_signal_long = false;if MarketPosition == 1 Then Begin // 조건 1: 추세 전환 (하락 추세) condition1 == (trend_direction = -1); // 조건 2: 모멘텀 약화 (RSI 과매수에서 하락) condition2 == (momentum_signal = -1) or (rsi_value < 50); // 조건 3: 변동성 확대 (밴드 상단 돌파 후 하락) condition3 == (volatility_signal = -1) or (close < bb_middle); // 조건 4: 추세 강도 약화 (ADX 하락) condition4 = (adx_value < adx_threshold); // 조건 5: 거래량 감소 (추세 약화 확인) condition5 == (volume < volume_ma); // 다중 조건 조합 (3개 이상 충족 시 청산) if condition1 + condition2 + condition3 + condition4 + condition5 >= 3 Then exit_signal_long = true; if exit_signal_long Then ExitLong("Multi Indicator Exit Long");End;// 숏 포지션 청산 조건 exit_signal_short = false;if MarketPosition == -1 Then Begin // 조건 1: 추세 전환 (상승 추세) condition1 = (trend_direction = 1); // 조건 2: 모멘텀 강화 (RSI 과매도에서 상승) condition2 = (momentum_signal = 1) or (rsi_value > 50); // 조건 3: 변동성 확대 (밴드 하단 돌파 후 상승) condition3 = (volatility_signal = 1) or (close > bb_middle); // 조건 4: 추세 강도 약화 (ADX 하락) condition4 = (adx_value < adx_threshold); // 조건 5: 거래량 감소 (추세 약화 확인) condition5 = (volume < volume_ma); // 다중 조건 조합 (3개 이상 충족 시 청산) if (condition1 + condition2 + condition3 + condition4 + condition5) >= 3 Then exit_signal_short = true; if exit_signal_short Then ExitShort("Multi Indicator Exit Short");End;// ===== 고급: 가중치 기반 점수 시스템 =====var: long_score(0), short_score(0);if MarketPosition == 1 Then Begin long_score = 0; if trend_direction = -1 then long_score = long_score + 2; if momentum_signal = -1 then long_score = long_score + 2; if volatility_signal = -1 then long_score = long_score + 1; if adx_value < adx_threshold then long_score = long_score + 1; if volume < volume_ma then long_score = long_score + 1; if long_score >= 5 Then ExitLong("Weighted Score Exit Long");End;if MarketPosition == -1 Then Begin short_score = 0; if trend_direction = 1 then short_score = short_score + 2; if momentum_signal = 1 then short_score = short_score + 2; if volatility_signal = 1 then short_score = short_score + 1; if adx_value < adx_threshold then short_score = short_score + 1; if volume < volume_ma then short_score = short_score + 1; if short_score >= 5 Then ExitShort("Weighted Score Exit Short");End;
답변완료
조건검색문의드립니다
첨부파일 수식오류 정정 요청드립니다input: BBperiod(20), dv(2), Period(120), RSIPeriod(14);var: BBdn(0), t(0), R(0), var1(0), MinVolLine(0), Signal(0), LowestVol(0);BBdn := BollingerBandDown(BBPeriod, dv);R := RSI(RSIPeriod);MinVolLine := Lowest(V, Period);if CurrentBar > 1 then LowestVol := Lowest(V, Period)[1]else LowestVol := V;if V < LowestVol thenbegin var1 := C; if t < 1 then t := 1;end;if (t = 1) and (C < var1) and (C[1] >= var1[1]) then t := 2;if (t = 2) and (L < BBdn) and (L[1] >= BBdn[1]) then t := 3;if (t = 3) and (C > O) and (C >= var1) and (R >= 40) then t := 4;Signal := 0;if (t = 4) thenbegin if (C <= MinVolLine) or ((L <= MinVolLine) and (C >= MinVolLine)) or ((H >= MinVolLine) and (L <= MinVolLine)) then Signal := 1;end;Signal = 1;
답변완료
마이크로 미니 나스닥 매매시간
안녕하세요.여기서 나스닥 시간 설정하는거 보고 만들었는데...문제는 휴일 지나고 나서 매매 시간이 작동이 안되고...그 다음날 부터 매매 시간이 작동이 됩니다.//######################################시간 설정하는곳var : ST(0),ET(0),Tcond(0);IF ET > ST Then SetStopEndofday(ET);Else{ if sDate != sDate[1] Then SetStopEndofday(ET);}if Bdate != Bdate[1] Then{ SetStopEndofday(0); if sTime >= 80000 Then { ST = 071000; //233000; ET = 050000; //060000; } Else { ST = 071000; //223000; ET = 050000; //050000; } Tcond = 1;}if Tcond == 1 and ((sdate != sdate[1] and stime >= ST) or (sdate == sdate[1] and stime >= ST and stime[1] < ST)) Then{ Tcond = 2; IF ET < ST Then { SetStopEndofday(0); }}if Tcond == 2 and ((sdate != sdate[1] and stime >= ET) or (sdate == sdate[1] and stime >= ET and stime[1] < ET)) Then Tcond = 0;if Tcond == 2 Then{ //#######################################################################시간내 전략 넣는곳########### /* ======================= 여기서부터 전략 파트 ======================= *//* --- 시그널 결정 --- */ If FinalState == 1 Then Begin Buy("Buy",AtMarket);End; If FinalState != 1 Then Begin ExitLong("ExitLong",AtMarket);End;//빨강일때 매도/청산 If FinalState == -1 Then Begin Sell("Sell",AtMarket);End; If FinalState != -1 Then Begin ExitShort("ExitShort",AtMarket);End; //#######################################################################시간내 전략 넣는곳###########}살펴봐주세요.
답변완료
종목검색
두가지 문의 사항이 있습니다.문의 1) At = ATR(500);Mm = avg(C, 기간);Rg = At * Rt / 10;Chk = RngChk(Mm, Rg);Range중 = Chk == 0;Range거래량 = if(Range중, V, 0);전체합 = sum(Range거래량);Range봉수 = sum(Range중);평균거래량 = 전체합 / Range봉수;상단 = Mm + Rg;양봉 = C > O;돌파 = C > 상단;거래량급증 = V > 평균거래량 * 배수;A = BBandsUp(20, 2);B1 = eavg(A, 56);D = BBandsUp(40, 2);E = eavg(D, 56);F = BBandsUp(60, 2);G = eavg(F, 56);K = BBandsUp(90, 2);J = eavg(K, 56);T = BBandsUp(100, 2);Y = eavg(T, 56);R = (B1 + E + G + J + Y) / 5;Q = (C - O) / 3;볼밴라인 = if(C > O, R - Q, R);볼밴돌파 = H > 볼밴라인;볼밴위 = C > 볼밴라인;Range중(1) && 돌파 && 양봉 && 거래량급증 && (볼밴돌파 or 볼밴위)위 조건식을 만족하는 종목을 날짜가 나오게 30일치 한번에 검색할 수 있는 조건식으로 작성 부탁드립니다.이때 rngchk 는 아래와 같이 작성되어져서 설정된 함수 입니다.rngchk =A0=abs(C-기준)>범위;A1=abs(C(1)-기준)>범위;A2=abs(C(2)-기준)>범위;A3=abs(C(3)-기준)>범위;A4=abs(C(4)-기준)>범위;A5=abs(C(5)-기준)>범위;A6=abs(C(6)-기준)>범위;A7=abs(C(7)-기준)>범위;A8=abs(C(8)-기준)>범위;A9=abs(C(9)-기준)>범위;A10=abs(C(10)-기준)>범위;A11=abs(C(11)-기준)>범위;A12=abs(C(12)-기준)>범위;A13=abs(C(13)-기준)>범위;A14=abs(C(14)-기준)>범위;A15=abs(C(15)-기준)>범위;A16=abs(C(16)-기준)>범위;A17=abs(C(17)-기준)>범위;A18=abs(C(18)-기준)>범위;A19=abs(C(19)-기준)>범위;A0+A1+A2+A3+A4+A5+A6+A7+A8+A9+A10+A11+A12+A13+A14+A15+A16+A17+A18+A19~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~문의2) 문의 1에서 나온 함수식에 아래 조건을 추가 해서 30일치를 날짜가 나오게 검색하는 조건식으로 한 번 더 작성 부탁드립니다.아래 조건식은 ms 강도 라는 조건을 추치로 만든 것입니다. 이 조건식의 값이 1봉전 기준으로 20 이하 입니다. 즉 , ms강도(1) <=20 이라는 조건을 추가 하고 싶습니다.ms강도 = A_ATR = ATR(500);A_MM = avg(C, 12);A_RG = A_ATR * 10 / 10;A_CHK = RngChk(A_MM, A_RG); A_횡보 = A_CHK == 0;A_횡보전 = A_횡보(1); A_첫돌파 = A_횡보전 && !A_횡보; // 1. Stochastics Slow %K (과열/침체 측정)// StochasticsSlow(12, 5)의 %K 라인 값A_SlowK = StochasticsSlow(12, 5); // 2. Stochastics Slow %D (신호선)A_SlowD = eavg(A_SlowK, 5); // 3. 필터링된 %K 값 (일반적인 모멘텀 측정)A_MS_Score = A_SlowK; // 로직: 첫 돌파 시 %K 값을 저장하고, 횡보가 깨지지 않는 한 값을 유지if(A_첫돌파, A_MS_Score,if(!A_횡보, A_MS_Score, 0))// 라인 설정: 라인