답변완료
추세선 박스 시작점 변경
안녕하세요?
수고 많으십니다.
아래 추세선 지표에서 하락추세가 상승추세로 전환이 이뤄지면 이전 추세였던 하락추세가 끝나는 봉부터 상승박스의 시작점이 되어 상승추세가 계속되는 동안 RED 박스가 형성됩니다.
예를 들면 첨부파일 "추세선1"은 마지막봉 2014.2.19일 까지 하락추세선만 표시되다가 "추세선2"에서 마지막봉이 2014.2.20 일이 되면서 2014.2.19일 고가로 상승추세선과 RED 박스가 그려집니다.
여기에서 RED 박스의 시작점이 하락추세가 끝나는 2014.1.18일 부터가 아니라 상승추세선이 형성된 것을 알기 시작한 2024.2.19 일부터 시작되게 그려주고 싶습니다.
수정 부탁 드립니다.
감사합니다.
input : Period(30);
Var:j(0),T(0),tl(0),TL1(0),tx(0) ,box(0);
Var: date11(0),date12(0),time11(0),time12(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0);
Array: HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](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,Blue);
TL_SetSize(TL1,2);
date21 = date[HiBar[0]];
time21 = stime[HiBar[0]];
date22 = date[0];
time22 = stime[0];
box = Box_New(date11,time11,Value11,date12,time12,Value12);
Text_SetSize(tx,25);
Text_SetColor(Tx,Red);
Text_SetStyle(tx,1,1);
Text_SetBold(tx,1);
if abs(value12[1]-value11[1]) < 0.7 Then
Text_Delete(tx);
tx = Text_New(sDate,stime,value12,NumToStr(value11-value12,2));
Text_SetColor(Tx,Blue);
Text_SetStyle(tx,1,0);
Text_SetSize(tx,25);
Text_SetBold(tx,1);
}
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];
Box_SetEnd(box,date12,time12,Value12);
Text_SetString(tx,NumToStr(value11-value12,2));
Text_SetLocation(tx,sDate,sTime,value12);
}
if value12 > value11-0.7 Then
{
Box_SetColor(box,Cyan);
Box_SetFill(box,true,50);
}
else if value12 <= value11-0.7 and value12 > value11-0.9 Then
{
Box_SetColor(box,Yellow);
Box_SetFill(box,true,90);
}
else if value12 <= value11-0.9 and value12 > value11-1.3 Then
{
Box_SetColor(box,Lime);
Box_SetFill(box,true,80);
}
else if value12 <= value11-1.3 and value12 > value11-1.6 Then
{
Box_SetColor(box,Cyan);
Box_SetFill(box,true,50);
}
else if value12 <= value11-1.6 and value12 > value11-2 Then
{
Box_SetColor(box,Blue);
Box_SetFill(box,true,25);
}
else
{
Box_SetColor(box,Lime);
Box_SetFill(box,true,35);
}
}
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,Red);
TL_SetSize(TL1,2);
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
box = Box_New(date11,time11,Value11,date12,time12,Value12);
Text_SetSize(tx,25);
Text_SetColor(Tx,Blue);
Text_SetStyle(tx,1,0);
Text_SetBold(tx,1);
if abs(value12[1]-value11[1]) < 0.7 Then
Text_Delete(tx);
tx = Text_New(sDate,stime,value12,NumToStr(value12-value11,2));
Text_SetColor(Tx,Red);
Text_SetStyle(tx,1,1);
Text_SetSize(tx,25);
Text_SetBold(tx,1);
}
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];
Box_SetEnd(box,date12,time12,Value12);
Text_SetString(tx,NumToStr(value12-value11,2));
Text_SetLocation(tx,sDate,sTime,value12);
}
if Value12 > value11+1.1 Then
{
Box_SetColor(box,Pink);
Box_SetFill(box,true,90);
}
else if value12 >= value11+0.8 and value12 <= value11+1.1 Then
{
Box_SetColor(box,Magenta);
Box_SetFill(box,true,40);
}
Else
{
Box_SetColor(box,Orange);
Box_SetFill(box,true,60);
}
}
2024-06-15
1048
글번호 180663
지표
답변완료
수식 문의 드립니다.
안녕하세요.
아래지표를 영웅문 수식으로 변환 부탁드립니다.
input:p55(55);
var:k(0),h0(0),hac(0),tna1(0),tna2(0),diff1(0),zlha(0),
tna11(0),tna12(0),diff2(0),zlcl(0);
k=(o+h+l+c)/4;
h0=(k[1]+IFf(accum(1)==1,c,h0[1]))/2;
hac=(k+h0+max(h,h0)+min(l,h0))/4;
tna1=Ema(Ema(Ema(hac,p55),p55),p55);
tna2=Ema(Ema(Ema(tna1,p55),p55),p55);
diff1=tna1-tna2;
zlha=tna1+diff1;
tna11=Ema(Ema(Ema((h+l+c)/3,p55),p55),p55);
tna12=Ema(Ema(Ema(tna1,p55),p55),p55);
diff2=tna11-tna12;
zlcl=tna11+diff2;
Plot1(zlha,"HA");
plot2(zlcl,"CL");
그럼 수고하세요
2024-06-15
679
글번호 180662
지표
답변완료
문의드립니다.
안녕하세요.
시스템 내에서 추세선으로 다음과 같은 내용을 만들어보다가 잘 되지 않아서 문의드립니다.
추체선으로 그릴 수 있으면 좋겠는데 안되면 지표로 적용을 시켜보려고 합니다.
내용 설명
기준봉 선정 이후 신고거래량 발생 시 시가와 종가에 라인을 그리려고 하고,
봉이 새로 나오면 라인을 추가로 글미
기준봉
1. 240일 신고거래량 &
2. 120일선 돌파 &
3. 240,120,60 이평선 역배열 &
4. 거래대금 50억 이상
Array : CC[10](0), OO[10](0), Bong_date[10](0), Bong_index[10](0);
var : cc1(0), oo1(0),Bong_date1(0), Bong_index1(0);
if V==highest(v,120) and (CrossUp(H,ma(c,120)) or CrossUp(C,ma(c,120)))
and ma(c,240)>=ma(c,120) and ma(c,120)>=ma(c,60)
and M>5000000000
then
{
CC1 = C;
OO1 = O;
Bong_date1 = sdate;
Bong_index1 = Index;
condition1 = true;
TL_C_0 = TL_new(Bong_date1, sTime, CC1, Bong_date1+10000,sTime, CC1);
TL_O_0 = TL_new(Bong_date1, sTime, OO1, Bong_date1+10000,sTime, OO1);
}
Else
{
condition1 = False;
}
수평선
* 기준봉 이후 120봉 내에서 120일 신고 거래량이 나오는 봉의 시가라인, 저가라인을 각각 240일 동안 그림
(기준봉에도 그림)
* 단, 대상 봉이 여러개가 나오는 경우 최근 5개 봉의 시가,저가라인만 그림
기타
* 최초기준봉 이후 120봉 내에서 다른 기준봉이 나와도 최근 5개봉에 대한 라인만 그림
* 최초기준봉 이후 120봉 내에서 120신고거래량이 없으면 싸이클 종료, 이후 기준봉이 나오면 최초기준봉으로 선정
* 최초 기준봉 이후 120봉 신고거래량 있는 경우 최초기준봉으로부터 360봉(120봉+240봉)이 지나면 한 싸이클 종료, 이후 기준봉이 나오면 최초기준봉으로 선정
2024-06-15
826
글번호 180661
지표
답변완료
질문 요청 드립니다.(매매식)
* 좋은 한주 되십시요^^
* 아래 수식에서 매매신호가 발생한 봉 기준으로 3개 수평선좀 부탁 드립니다.
즉
매수 신호가 발생 하면 매수 신호봉 종가 기준 -10틱 -15틱 -20틱 3개선
매도 신호가 발생 하면 매도 신호봉 종가 기준 +10틱 +15틱 +20틱 3개선
이렇게 요청 드립니다.
input : P(2),n(7),틱(2), 굵기(1);
var : TX(0);
var : cnt(0),LL(0),HH(0);
Array : LTL[10](0),HTL[10](0);
var : LTL1(0),LTL2(0),LTL3(0),LTL4(0),LTL5(0),LTL6(0);
var : HTL1(0),HTL2(0),HTL3(0),HTL4(0),HTL5(0),HTL6(0);
if L < Lowest(L,P)[1] and (LL == 0 or (LL > 0 and abs(L-LL) >= PriceScale*틱)) Then
{
LL = L+0.04;
For cnt = 9 DownTo 1
{
LTL[cnt] = LTL[cnt-1];
}
LTL[0] = TL_new(sDate,sTime,LL,NextBarSdate,NextBarStime,LL);
TL_SetColor(LTL[0],LGreen);
TL_SetSize(LTL[0],굵기);
TL_Delete(LTL[n]);
}
Else
{
TL_SetEnd(LTL[0],sDate,sTime,LL);
}
if H > highest(H,P)[1] and (HH == 0 or (HH > 0 and abs(H-HH) >= PriceScale*틱)) Then
{
HH = H-0.04;
For cnt = 9 DownTo 1
{
HTL[cnt] = HTL[cnt-1];
}
HTL[0] = TL_new(sDate,sTime,HH,NextBarSdate,NextBarStime,HH);
TL_SetColor(HTL[0],Red);
TL_SetSize(HTL[0],굵기);
TL_Delete(HTL[n]);
}
Else
{
TL_SetEnd(HTL[0],sDate,sTime,HH);
}
2024-10-24
1000
글번호 180660
시스템
답변완료
수식 수정 좀 부탁드립니다.
1. If MarketPosition <= 0 and c> value1 and stm1 > stm2 Then
Buy("b2",OnClosE,DeF,2) 2계약 매수진입
2 .If MarketPosition <= 0 and c> value1 and stm1 < stm2 Then
Buy("b3",OnClosE,DeF,1) 1계약 매수진입.
3. 그런데 2번 조건에서 1계약 매수후 c> value1 and stm1 > stm2 로 변경되면
추가로 Buy("b4",OnClosE,DeF,1) 1계약 매수진입
1.번과3.번은 아래의 손절과 목표수익으로 한다.(매수단가별 익절 .손절 처리)
2.번은 손실포인트1과 목표수익 1으로 처리한다.는 식 좀 부탁드립니다.
(1.과2은 매수단가가 같아서 수익과 손실을 정하기 쉬운데 3.번은 최초 매수단가와 추가 매수단가가 다릅니다.-평균 매입가가 아니라
각각의 매수단가에 적용하려고 합니다.)
if MarketPosition == 1 Then
{
ExitLong("bp1",AtLimit,EntryPrice+목표수익1,"",1,1);
ExitLong("bp2",AtLimit,EntryPrice+목표수익2,"",1,1);
ExitLong("bl1",AtStop,EntryPrice-손실포인트1,"",1,1);
ExitLong("bl2",AtStop,EntryPrice-손실포인트2,"",1,1);
}
2024-06-14
790
글번호 180659
시스템