답변완료
문의 드립니다.
수고 많으십니다.
종가가 다음의 2가지 조건을 돌파 / 또는 우상향하는 종목 검색식 부탁 드립니다.
1.
(MA(가격, 5, 단순)+MA(가격, 8, 단순))/2
2.
A=avg(c,17);
ATR=avg(max(max(h-L,abs(c(1)-h)),abs(c(1)-L)),17);
B=ATR*2;
D=A+B;
E=Bbandsup(17,2);
e1=crossup(E,D);
e2=crossdown(E,D);
e3=crossdown(c,E);
valuewhen(1,e1 or e2 or e3,o)
감사합니다.
2025-04-16
269
글번호 190181
검색
답변완료
수식 좀 확인 요청 드림니다,
ㅇ 항상 많은 도움 고맙 습니다.
ㅇ 아래 수식에서 점찍기 가 안되는데...
▶ 막대가 아닌 "선" 으로 표시 하고 점찍기 안되는데
수정 좀 요청 드림니다.
##
input : i_lenHARSI(10),i_smoothing(3),i_lenRSI(3);
var : i_colUp(0),i_colDown(0),i_colWick(0),i_source(0);
var : _closeRSI(0),_openRSI(0),_highRSI_raw(0),_lowRSI_raw(0);
var : _highRSI(0),_lowRSI(0),_close(0),_open(0),_high(0),_low(0);
Var : cnt(0), DownAmt1(0), UpAmt1(0), UpSum1(0), DownSum1(0), UpAvg1(0), DownAvg1(0),RSIV1(0);
Var : DownAmt2(0), UpAmt2(0), UpSum2(0), DownSum2(0), UpAvg2(0), DownAvg2(0),RSIV2(0);
var : bodyColour(0),wickColour(0);
i_colUp = red;
i_colDown = teal;
i_colWick = gray;
i_source = (o+h+l+c)/4 ;
_closeRSI = rsi(i_lenHARSI)-50;
_openRSI = IFF(IsNaN(_closeRSI[1]) == False, _closeRSI[1], _closeRSI);
If CurrentBar == 1 AND i_lenHARSI > 0 Then Begin
UpSum1 = 0;
DownSum1 = 0;
For cnt = 0 To i_lenHARSI - 1 Begin
UpAmt1 = H[cnt] - H[cnt+1];
If UpAmt1 >= 0 Then
DownAmt1 = 0;
Else Begin
DownAmt1 = -UpAmt1;
UpAmt1 = 0;
End;
UpSum1 = UpSum1 + UpAmt1;
DownSum1 = DownSum1 + DownAmt1;
End;
UpAvg1 = UpSum1 / i_lenHARSI;
DownAvg1 = DownSum1 / i_lenHARSI;
End
Else
If CurrentBar > 1 AND i_lenHARSI > 0 Then Begin
UpAmt1 = H[0] - H[1];
If UpAmt1 >= 0 Then
DownAmt1 = 0;
Else Begin
DownAmt1 = -UpAmt1;
UpAmt1 = 0;
End;
UpAvg1 = (UpAvg1[1] * (i_lenHARSI - 1) + UpAmt1) / i_lenHARSI;
DownAvg1 = (DownAvg1[1] * (i_lenHARSI - 1) + DownAmt1) / i_lenHARSI;
End;
If UpAvg1 + DownAvg1 <> 0 Then
RSIV1 = 100 * UpAvg1 / (UpAvg1 + DownAvg1);
Else
RSIV1 = 0;
If CurrentBar == 1 AND i_lenHARSI > 0 Then Begin
UpSum2 = 0;
DownSum2 = 0;
For cnt = 0 To i_lenHARSI - 1 Begin
UpAmt2 = L[cnt] - L[cnt+1];
If UpAmt2 >= 0 Then
DownAmt2 = 0;
Else Begin
DownAmt2 = -UpAmt2;
UpAmt2 = 0;
End;
UpSum2 = UpSum2 + UpAmt2;
DownSum2 = DownSum2 + DownAmt2;
End;
UpAvg2 = UpSum2 / i_lenHARSI;
DownAvg2 = DownSum2 / i_lenHARSI;
End
Else
If CurrentBar > 2 AND i_lenHARSI > 0 Then Begin
UpAmt2 = L[0] - L[1];
If UpAmt2 >= 0 Then
DownAmt2 = 0;
Else Begin
DownAmt2 = -UpAmt2;
UpAmt2 = 0;
End;
UpAvg2 = (UpAvg2[1] * (i_lenHARSI - 1) + UpAmt2) / i_lenHARSI;
DownAvg2 = (DownAvg2[1] * (i_lenHARSI - 1) + DownAmt2) / i_lenHARSI;
End;
If UpAvg2 + DownAvg2 <> 0 Then
RSIV2 = 100 * UpAvg2 / (UpAvg2 + DownAvg2);
Else
RSIV2 = 0;
_highRSI_raw = RSIV1-50;
_lowRSI_raw = RSIV2-50;
_highRSI = max(_highRSI_raw, _lowRSI_raw);
_lowRSI = min(_highRSI_raw, _lowRSI_raw);
_close = (_openRSI + _highRSI + _lowRSI + _closeRSI) / 4;
_open = iff(isnan(_open[i_smoothing]) == true, (_openRSI + _closeRSI) / 2 , (_open[1] * i_smoothing + _close[1]) / (i_smoothing + 1));
_high = max(_highRSI, max(_open, _close));
_low = min(_lowRSI, min(_open, _close));
bodyColour = iff(_close > _open , i_colUp , i_colDown);
wickColour = i_colWick;
var1 = TL_New_Self(sDate,sTime,_open,sDate,sTime,_close);
var2 = TL_New_Self(sDate,sTime,_high,sDate,sTime,max(_open,_close));
var3 = TL_New_Self(sDate,sTime,_Low,sDate,sTime,min(_open,_close));
TL_SetColor(var1,bodyColour);
TL_SetColor(var2,i_colWick);
TL_SetColor(var2,i_colWick);
TL_SetSize(var1,3);
TL_SetSize(var2,1);
TL_SetSize(var3,1);
if LastBarOnChart == 1 Then
Plot1(0);
PlotBaseLine1(0);
PlotBaseLine2(30);
PlotBaseLine3(-30);
PlotBaseLine4(40);
PlotBaseLine5(-40);
##====================================================================================
var : TX01(0) ;
if var1 <= 40 Then
{
TX01 = Text_New(Sdate,sTime,L-PriceScale*5,"▲");
Text_SetStyle(TX01,1,2);
Text_SetColor(TX01,Rgb(255,0,0));
Text_SetSize(TX01,25);
Text_SetBold(TX01,25);
//PlaySound("C:CyberOrOWav3 l8.wav");
}
##====================================================================================
고맘습니다. 수고 하십시요.
2025-04-16
352
글번호 190168
지표
답변완료
수식 요청드려요.
안녕하세요. 아래식은 제가 사용하는 수식의 일부입니다.
#보선 이상
Condition30=(lowest(보선, 20)[19] <=C);
Condition31=(lowest(보선[30], 5) <=C) or (lowest(보선[30], 5) <=O)
Condition2 = Condition30 or Condition31;
#파선 이상
Condition33=(lowest(파선[20], 5) <=C);
Condition34=CountIf(파선[20]<=C,5) >= 1;
Condition3 = Condition33 and Condition34;
#K112 이상
Condition35=(lowest(K112, 5) <=C);
Condition36=CountIf(K112<=C,5) >= 1 ;
Condition5 = Condition35 and Condition36;
보선, 파선, K112는 모두 이동평균과 비슷한 라인입니다.
요청 드리는 것은 Condition2, Condition3, Condition5의 조건을
어제는 만족한 것이 하나도 없고,
오늘은 3가지 조건 중 1개 이상을 만족하는 종목을 찾고 싶습니다.
가능하시면 Condition~~ = 형태로 부탁 드립니다.
부탁 드립니다.
좋은 하루 보내세요~
2025-04-16
294
글번호 190167
종목검색
답변완료
문의 드립니다.
변수 선언 후 아래와 같이 심플하게 작성하였습니다.
문제는 차트에서 확인되듯이 조건을 만족하는데도 매수표시가 안 뜹니다.
오후 13시가 넘어서야 생뚱맞게 매수표시가 뜹니다. 이유를 모르겠습니다.
어떤 종목은 조건에 맞을 때 표시가 잘 될 때도 있고, 어떤 종목은 표시가 안되는
이유가 뭔지.. 키움증권에서 같은 조건으로 하면 표시가 잘됩니다.
그래서 같은 조건으로 강조지표를 만들면 첨부된 jpg파일에서 보듯이
하늘색 매수구간은 문제없이 표시가 잘 됩니다.
왜 시스템 지표로 만들면 원하는 조건을 만족해도 매수표시가 안되는건지
문의드립니다.
Var : BU(0), BD(0), 매수가(0),분봉거래대금(0),sum(0), Cnt1(0), Cnt2(0);
Var : V120(0),RV(0), Con_0(True), Con_1(True), Con_2(True);
V120 = Accumn(C*V,120) / Accumn(V,120);
Con_0 = DayHigh > DayOpen*1.09;
Con_1 = cnt<1 and cnt1<1;
Con_2 = DayHigh == Highest(H,20);
if date!=date[1] Then{
var1 = 0;
}
var1 = var1+Money;//당일거래대금 단위 원
ACM = var1/100000000; //당일거래대금 단위를 억으로 변경
if Bdate != Bdate[1] Then {
Cnt = 0;
Cnt1 = 0;
Cnt2 = 0;
Cnt3 = 0;}
if Con_0 and Con_2 and C<V120 Then
Buy("매수");
2025-04-16
653
글번호 190163
시스템
답변완료
문의드립니다~^^
안녕하세요~문의드립니다~^^
아래식에서~ 신호가 나오면 ▶ BOX가 세로(바탕색)로 나타나는데~
▶가로로 바탕색이 나타나도록 부탁드립니다
매수신호나오면 ~ 20 이평선 밑(가로)으로 바탕색(red)이나타나고
매도신호가나오면 ~ 20 이평선 위(가로)로 바탕색(blue)이 나타나게(채워지게) 부탁드립니다
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
# 매수/매도청산
If value1 > value2 Then
{
Buy();
box = box_new(sDate,sTime,H,NextBarSdate,NextBarStime,L);
Box_SetColor(box,red);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
# 매도/매수청산
If value1 < value2 Then
{
Sell();
box = box_new(sDate,sTime,H,NextBarSdate,NextBarStime,L);
Box_SetColor(box,blue);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
2025-04-16
328
글번호 190162
시스템
답변완료
키움수식
A=ma(c, 기간2, 종류);
if(A>A(1)*(1+비율/100), A, 0)
기간2 20
종류 지수
비율 0.3
B1=MA(종가, 40, 단순):
B2=MA(종가, 60, 단순):
다=(C - lowest(C, 20))/C*100;
가=MAX(다, 0);
라=(highest(C, 20)- C)/C*100;
나=MAX(라, 0);
A > B! OR A > B2 &
CROSSUP(가, 나) && 가>나 && C(1)<C
번거롭게하여 죄송합니다
오타수정하엿습니다
항상 감사합니다
2025-04-16
330
글번호 190161
종목검색