답변완료
파라볼릭 세로선
Input : af(0.02), maxAF(0.2);
var : T(0),B(0),S(0),tx(0),HH(0),LL(0),box(0),B1(0),S1(0),H1(0),L1(0),TL(0);
var : Z(0),dd(0),tt(0);
plot1(var1, "CSAR",IFF(c>var1,Red,Blue));
var1 = CSar(af,maxAF);
if CrossUp(C,var1) Then
{
T = 1;
B = var1;
B1 = B[1];
HH = H;
H1 = HH[1];
dd = sDate;
tt = sTime;
if abs(S-LL) < 0.9 Then
Text_Delete(tx);
tx = Text_New(sDate,sTime,HH,NumToStr(abs(HH-B),2));
Text_SetColor(tx,Red);
Text_SetSize(tx,25);
Text_SetStyle(tx,1,1);
Text_SetBold(tx,1);
box = Box_New(sDate,sTime,B,NextBarSdate,NextBarStime,HH);
Condition1 = False;
}
if CrossDown(C,var1) Then
{
T = -1;
S = var1;
S1 = S[1];
LL = L;
L1 = LL[1];
dd = sDate;
tt = sTime;
if abs(B-HH) < 0.9 Then
Text_Delete(tx);
tx = Text_New(sDate,sTime,LL,NumToStr(abs(LL-S),2));
Text_SetColor(tx,Blue);
Text_SetSize(tx,25);
Text_SetStyle(tx,1,0);
Text_SetBold(tx,1);
box = Box_New(sDate,sTime,S,NextBarSdate,NextBarStime,LL);
Condition1 = False;
}
if T == 1 Then
{
if var1 < B Then
{
B = var1;
box_SetBegin(box,dd,tt,S);
}
if H > HH Then
HH = H;
Text_SetString(tx,NumToStr(abs(HH-B),2));
Text_SetLocation(tx,sDate,sTime,HH);
Box_SetEnd(box,NextBarSdate,NextBarStime,hh);
if HH < B+0.6 Then
{
Box_SetColor(box,Orange);
Box_SetFill(box,true,90);
}
Else if HH >= B+0.6 and HH < B+0.8 Then
{
Box_SetColor(box,Gray);
Box_SetFill(box,true,80);
}
Else if HH >= B+0.8 and HH < B+1.3 Then
{
Box_SetColor(box,Magenta);
Box_SetFill(box,true,60);
}
Else if HH >= B+1.3 and HH < B+1.9 Then
{
Box_SetColor(box,Gray);
Box_SetFill(box,true,60);
}
Else
{
Box_SetColor(box,Pink);
Box_SetFill(box,true,90);
}
if B1 > 0 and B > B1 and H > H1 and Condition1 == False Then
{
Condition1 = true;
TL =TL_New(sDate,sTime,0,sDate,sTime,999);
TL_SetColor(TL,Lime);
TL_SetSize(TL,2);
}
}
if T == -1 Then
{
if var1 > S Then
{
S = var1;
box_SetBegin(box,dd,tt,S);
}
if L < LL Then
LL = L;
Text_SetString(tx,NumToStr(abs(LL-S),2));
Text_SetLocation(tx,sDate,sTime,LL);
Box_SetEnd(box,NextBarSdate,NextBarStime,LL);
if LL > S-0.6 Then
{
Box_SetColor(box,Cyan);
Box_SetFill(box,true,150);
}
Else if LL <= S-0.6 and ll > S-0.9 Then
{
Box_SetColor(box,Yellow);
Box_SetFill(box,true,150);
}
Else if LL <= S-0.9 and ll > S-1.3 Then
{
Box_SetColor(box,Lime);
Box_SetFill(box,true,120);
}
Else if LL <= S-1.3 and ll > S-1.6 Then
{
Box_SetColor(box,Cyan);
Box_SetFill(box,true,90);
}
Else if LL <= S-1.6 and ll > S-1.9 Then
{
Box_SetColor(box,Blue);
Box_SetFill(box,true,30);
}
Else
{
Box_SetColor(box,Yellow);
Box_SetFill(box,true,120);
}
if S1 > 0 and S < S1 and L < L1 and Condition1 == False Then
{
Condition1 = true;
TL =TL_New(sDate,sTime,0,sDate,sTime,999);
TL_SetColor(TL,Gold);
TL_SetSize(TL,3);
}
}
그림만 박스 수정전 수식인데,박스 오류와 비슷하게 2파 세로선도 간혹 누락됩니다.
검토 부탁드립니다. (선물 80틱)
2024-07-19
765
글번호 181662
지표
답변완료
수정부탁드립니다.
안녕하세요
아래 수식내용 수정 부탁드립니다.
매수,매도 양쪽다 지수이평 5선이 삼각가중 10선과 전환선을 두개다 통과하는 조건으로
수정 부탁드립니다.
기존 30분봉의 0.125~0.5 선, 0.875~0.5 선의 조건은 삭제부탁드립니다.
(지수이평,삼각가중,전환선 모두 변수 부탁드립니다)
input : p(5),period(10),타주기분(30);
var : S1(0),D1(0),TM(0),TF(0),hh(0),ll(0);
var : mav(0),Tlen(0),Tma(0);
mav = ma(c,p);
TLen = Ceiling((period + 1) * .5);
Tma = ma(ma(C, TLen), TLen);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
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
{
hh = h;
ll = l;
}
if hh > 0 and h > hh Then
hh = h;
if ll > 0 and l < ll Then
ll = l;
if CrossUp(mav,Tma) and
(CrossUp(mav, ll+(hh-ll)*0.125) or CrossUp(mav, ll+(hh-ll)*0.025) or CrossUp(mav, ll+(hh-ll)*0.500)) Then
Buy();
if CrossDown(mav,Tma) and
(CrossDown(mav, ll+(hh-ll)*0.875) or CrossDown(mav, ll+(hh-ll)*0.75) or CrossDown(mav, ll+(hh-ll)*0.500)) Then
Sell();
}
2024-07-18
763
글번호 181638
시스템
답변완료
확인 부탁드립니다
안녕하세요
늘 도움주셔서 감사합니다.
아래 시스템과 지표수식 내용중 확인 부탁드립니다.
1.매수조건
- 4시간봉 시가선 위
- 1시간봉 시가선 위
- 1시간봉 25% 선 위
- 3분봉 전환선 위 (전환선 변수)
2.매도조건
- 4시간봉 시가선 아래
- 1시간봉 시가선 아래
- 1시간봉 25% 선 아래
- 3분봉 전환선 아래 (전환선 변수)
위 조건중 일부가 아닌 4가지 모두를 층족할경우의 시스템과 지표수식입니다.
일부만 충족되어도 표시되는거 같아 확인 부탁 드립니다.
1
input : 타주기분1(3),타주기분2(60),타주기분3(240),전환선기간(9);
var : S1(0),D1(0),TM(0),cnt(0),hh(0),ll(0),전환선(0);
var : TF1(0),TF2(0),TF3(0),O2(0),O3(0),H2(0),L2(0);
Array : H1[100](0),L1[100](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF1 = TM%타주기분1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then
{
For cnt = 99 DownTo 1
{
H1[cnt] = H1[cnt-1];
L1[cnt] = L1[cnt-1];
}
H1[0] = H;
L1[0] = L;
}
TF2 = TM%타주기분2;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then
{
O2 = O;
H2 = H;
L2 = L;
}
if H2 > 0 and H > H2 Then
H2 = H;
if L2 > 0 and L < L2 Then
L2 = L;
TF3 = TM%타주기분3;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then
{
O3 = O;
}
if O2 > 0 and O3 > 0 and H2[전환선기간-1] > 0 and L2[전환선기간-1] > 0 Then
{
hh = 0;
ll = 0;
For cnt = 0 to 전환선기간-1
{
if hh == 0 or (hh > 0 and H[cnt] > hh) Then
hh = H[cnt];
if ll == 0 or (ll > 0 and L[cnt] < ll) Then
ll = L[cnt];
}
전환선 = (hh+ll)/2;
if C > O3 and
C > O2 and
C >= L2+(H2-L2)*0.25 and
C > 전환선 then
Buy();
if C < O3 and
C < O2 and
C <= H2-(H2-L2)*0.25 and
C < 전환선 then
Sell();
}
}
2
input : 타주기분1(3),타주기분2(60),타주기분3(240),전환선기간(9);
var : S1(0),D1(0),TM(0),cnt(0),hh(0),ll(0),전환선(0);
var : TF1(0),TF2(0),TF3(0),O2(0),O3(0),H2(0),L2(0),tx(0);
Array : H1[100](0),L1[100](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF1 = TM%타주기분1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then
{
For cnt = 99 DownTo 1
{
H1[cnt] = H1[cnt-1];
L1[cnt] = L1[cnt-1];
}
H1[0] = H;
L1[0] = L;
}
TF2 = TM%타주기분2;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then
{
O2 = O;
H2 = H;
L2 = L;
}
if H2 > 0 and H > H2 Then
H2 = H;
if L2 > 0 and L < L2 Then
L2 = L;
TF3 = TM%타주기분3;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then
{
O3 = O;
}
if O2 > 0 and O3 > 0 and H2[전환선기간-1] > 0 and L2[전환선기간-1] > 0 Then
{
hh = 0;
ll = 0;
For cnt = 0 to 전환선기간-1
{
if hh == 0 or (hh > 0 and H[cnt] > hh) Then
hh = H[cnt];
if ll == 0 or (ll > 0 and L[cnt] < ll) Then
ll = L[cnt];
}
전환선 = (hh+ll)/2;
if C > O3 and
C > O2 and
C >= L2+(H2-L2)*0.25 and
C > 전환선 then
{
tx = Text_New(sDate,sTime,H,"●");
Text_SetColor(tx,Red);
Text_SetStyle(tx,2,1);
Text_SetSize(tx,12);
}
if C < O3 and
C < O2 and
C <= H2-(H2-L2)*0.25 and
C < 전환선 then
{
tx = Text_New(sDate,sTime,H,"●");
Text_SetColor(tx,Blue);
Text_SetStyle(tx,2,1);
Text_SetSize(tx,12);
}
}
}
2024-07-18
675
글번호 181636
시스템
답변완료
검색식 부탁 드립니다._(__)_
항상 도와주심에 감사드립니다. _(__)_
1봉전과 19봉전 사이에서 첫 장기정배열(240<120<60)이 나오고(양봉,음봉 상관없이 처음 출현이면 됩니다.) 0봉전에서 첫 장기정배열의 고점을 종가로 돌파하면서 아래의 수식을 만족 시키는 종목 검색식과 첫장기정배열고점과 상관없이 0봉전에서 그냥 아래의 수식을 만족 시키는 검색식 두가지와
똑같은 구성인데 역시 1봉전과 19봉전사이에서 첫 완전정배열(240<120<60<20<5)이 나오고 0봉전에서 첫 완전정배열 고점을 종가로 돌파하면서 아래의 수식을 만족 시키는 검색식과 고점과 상관없이 0봉전에서 그냥 아래의 수식을 만족시키는 검색식을 부탁 드립니다.
즉 장기정배열 2가지, 완전정배열 2가지 4가지가 되겠습니다.
수식
var : MM(0),KK(0),MO(0),mx(0);
var : M1(0),M2(0),M3(0),M4(0),M5(0),M6(0);
var : M7(0),M8(0),M9(0),M10(0),M11(0),M12(0);
MM = floor(date/100);
if MM != MM[1] Then
{
MO = O;
M1 = KK[1];
M2 = M1[1];
M3 = M2[1];
M4 = M3[1];
M5 = M4[1];
M6 = M5[1];
M7 = M6[1];
M8 = M7[1];
M9 = M8[1];
M10 = M9[1];
M11 = M10[1];
M12 = M11[1];
mx = Max(M1, M2, M3, M4, M5,M6, M7, M8, M9, M10, M11, M12);
}
KK = iff(MO > C, MO, 0);
if mx > 0 and CrossUp(C,mx) Then
Find(1);
2024-07-18
870
글번호 181625
종목검색