답변완료
수식 부탁드립니다.
안녕하ㅔ요?
아래의 지표수식을 상승의 추세선 유지후 하락의 추세선이
발생시에 경고의음이 나오고 발생된 순간시점의 봉에 굵은 점표시 생기고 추세선은
기존의 수식대로 그려지게 해주시면 감사하겠습니다.
항상 도움에 감사드립니다.
input : Period(250),선두께(3);
Var:상승색(Red), 하락색(Blue);
Var:j(0),T(0);
Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),tl9(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0);
var : box1(0),box2(0),box3(0),box4(0);
Plot1(0);
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,Period)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,Period)[1]) Then
T = -1;
If T == -1 Then
{
If T[1] != -1 Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
}
LoVal[0] = L;
LoBar[0] = 0;
date11 = date[HiBar[0]];
time11 = stime[HiBar[0]];
Value11 = HiVal[0];
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,하락색);
date21 = date[HiBar[0]];
time21 = stime[HiBar[0]];
date22 = date[0];
time22 = stime[0];
box1 = Box_New(sdate,stime,LoVal[0]-0.25,NextBarSdate,NextBarStime,LoVal[0]-0.50);
Box_SetColor(box1,Green);
Box_SetFill(box1,true);
box2 = box1[1];
Box_SetEnd(box2,Sdate,Stime,LoVal[1]-0.50);
}
If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date22 = date[0];
time22 = stime[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
Box_SetBegin(box1,sDate,sTime,LoVal[0]-0.25);
Box_SetEnd(box2,Sdate,Stime,LoVal[1]-0.50);
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
}
HiVal[0] = H;
HiBar[0] = 0;
date11 = date[LoBar[0]];
time11 = stime[LoBar[0]];
Value11 = LoVal[0];
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,상승색);
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
box3 = Box_New(sdate,stime,HiVal[0]+0.25,NextBarSdate,NextBarStime,HiVal[0]+0.50);
Box_SetColor(box3,Yellow);
Box_SetFill(box3,true);
box4 = box3[1];
Box_SetEnd(box3,Sdate,Stime,HiVal[1]+0.50);
}
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date32 = date[0];
time32 = stime[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
Box_SetBegin(box3,sDate,sTime,HiVal[0]+0.25);
Box_SetEnd(box4,Sdate,Stime,HiVal[1]+0.50);
}
}
Box_SetEnd(box1,NextBarSdate,NextBarStime,LoVal[0]-0.5);
Box_SetEnd(box3,NextBarSdate,NextBarStime,HiVal[0]+0.5);
TL_SetSize(TL1,선두께);
2024-10-21
684
글번호 184449
시스템
답변완료
수식추가
Inputs : Period(20), Sence(1.5), CC_DN(Yellow);
Vars:
VLineUp(0),
VLineDn(0),
HHighest(0),
LLowest(0),
JustChanged(FALSE),
VLine(0), DBN(0);
Array:
Highs[35](0),
Lows[35](0),
RRange[35](0),
UpWave[1](FALSE),
DnWave[1](FALSE);
If STime == 180000 Then
DBN = 0;
DBN = DBN + 1;
Var1 = Period;
Var2 = Var1 - 1;
Var3 = Var1 - 2;
Var5 = Sence;
Var6 = H-L;
JustChanged = FALSE;
if CurrentBar <= Var2 then begin
Highs[CurrentBar] = Close;
Lows[CurrentBar] = Close;
RRange[CurrentBar] = (H-L) /2;
end;
if CurrentBar == Var1 then begin
if Highs[Var2] >= Highs[Var3] then begin
UpWave[1] = TRUE;
HHighest = Highs[Var2];
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
#Plot1(VLineUp,"VLineUp");
end;
if Highs[Var2] < Highs[Var3] then begin
DnWave[1] = TRUE;
LLowest = Lows[Var2];
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
#Plot2(VLineDn,"VLineDn");
end;
end;
if CurrentBar > Var1 then begin
if DnWave[1] and Close > VLineDn then begin
DnWave[1] = FALSE;
UpWave[1] = TRUE;
JustChanged = TRUE;
HHighest = Close;
LLowest = 0;
end;
if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin
UpWave[1] = FALSE;
DnWave[1] = TRUE;
JustChanged = TRUE;
LLowest = Close;
HHighest = 0;
end;
if JustChanged == FALSE then begin
if Close > HHighest then
HHighest = Close;
else if Close < LLowest then
LLowest = Close;
end;
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
/*if UpWave[1] then Plot1(VLineUp,"VLineUp", Red);
else if DnWave[1] then Plot1(VLineDn,"VLineUp", Blue);
*/
end;
input : P(10),short(12),long(26),sig(9);
var : mav(0),macdo(0);
mav = ma(C,P);
MACDo = MACD_OSC(short,long,sig);
if upwave[1] and c > o and mav > mav[1] Then
Buy();
if dnwave[1] and c < o and mav < mav[1] Then
Sell();
if MarketPosition == 1 Then
{
if dnwave[1] and macdo < 0 Then
ExitLong("bx");
}
if MarketPosition == -1 Then
{
if upwave[1] and macdo > 0 Then
ExitShort("sx");
}
안녕하세요
위식에 추가식 부탁드림니다
Date 2 30분봉
매수 기존식에 30분봉 양봉일때 매수
매도 기존식에 30분봉 음봉일때 매도
2024-10-21
651
글번호 184435
시스템
답변완료
질문드리겠습니다
수고가 많으십니다.
궁금증이 해소가 잘 안돼서 몇 가지 여쭤보고 싶습니다
먼저 수식은 아래와 같습니다
var : N(0),cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TXn(0),txper(0),TXpaa(0),nline(0),tl2(0);
var : txx(0),TXper1(0);
var : hd(0),ht(0),hd1(0),ht1(0),hv(0),hv1(0), LD(0), LT(0), LV (0), LD1(0), LT1(0),LV1(0);
var:TLH(0),TLH1(0),TLH2(0),TLH3(0),TLH4(0),TLH5(0), TLL(0),TLL1(0),TLL2(0),TLL3(0),TLL4(0),TLL5(0);
VAR: INTERTL(0);
N=5;
if CountIf(H >= L*1.15,N) >= 1 Then
{
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;
}
}
# PLOT66(IndeX,"IndeX",ReD);
# PLOT67(HH);
if (hB < lB AND ll *1.18 <HH and (hh != Var3 and ll != Var4) ) OR
(hB > lB AND LL>HH*0.70 and (hh != Var3 and ll != Var4) ) Then
{
VAR3 = hh;
VAR4 = ll;
VAR1 = Index[lb];
VAR2 = VAR1[1];
PLOT38(VAR1);
VAR11=IndeX-VAR1 ;
if VAR2 > 0 Then
{
VAR5 = 0;
For cnt = Index-var1 to Index-var2
{
if Var5 == 0 or (Var5 > 0 and h[cnt] > Var5) Then
Var5 = h[cnt];
}
# PLOT35(VAR5,"INTER TL HH",OrangE,DeF,2);
#PLOT37(MA(Var5,5),"37",ReD,DeF,2);
}
if var1 >= Var2 Then
{
TL = TL_New(sDate[lb],sTime[lb],ll,sDate[hb],sTime[hb],hh);
TL_SetDrawMode(tl,1); TL_SetColoR(TL,Cyan);
# TL_SetExtRight(tl,true);
# TL_new(sDate[LB],sTime[LB],0,sDate[lb],sTime[lb],90000000);
TXper= text_new(sDate[lb],sTime[lb],ll,"★");
Text_SetStyle(txper,2,0);
Text_SetSizE(TXPER,18);
Text_SetColor(txper,MagentA);
TXpaa= text_new(sDate[HB],sTime[HB],HH,"★");
Text_SetStyle(TXPAA,2,0);
Text_SetSizE(TXPAA,13);
Text_SetColor(tXPAA,Green);
# Text_SetLocatioN(TXPAA
}
}
}
if lb > hb Then
{
TL_SetColor(TL,ReD);
TL_SetSize(tl,0);
TL_SetDrawMode(tl,1);
}
Else
{
TL_SetColor(TL,LightBlue);
TL_SetSize(tl,1);
}
If VAR5 > 0 Then
{
PLOT36(VAR5,"INTER TL HH",BluE,DeF,1);
}
먼저
최상위 조건을 if CountIf(H >= L*1.15,N) >= 1 로 했을때
조건 만족 구간과
고가저가값 구하는 방식 그리고 봉번호와의 관계에 대해 여쭤보고 싶고요
수식 막바지 부분 if lb > hb 조건에서
우상향 (lb 이 먼저나오고 hb 가 뒤에 나올경우), 우하향 하는 경우를 색으로 구분을 했는데
우하향 (lightblue)이 우상향에서 나타나는 경우가 있습니다
그리고
if VAR2 > 0 Then
{
VAR5 = 0;
For cnt = Index-var1 to Index-var2
{
if Var5 == 0 or (Var5 > 0 and h[cnt] > Var5) Then
Var5 = h[cnt];
}
}
이 부분에서 LB (저점) 사이에서의 고가를 구하는건데 index 관련해서 헷갈리는 점들이 있고 var5 가 나타나는 시점이 일정치 않아서 질문드리고 싶습니다
유선상으로 여쭤보면 좋을거 같아서 연락주시면 감사하겠습니다
2024-10-21
845
글번호 184434
지표