답변완료
예스종목검색으로 변환요청합니다.^^*
*아래지표 수식을 예스 종목검색으로 요청드립니다.. 항상 도움주셔서 감사합니다...^^*input : short_l1(5);input : short_l2(20);input : short_l3(15);input : long_l1(20);input : long_l2(15);var : shortTermXtrender(0),longTermXtrender(0);var : shortXtrenderCol(0),maShortTermXtrender(0),colShortTermXtrender(0);var : longXtrenderCol(0),macollongXtrenderCol(0),tx(0);Function RSIvalue Numeric{ Inputs: value(Numeric),Length(NumericSimple); Variables: Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); If CurrentBar == 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = value[Counter] - value[Counter+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If CurrentBar > 1 AND Length > 0 Then Begin UpAmt = value[0] - value[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSIvalue = 100 * UpAvg / (UpAvg + DownAvg); Else RSIvalue = 0;}EndFunctionFunction T3 Numeric{ Inputs: src(Numeric),len(Numeric); var : xe1_1(0),xe2_1(0),xe3_1(0),xe4_1(0),xe5_1(0),xe6_1(0); var : b_1(0),c1_1(0),c2_1(0),c3_1(0),c4_1(0); xe1_1 = ema(src, len); xe2_1 = ema(xe1_1, len); xe3_1 = ema(xe2_1, len); xe4_1 = ema(xe3_1, len); xe5_1 = ema(xe4_1, len); xe6_1 = ema(xe5_1, len); b_1 = 0.7; c1_1 = -b_1*b_1*b_1; c2_1 = 3*b_1*b_1+3*b_1*b_1*b_1; c3_1 = -6*b_1*b_1-3*b_1-3*b_1*b_1*b_1; c4_1 = 1+3*b_1+b_1*b_1*b_1+3*b_1*b_1; T3 = c1_1 * xe6_1 + c2_1 * xe5_1 + c3_1 * xe4_1 + c4_1 * xe3_1;}EndFunctionshortTermXtrender = RSIvalue(ema(close, short_l1) - ema(close, short_l2), short_l3 ) - 50;longTermXtrender = RSIvalue(ema(close, long_l1), long_l2 ) - 50;shortXtrenderCol = iff(shortTermXtrender > 0 , iff(shortTermXtrender > shortTermXtrender[1] , lime , Green), iff(shortTermXtrender > shortTermXtrender[1] , red ,DarkRed));plot1(shortTermXtrender, "B-Xtrender Osc. - Histogram",shortXtrenderCol);maShortTermXtrender = t3( shortTermXtrender , 5 );colShortTermXtrender = IFf( maShortTermXtrender > maShortTermXtrender[1] , lime , red);plot2(maShortTermXtrender,"B-Xtrender Shadow",Black);plot3(maShortTermXtrender,"B-Xtrender Color",colShortTermXtrender);if maShortTermXtrender > maShortTermXtrender[1] and maShortTermXtrender[1] < maShortTermXtrender[2] Then{ tx = Text_New_Self(sDate,sTime,maShortTermXtrender,"●"); Text_SetStyle(tx,2,2); Text_SetColor(tx,Lime);}if maShortTermXtrender < maShortTermXtrender[1] and maShortTermXtrender[1] > maShortTermXtrender[2] Then{ tx = Text_New_Self(sDate,sTime,maShortTermXtrender,"●"); Text_SetStyle(tx,2,2); Text_SetColor(tx,Red);}longXtrenderCol = iff(longTermXtrender> 0 , IFf(longTermXtrender > longTermXtrender[1] , lime , Green) , IFf(longTermXtrender > longTermXtrender[1] , red , DarkRed));macollongXtrenderCol = iff(longTermXtrender > longTermXtrender[1] , lime , red);plot4(longTermXtrender ,"B-Xtrender Trend - Histogram",longXtrenderCol);plot5(longTermXtrender ,"B-Xtrender Trend - Line", Black);plot6(longTermXtrender ,"B-Xtrender Trend - Line", macollongXtrenderCol);
답변완료
지표와 시스템
1. 아래 수식에서 0선 통과시 소리가 나는 알람을 추가하고 싶습니다.2.아래 수식을 시스템 식으로 만들어 주세요. 0선 통과시 2계약 진입후 1계약은 20틱에 매도하고 나머지는 40틱에 매도 되는걸로. 반대로 손절은 진입후 1계약은 20틱 나머지 40틱 손절처리 부탁드립니다. input : short(30),long(200); var : macdv(0),tx(0); macdv = macd(short,long); Plot1(macdv); PlotBaseLine1(0); var : tx1(0),tx2(0); var : tl1(0),tl2(0),box1(0); var : tl3(0),tl4(0),box2(0); if CrossUp(macdv,0) Then { tx1 = TL_New(sDate,sTime,0,sDate,sTime,99999999); tl_SetColor(tx1,Red); tl_SetSize(tx1,0); tL_SetStyle(tx1,2); tx1 = Text_New(sDate,sTime,L,"▲"); Text_SetColor(tx1,Red); Text_SetSize(tx1,40); Text_SetStyle(tx1,2,0); tx2 = Text_New_Self(sDate,sTime,0,"▲"); Text_SetColor(tx2,rgb(255, 0, 127)); Text_SetSize(tx2,20); Text_SetStyle(tx2,2,0); ; } Else { TL_SetEnd(tl1,NextBarSdate,NextBarStime,var1); TL_SetEnd(tl2,NextBarSdate,NextBarStime,var2); box_SetEnd(box1,NextBarSdate,NextBarStime,var2); } if CrossDown(macdv,0) Then { tx1 = TL_New(sDate,sTime,0,sDate,sTime,999999999); tl_SetColor(tx1,Black); tl_SetSize(tx1,0); tL_SetStyle(tx1,2); tx1 = Text_New(sDate,sTime,H,"▼"); Text_SetColor(tx1, Black); Text_SetSize(tx1,40); Text_SetStyle(tx1,2,1); tx2 = Text_New_Self(sDate,sTime,0,"▼"); Text_SetColor(tx2,Black); Text_SetSize(tx2,20); Text_SetStyle(tx2,2,1); } Else { TL_SetEnd(tl3,NextBarSdate,NextBarStime,var3); TL_SetEnd(tl4,NextBarSdate,NextBarStime,var4); box_SetEnd(box2,NextBarSdate,NextBarStime,var4); }
답변완료
문의드립니다
1번 시스템input : length(20),BB_mult(2.0);var : BB_basis(0),dev(0),BB_upper(0),BB_lower(0);BB_basis = ma(close, length);dev = BB_mult * std(close, length);BB_upper = BB_basis + dev;BB_lower = BB_basis - dev;input : KC_mult_high(1.0);input : KC_mult_mid(1.5);input : KC_mult_low(2.0);var : KC_basis(0),devKC(0);var : KC_upper_high(0),KC_lower_high(0);var : KC_upper_mid(0),KC_lower_mid(0);var : KC_upper_low(0),KC_lower_low(0);var : NoSqz(False),LowSqz(False),MidSqz(False),HighSqz(False);var : mom(0),iff_1(0),iff_2(0),mom_color(0),sq_color(0);KC_basis = ma(close, length);devKC = ma(TrueRange, length);KC_upper_high = KC_basis + devKC * KC_mult_high;KC_lower_high = KC_basis - devKC * KC_mult_high;KC_upper_mid = KC_basis + devKC * KC_mult_mid;KC_lower_mid = KC_basis - devKC * KC_mult_mid;KC_upper_low = KC_basis + devKC * KC_mult_low;KC_lower_low = KC_basis - devKC * KC_mult_low;//SQUEEZE CONDITIONSNoSqz = BB_lower < KC_lower_low or BB_upper > KC_upper_low; //NO SQUEEZE: GREENLowSqz = BB_lower >= KC_lower_low or BB_upper <= KC_upper_low; //LOW COMPRESSION: BLACKMidSqz = BB_lower >= KC_lower_mid or BB_upper <= KC_upper_mid ;//MID COMPRESSION: REDHighSqz = BB_lower >= KC_lower_high or BB_upper <= KC_upper_high; //HIGH COMPRESSION: ORANGE//MOMENTUM OSCILLATORmom = LRL(close - avg(avg(highest(high, length), lowest(low, length)),ma(close, length)), length);//MOMENTUM HISTOGRAM COLORiff_1 = iff(mom > iff(isnan(mom[1])==true,0,mom[1]) , lime , green);iff_2 = iff(mom < iff(isnan(mom[1])==true,0,mom[1]) , red , maroon);mom_color = iff(mom > 0 , iff_1 , iff_2);//SQUEEZE DOTS COLORsq_color = iff(HighSqz , red ,IFf(MidSqz , Cyan ,IFf(LowSqz , black , Yellow)));if mom_color == lime and (sq_color == Cyan or sq_color == Red) Then Buy();if mom_color == Red and (sq_color == Cyan or sq_color == Red) Then ExitLong();2번 시스템input : atrMult(45);input : atrlen(12);input : rsmlen(3);input : tplen(14);var : i(0),sum(0),source(0);var : alpha(0),atrValue1(0),upperLevel(0),lowerLevel(0);var : previousLowerLevel(0),previousUpperLevel(0);var : trendDirection(Nan),superTrendValue(Nan);var : previousTrend(0);if CurrentBar > 1 Then { sum = 0; for i = 0 to rsmlen-1 { sum = sum + c[i]*c[i]; } source = sqrt(sum/rsmlen); alpha = 1 / atrlen ; atrValue1 = IFf(IsNan(atrValue1[1]) == true, ma(TrueRange,atrlen) , alpha * TrueRange + (1 - alpha) * IFf(isnan(atrValue1[1])==true,0,atrValue1[1])); upperLevel = source + atrMult * atrValue1; lowerLevel = source - atrMult * atrValue1; previousLowerLevel = iff(isnan(lowerLevel[1])==true,0,lowerLevel[1]); previousUpperLevel = iff(isnan(upperLevel[1])==true,0,upperLevel[1]); // Ensure continuity of lower and upper bands lowerLevel = iff(lowerLevel > previousLowerLevel or source[1] < previousLowerLevel , lowerLevel , previousLowerLevel); upperLevel = iff(upperLevel < previousUpperLevel or source[1] > previousUpperLevel , upperLevel , previousUpperLevel); // Determine direction and SuperTrend previousTrend = superTrendValue[1]; // Initialize direction if IsNan(atrValue1[1]) == true Then trendDirection = 1; else if previousTrend == previousUpperLevel Then trendDirection = iff(source > upperLevel , -1 , 1); else trendDirection = iff(source < lowerLevel , 1 , -1); // Set SuperTrend value based on direction superTrendValue = iff(trendDirection == -1 , lowerLevel , upperLevel);}var : dist(0),chg(0),lvlCol(0);var : tp1(0),tp2(0),tp3(0),tp4(0),tp5(0),tp6(0),tp7(0);var : printedtp1(0),printedtp2(0),printedtp3(0),printedtp4(0),printedtp5(0),printedtp6(0),printedtp7(0);dist = abs(close-superTrendValue);lvlCol = iff(trendDirection > 0 , red , green);var : key1(0);var : key2(0);var : key3(0);var : key4(0);var : key5(0);var : key6(0);var : key7(0);if CrossUp(trendDirection, 0) or CrossDown(trendDirection, 0) Then{ //TL_Delete(keys); printedtp1 = 0; printedtp2 = 0; printedtp3 = 0; printedtp4 = 0; printedtp5 = 0; printedtp6 = 0; printedtp7 = 0; chg = abs(superTrendValue-superTrendValue[1]); tp1 = superTrendValue[1] + IFF(trendDirection > 0 , -chg , chg); tp2 = superTrendValue[1] + IFF(trendDirection > 0 , -chg * 2 , chg * 2); tp3 = superTrendValue[1] + IFF(trendDirection > 0 , -chg * 3 , chg * 3); tp4 = superTrendValue[1] + IFF(trendDirection > 0 , -chg * 4 , chg * 4); tp5 = superTrendValue[1] + IFF(trendDirection > 0 , -chg * 5 , chg * 5); tp6 = superTrendValue[1] + IFF(trendDirection > 0 , -chg * 6 , chg * 6); tp7 = superTrendValue[1] + IFF(trendDirection > 0 , -chg * 7 , chg * 7); key1 = TL_new(sdate[1],stime[1],tp1, sDate,sTime, tp1); TL_SetColor(Key1,lvlCol); TL_SetSize(Key1,2); printedtp1 = 1;}Else TL_SetEnd(key1,sDate,sTime,TP1); var : u(0),d(0),alp(0),ur(0),dr(0),rs(0),R(0),tp(False);u = max(dist - dist[1], 0);d = max(dist[1] - dist, 0);alp = 1/tplen;ur = IFf(IsNan(ur[1]) == true, ma(u,tplen) , alp * u + (1 - alp) * IFf(isnan(ur[1])==true,0,ur[1]));dr = IFf(IsNan(dr[1]) == true, ma(d,tplen) , alp * d + (1 - alp) * IFf(isnan(dr[1])==true,0,dr[1]));rs = ur / dr;R = 100 - 100 / (1 + rs);tp = CrossDown(R, 60);var : extreme(0);var : extreme_tp1_dist(0);var : extreme_tp2_dist(0);var : extreme_tp3_dist(0);var : extreme_tp4_dist(0);var : extreme_tp5_dist(0);var : extreme_tp6_dist(0);var : extreme_tp7_dist(0);extreme = iff(trendDirection > 0 , low , high);extreme_tp1_dist = abs(extreme - tp1);extreme_tp2_dist = abs(extreme - tp2);extreme_tp3_dist = abs(extreme - tp3);extreme_tp4_dist = abs(extreme - tp4);extreme_tp5_dist = abs(extreme - tp5);extreme_tp6_dist = abs(extreme - tp6);extreme_tp7_dist = abs(extreme - tp7);var : tx(0);if tp and trendDirection > 0 Then{ tx = Text_New(sDate,sTime,L,"X"); Text_SetStyle(tx,2,0); Text_SetColor(tx,Red); Text_SetSize(tx,20); Text_SetBold(tx,1); if MarketPosition <= 0 or (MarketPosition == 1 and MaxEntries < 10) Then Buy("b");}if tp and trendDirection < 0 Then{ tx = Text_New(sDate,sTime,H,"X"); Text_SetStyle(tx,2,1); Text_SetColor(tx,Green); Text_SetSize(tx,20); Text_SetBold(tx,1); if MarketPosition >= 0 or (MarketPosition == -1 and MaxEntries < 10) Then Sell("s");}if printedtp2 == 0 and extreme_tp2_dist < extreme_tp1_dist Then{ key2 = TL_new(sdate[1],stime[1],tp2, sDate,sTime, tp2); TL_SetColor(Key2,lvlCol); TL_SetSize(Key2,2); printedtp2 = 1;}Else{ if printedtp2 == 1 Then TL_SetEnd(key2,sDate,sTime,TP2);}if printedtp3 == 0 and extreme_tp3_dist < extreme_tp2_dist Then{ key3 = TL_new(sdate[1],stime[1],tp3, sDate,sTime, tp3); TL_SetColor(Key3,lvlCol); TL_SetSize(Key3,2); printedtp3 = 1;}Else{ if printedtp3 == 1 Then TL_SetEnd(key3,sDate,sTime,TP3);}if printedtp4 == 0 and extreme_tp4_dist < extreme_tp3_dist Then{ key4 = TL_new(sdate[1],stime[1],tp4, sDate,sTime, tp4); TL_SetColor(Key4,lvlCol); TL_SetSize(Key4,2); printedtp4 = 1;}Else{ if printedtp4 == 1 Then TL_SetEnd(key4,sDate,sTime,TP4);}if printedtp5 == 0 and extreme_tp5_dist < extreme_tp4_dist Then{ key5 = TL_new(sdate[1],stime[1],tp5, sDate,sTime, tp5); TL_SetColor(Key5,lvlCol); TL_SetSize(Key5,2); printedtp5 = 1;}Else{ if printedtp5 == 1 Then TL_SetEnd(key5,sDate,sTime,TP5);}if printedtp6 == 0 and extreme_tp6_dist < extreme_tp5_dist Then{ key6 = TL_new(sdate[1],stime[1],tp6, sDate,sTime, tp6); TL_SetColor(Key6,lvlCol); TL_SetSize(Key6,2); printedtp6 = 1;}Else{ if printedtp6 == 1 Then TL_SetEnd(key6,sDate,sTime,TP6);}if printedtp7 == 0 and extreme_tp7_dist < extreme_tp6_dist Then{ key7 = TL_new(sdate[1],stime[1],tp7, sDate,sTime, tp7); TL_SetColor(Key7,lvlCol); TL_SetSize(Key7,2); printedtp7 = 1;}Else{ if printedtp7 == 1 Then TL_SetEnd(key7,sDate,sTime,TP7);}수고많으십니다 얼마전 만들어주신 수식입니다감사합니다 문의드릴 내용은 위 2개의 수식을 조합하는 내용 입니다1번 시스템이 매수 이면 1점 매도이면 -1점을 계산하고 포지션 없으면 0점2번 시스템도 매수 이면 1점 매도이면 -1점을 계산하여두 시스템의 합이 2점이면 매수진입 매도청산 2점 미만이면 매수청산두 시스템의 합이 -2점이면 매도진입 매수청산 -2점보다 높으면 매도 청산이런 시스템을 부탁드립니다 항상 감사드립니다
2025-12-11
108
글번호 228878
시스템