답변완료
수고많으십니다. 한번더 부탁드리겠습니다.선생님
1번
var : AA(0),대금(0),A(0),B(0),DD(0),양대금(0),A1(0),B1(0),D1(0),음대금(0);
대금 = (H+O+L+C)/4*V/100000000;
A=IfF(C>O,대금,0);
B=Accum(A);
A1=IfF(C<O,대금,0);
B1=Accum(A1);
if sDate != sDate[1] Then
{
DD = B[1];
D1 = B1[1];
}
양대금=B-DD;
음대금=B1-D1;
if CROSSUP(양대금,음대금) Then
Find(1);
2번
input : 배분1(0.236),배분2(1.02);
var : 중최고가(0),중최저가(0);
var : 경계(0),경계1(False),경계2(False);
var : 기준봉(0),기준봉1(False),기준봉2(False);
var : 결과기준(0),결과기준1(False),결과기준2(False);
var : 평균(0),평균라인(0);
var : a(0), m5(0),m10(0),m20(0),m60(0),m120(0),m240(0),m480(0);
var : bh(0),bc(0),b(0),aa(0);
중최고가=highest(h,20);
중최저가=lowest(l,20);
경계=(중최고가+중최저가)/2-(중최고가-중최저가)*배분1;
경계1=crossup(c, 경계)&& c>o*배분2;
경계2=crossdown(c, 경계);
if 경계1 or 경계2 Then
기준봉 = O;
기준봉1=crossup(c, 기준봉);
기준봉2=crossdown(c, 기준봉);
if 기준봉1 or 기준봉2 Then
결과기준=o;
결과기준1=crossup(c, 결과기준);
결과기준2=crossdown(c, 결과기준);
if 결과기준1 or 결과기준2 Then
A=o;
M5=ema(C,5);
M10=ema(C,10);
M20=ema(C,20);
M60=ema(C,60);
M120=ema(C,120);
M240=ema(C,240);
M480=ema(C,480);
BH=BollBandUp(20,2);
BC=ma(c,20);
평균=((M5*2)+(M10*2)+(M20*3)+(M60*2)+(M120*3)+(M240*2)+(M480*2)+(BH*1)+(BC*1)) / 18;
평균라인=Ema(Ema(Ema(평균, 5), 5), 5);
B=평균라인 + 20*std(평균라인,5);
AA=sar(0.02,0.2);
if C>=A && CROSSUP(C,B) && AA<=C Then
Find(1);
======================================
1과2에동시에 만족하는 종목검색기 부탁드립니다. 항상 감사드립니다.
2024-08-20
654
글번호 182710
종목검색
답변완료
주석요청
안녕하세요?
아래 글번호 88697번 답변주신 스크립트 주석 좀 부탁드립니다.
감사합니다.
input : Period1(20),Period2(100),타주기분(10),P(100);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : m1(0),m2(0),sum1(0),mav(0),entry(0);
Array : CC[200](0);
m1 = ma(C,Period1);
m2 = ma(C,Period2);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
entry = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or
(Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then
{
for cnt = 199 downto 1
{
CC[cnt] = CC[cnt-1];
}
}
CC[0] = C;
if CC[P-1] > 0 then
{
sum1 = 0;
for cnt = 0 to P-1
{
sum1 = sum1+CC[cnt];
}
mav = sum1/P;
if MarketPosition >= 0 and DayOpen > m2 and m2 > mav and CrossDown(c,m2) and entry < 1 Then
Sell("s",AtMarket);
if MarketPosition == -1 Then
{
if CrossDown(c,mav) Then
ExitShort("sx",AtMarket);
if CountIf(CrossUp(C,m1),BarsSinceEntry) == 3 Then
ExitShort("sx2",AtMarket);
}
if MarketPosition >= 0 and DayOpen < m2 and m2 < mav and CrossUp(c,m2) and entry < 1 Then
Buy("b",AtMarket);
if MarketPosition == 1 Then
{
if CrossUp(c,mav) Then
ExitLong("bx",AtMarket);
if CountIf(CrossDown(C,m1),BarsSinceEntry) == 3 Then
ExitLong("bx2",AtMarket);
}
}
}
SetStopEndofday(150000);
2024-08-20
740
글번호 182703
시스템
답변완료
TL 돌파 표시 + 몇가지 관련 질문드립니다
늘 답변해 주셔서 감사드립니다
질문 1) 전에 알려주셨던 수식 검토해봤는데요
마지막에 #추세선값 상향돌파 부분에서
라인그래프로 있는 부분을 점그래프로 바꿔봤는데 점이 매우 작게 나오네요 굵기를 크게 해도 변화가 없고요. 일단 막대로 해놓으니 나오긴 하는데 점으로도 표기가 되나요???
추세선은 예전것도 보고 싶어서 delete 해제 시켜놨습니다
기본차트에 적용했습니다 검토 부탁드려요~
질문 2)
추세선 돌파는 여부는 반드시 우측연장 표시를 해야 나오나요?
우측연장은 말그대로 연장한 선까지 포함시켜서 돌파 했을때 표시해주는거고,
추세선 범위내에서 (연장없음) 돌파가 발생하면 상관없나요?~
질문3) 우상향 추세선 (pink) 일때는 봉갯수가 10개 이하,
우하향 (블루) 일때는 봉갯수가 5개 이하일때 추세선을 나타내라
이런식으로 나눠서 작성하고 싶습니다
질문4) noplot 은 어떤 경우에 쓰는 함수인가요?
감사합니다
var : n(20);
var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TX(0),TL1(0);
if CountIf(H >= L*1.13,n) >= 1 Then
{
#"최근봉"만 표시되게 하기위해 "직전에서 출력된 추세선과 텍스트는 삭제"
#n개봉 최고가와 최고가위치(몇봉전인지) 계산
#n개봉 최저가와 최저가위치(몇봉전인지) 계산
hh = 0;
hb = 0;
ll = 0;
lb = 0;
For cnt = 0 to n-1
{
if hh == 0 or (hh > 0 and h[cnt] > hh) Then
{
hh = h[cnt];
hb = cnt;
}
if ll == 0 or (ll > 0 and l[cnt] < ll) Then
{
ll = l[cnt];
lb = cnt;
}
}
if (lb > hb and hh >= ll*1.29) or (lb < hb and ll <= hh*0.85) Then
{
//TL_Delete(TL);
// Text_Delete(TX);
TL = TL_New(sDate[hb],sTime[hb],hh,sDate[lb],sTime[lb],ll);
TL_SetDrawMode(tl,0);
TL_SetExtRight(tl,true);
#20개봉 수평선
//TL_Delete(TL1);
TL1 = TL_New(sDate[n-1],sTime[n-1],hh,sDate[0],sTime[0],hh);
TL_SetDrawMode(tl1,0);
TL_SetColor(tl1,Red);
TL_SetSize(tl1,1);
#최고가가 더 가까우면 빨강 아니면 파랑
if lb > hb Then
{
TL_SetColor(TL,Pink);
TL_SetStyle(tl,2);
}
Else
{
TL_SetColor(TL,LightBlue);
TL_SetSize(tl,1);
}
TX = Text_New(TL_GetEndDate(TL),TL_GetEndTime(TL),TL_GetEndVal(TL),NumToStr(abs(hb-lb),0));
Text_SetSize(tx,15);
}
}
#추세선값 상향돌파
if TL_GetValue(TL,sDate,stime) > 0 then
{
value1 = TL_GetValue(TL,sDate,stime);
if CrossUp(c,Value1) Then
plot3(high,"tlcross",LightGreen,Def,1);
}
2024-08-20
792
글번호 182690
지표