커뮤니티

조건검색문의드립니다

프로필 이미지
해피럭키
2025-12-06 00:07:12
85
글번호 228733
답변완료

2개 조건검색식 부탁드립니다

[1]아래수식을 oscillator가 signalLine을 상향 돌파(두선이 교차할때)하는

종목만 검색되도록 조건검색식으로 수정부탁드립니다

input : smoothingLength(5);

input : fastLength(20);

input : slowLength(50);

input : srcMA(close);

input : atrLength(20);

input : atrMultiplier(1.2);

input : signalSensitivity(0.03);

input : showVortexFill(true);

input : fillTransparency(85);

input : enhancedColors(true);

input : enableCandleColor(true);

var : a1(0),b1(0),c2(0),c3(0),c1(0),ss(0),smoothedPrice(0);

var : fastMA(0),slowMA(0),oscillator(0),oscillatorNormalized(0);

var : accel_raw(0),accel_smooth(0),alpha(0),atrv(0),signalLine(0);

a1 = exp(-1.414 * 3.14159 / smoothingLength);

b1 = 2.0 * a1 * cos(1.414 * 3.14159 / smoothingLength);

c2 = b1;

c3 = -a1 * a1;

c1 = 1 - c2 - c3;

ss = 0.0;

ss = c1 * (srcMA + iff(isnan(srcMA[1])==true,0,srcma[1])) / 2 + c2 * iff(isnan(ss[1])==true,0,ss[1]) + c3 * iff(isnan(ss[1])==true,0,ss[1]);

smoothedPrice = ss;

fastMA = ema(smoothedPrice, fastLength);

slowMA = ema(smoothedPrice, slowLength);

oscillator = fastMA - slowMA;

oscillatorNormalized = oscillator / atr(20) * 100;

// Enhanced color system

accel_raw = oscillator - oscillator[1];

accel_smooth = ema(accel_raw, 3);

alpha = 1 / 20 ;

ATRV = IFf(IsNan(ATRV[1]) == true, ma(TrueRange,20) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATRV[1])==true,0,ATRV[1]));

var : ex(0),accel_norm(0),hue_raw(0),hue(0);

ex = exp(2 * (accel_smooth / (ATRV * 0.01)));

accel_norm = (ex - 1) / (ex + 1);

hue_raw = 60 + accel_norm * 60;

hue = iff(IsNan(hue_raw[1]) == true,hue_raw , (hue_raw + hue_raw[1]) / 2);

signalLine = ema(oscillator, 25);

if CrossUp(oscillator,signalLine) Then

Buy();

if CrossDown(oscillator,signalLine) Then

Sell();

[2]

M5 = ma(C, 5);

M10 = ma(C, 10);

M20 = ma(C, 20);

M60 = ma(C, 60);

배열A = M5>M10 && M10>M20 && M20>M60;

배열B = M10>M20 && M20>M60;

조건 =

sum(배열A(5), 10) == 10 &&

sum(배열B,15) == 15 &&

CrossUp(M5, M10);

cnt = CountSince(배열A && !배열A(1), 조건);

cnt==1 && cnt(1)==0

종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-12-09 09:26:54

안녕하세요 예스스탁입니다. 1 input : smoothingLength(5); input : fastLength(20); input : slowLength(50); input : srcMA(close); input : atrLength(20); input : atrMultiplier(1.2); input : signalSensitivity(0.03); input : showVortexFill(true); input : fillTransparency(85); input : enhancedColors(true); input : enableCandleColor(true); var : a1(0),b1(0),c2(0),c3(0),c1(0),ss(0),smoothedPrice(0); var : fastMA(0),slowMA(0),oscillator(0),oscillatorNormalized(0); var : accel_raw(0),accel_smooth(0),alpha(0),atrv(0),signalLine(0); a1 = exp(-1.414 * 3.14159 / smoothingLength); b1 = 2.0 * a1 * cos(1.414 * 3.14159 / smoothingLength); c2 = b1; c3 = -a1 * a1; c1 = 1 - c2 - c3; ss = 0.0; ss = c1 * (srcMA + iff(isnan(srcMA[1])==true,0,srcma[1])) / 2 + c2 * iff(isnan(ss[1])==true,0,ss[1]) + c3 * iff(isnan(ss[1])==true,0,ss[1]); smoothedPrice = ss; fastMA = ema(smoothedPrice, fastLength); slowMA = ema(smoothedPrice, slowLength); oscillator = fastMA - slowMA; oscillatorNormalized = oscillator / atr(20) * 100; // Enhanced color system accel_raw = oscillator - oscillator[1]; accel_smooth = ema(accel_raw, 3); alpha = 1 / 20 ; ATRV = IFf(IsNan(ATRV[1]) == true, ma(TrueRange,20) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATRV[1])==true,0,ATRV[1])); var : ex(0),accel_norm(0),hue_raw(0),hue(0); ex = exp(2 * (accel_smooth / (ATRV * 0.01))); accel_norm = (ex - 1) / (ex + 1); hue_raw = 60 + accel_norm * 60; hue = iff(IsNan(hue_raw[1]) == true,hue_raw , (hue_raw + hue_raw[1]) / 2); signalLine = ema(oscillator, 25); if CrossUp(oscillator,signalLine) Then Find(1); 2 var : M5(0),M10(0),M20(0),M60(0); var : 배열A(False),배열B(False),조건(False),cnt(Nan); M5 = ma(C, 5); M10 = ma(C, 10); M20 = ma(C, 20); M60 = ma(C, 60); 배열A = M5>M10 && M10>M20 && M20>M60; 배열B = M10>M20 && M20>M60; 조건 = CountIf(배열A, 10)[1] == 10 && CountIf(배열B,15) == 15 && CrossUp(M5, M10); if 배열A && 배열A[1] == False Then cnt = 0; if 조건 == true Then cnt = cnt+1; if cnt==1 && cnt[1] ==0 Then Find(1); 즐거운 하루되세요