Search
📝

진입이후 최고가-최저가 영역을 박스로 그리기

시스템식에서 포지션 진입이후 최고가와 최저가를 청산전까지 박스로 그려 각 포지션 진행 영역과 움직임의 폭을 시각적으로 보기 위한 용도입니다. 진입가를 선과 텍스트로 표시하는 식에 추가로 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
복사