답변완료
수식문의
수고하십니다.
아래수식으로 3분봉으로 검색하니
1. 당일 전일대비 3%이하 종목,
2. 거래량 100000만주 미만종목,
3. 당일 일봉상 음봉도 검색됩니다.
문의1) 아래수식으로 3분봉 검색시 1.2.3 조건을 충족하는 종목만 검색되도록
수정 부탁드립니다.
1. 전일대비 3% 이상 상승한 양봉
2. 거래량이 10만주 이상(전일거래량의 50% 이상)
3; 매도잔량이 매수잔량보다 큰 종목
Input : P1(20),T1(92929),T2(93000),Mult1(1.03),Mult2(0.5),DV(100000);
Var : Cnt(0),Sum(0),Mav(0),Hl(0),C1(0),BL(0);
Sum = 0;
For Cnt = 0 to P1-1
{
Sum = Sum + DayClose(Cnt);
}
Mav = Sum/P1;
if sDate != sDate[1] Then
Hl = C;
Else
{
if C > Hl Then
Hl = C;
}
if CrossUp(sTime,T1) Then
C1 = Hl[1];
if C1 > DayClose(1)*Mult1 Then
BL = C1;
if CrossUp(C,BL) and C > O and
C > Mav and
DayVolume >= DV and
DayVolume >= DayVolume(1)*Mult2 and
sTime >= T2 Then
Condition1 = true;
if Condition1 == true Then
Find(1);
2023-08-30
1081
글번호 171987
종목검색
답변완료
문의드립니다
input : color(Green);
var : nday(0),week(0),TL(0);
nday = date - int(date/100)*100;
week = DayOfWeek(date);
if nday >= 8 and nday <= 14 and
week == 4 then
Condition1 = True;
Else
Condition1 = False;
if NextBarSdate != sDate and Condition1 == true Then
{
TL = TL_New(NextBarSdate,NextBarStime,0,NextBarSdate,NextBarStime,99999999);
TL_SetColor(TL,color);
}
----------------
위식의 세로선 굵기를 굵게할수 있을까요?
굵기를 지정할수 있어도 좋고 아님 그냥 굵게 해도 좋구요
감사합니다
2023-08-30
1157
글번호 171977
지표
답변완료
수식관련문의 드립니다.
var : entry(0),sum(0),mav(0),cnt(0);
sum = 0;
For cnt = 1 to 20
{
sum = sum + DayClose(cnt);
}
mav = sum/20;
if Bdate != Bdate[1] then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if MarketPosition == 0 and entry < 1 Then
Buy("b",AtStop,DayOpen+(DayHigh(1)-DayLow(1))*0.5);
if MarketPosition == 1 and EntryDate != sDate and DayClose(1)/mav*100 < 100 Then
ExitLong("bx",AtStop,DayOpen+(DayHigh(1)-DayLow(1))*0.5);
위 수식에 장중 오후 2시30분 이후 발생하는 매수신호는 거래가 안되고 이전에 주식을 가지고 있을 경우 매도신호는 거래가되게 추가해주시면 감사하겠습니다.
즐거운 하루되세요~~!
2023-08-30
906
글번호 171974
시스템
답변완료
검색함수가 정상작동하지않습니다.
input : period(48);
var : nflagh(0),nflagCnt(0);
if nflagcnt!= 0 Then
nflagcnt = nflagcnt + 1;
var1 = BarIndex;
if BarIndex+1 >= period Then
{
if NthHighestBar(1,h,period)==0
//&& NthHighestBar(1,h,period)[1]!=0
Then
{
Find(1);
}
}
Else
{
if nflagh < h Then
{
nflagh = h;
nflagcnt = 1;
}
if LastBarOnChart==1 Then
if nflagcnt==1
//&& nflagcnt[1] != 1
Then
Find(1);
}
48봉중 최고가인 검색식을작성했습니다.
신규주나 생긴지 얼마안되는 것은 즉 48봉 미만인경우는 아래 else를타고 48봉 이상이 존재하는 주식은 if 문을 타도록 구현했는데요 지표에서는 잘 작동하는데 검색식으로는
위에 해당하는종목이 검색이안됩니다. 예를들어 오늘 뷰노같은 경우는 아에 검색식에 뜨지 않습니다.
디버깅해보니 NthHighestBar 함수 존재 유무에따라 검색이 되고 안되는 거같은데
이거 NthHighestBar 함수가 파라미터에 들어오는수만큼 없는경우는 검색식인경우 정상작동하지 않는 거같은데요 확인 요청드립니다.
아 해당검색식은 월봉에서 찾는걸로 수행했습니다 월봉상 48벙미만인정목은 해당함수때문에아에검색동닥이안하네요 ㅠㅜ
그리고해당함수에문제가있다면 우회해서 제가짜고싶은로직은 어떻게구현해야하나요?
2023-08-30
1188
글번호 171967
검색
답변완료
83515 답변 주신 것에 추가 문의 드립니다
이전 문의의 답변에 감사드립니다.
아직 해소되지 않은 부분이 있어 추가 문의 드립니다. ^^
아래와 같이 코드를 알려주셨는데요.
==========================================================
var : t(0);
if (sdate != sdate[1] and stime >= ntime) or
(sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then
{
T = 0;
}
if Tcond == true Then
{
if T == 0 Then
{
if up_cnt[1] >= 6 or up_cnt[2] >= 6 Then
T = 1;
if middle_cnt[1] >= 6 or middle_cnt[2] >= 6 Then
T = 2;
if down_cnt[1] >= 6 or down_cnt[2] >= 6 Then
T = 3;
}
if T == 1 Then
{
if MarketPosition <= 0 and CrossUp(C,up[2]) Then
Buy("b1");
if MarketPosition >= 0 and CrossDown(C,up[1]) Then
Sell("s1");
if MarketPosition == 1 Then
ExitLong("Bp1",AtLimit,up[2]+(up[2]-up[1])*3);
if MarketPosition == -1 Then
ExitLong("sp1",AtLimit,up[1]-(up[2]-up[1])*3);
}
if T == 2 Then
{
if MarketPosition <= 0 and CrossUp(C,middle[2]) Then
Buy("b2");
if MarketPosition >= 0 and CrossDown(C,middle[1]) Then
Sell("s2");
if MarketPosition == 1 Then
ExitLong("Bp2",AtLimit,middle[2]+(middle[2]-middle[1])*3);
if MarketPosition == -1 Then
ExitLong("sp2",AtLimit,middle[1]-(middle[2]-middle[1])*3);
}
if T == 3 Then
{
if MarketPosition <= 0 and CrossUp(C,down[2]) Then
Buy("b3");
if MarketPosition >= 0 and CrossDown(C,down[1]) Then
Sell("s3");
if MarketPosition == 1 Then
ExitLong("Bp3",AtLimit,down[2]+(down[2]-down[1])*3);
if MarketPosition == -1 Then
ExitLong("sp3",AtLimit,down[1]-(down[2]-down[1])*3);
}
}
=========================================================================
빨간 박스 구간이
up_cnt 부분.
검정 박스 구간이
middlt_cnt 부분.
파랑 박스 구간이
down_cnt 부분.
인데요.
먼저 6번 이상 터치를 먼저 한 구간에서
매매가 시작되는데요.
첨부된 이미지를 보면
검정 박스 구간이 먼저
6번 이상 터치가 되어 매매가 시작 됐습니다.
그런데 검정 박스 구간의 매매가
시작 되면
빨간 박스 구간과 파랑 박스 구간이
6번 이상 터치가 되어도
매매 진입이 되지 않게 만들려면 어떻게
수식을 짜야 할까요?
2023-08-29
1177
글번호 171966
시스템