시스템식에서 포지션 진입이후 최고가와 최저가를 청산전까지 박스로 그려
각 포지션 진행 영역과 움직임의 폭을 시각적으로 보기 위한 용도입니다.
진입가를 선과 텍스트로 표시하는 식에
추가로 box함수를 사용해 표시되게 작성된 식입니다.
//예시로 매수,매도는 이평크로스입니다.
var : mav1(0),mav2(0);
mav1 = ma(C,20);
mav2 = ma(C,60);
if CrossUp(mav1,mav2) Then
Buy("b");
if CrossDown(mav1,mav2) Then
Sell("s");
//하단의 내용을 복사해서 다른 시스템식에 붙여 넣으시면 됩니다.
var : totalEntry(0),TL(0),TX(0),hh(0),ll(0),Box(0);
//현재 진입중인 포지션 포함 전체 진입횟수
totalEntry = TotalTrades+IFF(MarketPosition != 0,1,0);
//무포지션이 아니고(매수포지션,혹은 매도포지션)
if MarketPosition != 0 then
{
//진입첫봉에
if totalEntry != totalEntry[1] Then
{
//진입가를 진입봉부터 수평으로 먼저 출력
TL = TL_New(EntryDate,EntryTime,EntryPrice,NextBarSdate,NextBarStime,EntryPrice);
//추세선 색상은 초록
TL_SetColor(TL,Green);
//진입가를 소숫점2자리까지 스트링으로 변환해서 현재봉의 EntryPrice위치에 출력
TX = Text_New(NextBarSdate,NextBarStime,EntryPrice,NumToStr(EntryPrice,2));
//텍스트 색상
Text_SetColor(TX,Black);
//텍스트 크기
Text_SetSize(TX,20);
//텍스트 좌우상하정렬
Text_SetStyle(tx,2,1);
//hh에 고가저장
hh = h;
//ll에 저가저장
ll = l;
//박스출력
box = Box_New(EntryDate,EntryTime,hh,NextBarSdate,NextBarStime,ll);
//박스색상(매수포지션은 빨강, 매도포지션은 파랑)
Box_SetColor(box,iff(MarketPosition == 1,Red,Blue));
//박스내부를 채우고 투명도는 80
Box_SetFill(box,true,80);
}
Else //진입첫봉이후
{
//봉이 추가로 생길때마다 진입가를 연장
TL_SetEnd(TL,sDate,sTime,EntryPrice);
//봉이 추가로 생길때마다 텍스트를 혅내봉 위치로 이동
Text_SetLocation(TX,sDate,sTime,EntryPrice);
//hh에 저장된 값보다 높은 고가가 발생하면 hh에 고가 저장
if h > hh Then
hh = h;
//ll에 저장된 값보다 낮은 저가가 발생하면 ll에 저가 저장
if l < ll Then
ll = l;
//진입이후 최고가와 최저가를 기준으로
//진입이후 첫봉부터 현재봉까지 다시 박스 그림
Box_SetBegin(box,EntryDate,EntryTime,hh);
Box_SetEnd(box,sDate,sTime,ll);
}
}
JavaScript
복사