Position Provider와 Account Provider 두 개의 다른 Objects를 조합하여 한 개의 로직을 구현해보도록 하겠습니다.
[ Course Example #8 ]
1. 앞에 사례에서 만들었던 $7_PosValue indicator를 열어 다른이름으로 저장하기 > $8_PosValueAcct로 바꾸어 손쉽게 시작하실 수 있습니다.
2. PosP는 이미 생성되어 있으므로, 별도로 생성시킬 필요가 없습니다.
물론, 새로 시작하고 싶다면 PositionProvider를 가져다가 새로 세팅하셔도 됩니다.
3. ToolBox에서 AccountProvider를 더블클릭하거나 Component Tray에 드래그앤드랍 합니다.
Properties editor에서 기본 이름을 AccP로 변경하여 향후 코딩 시 편하게 사용할 수 있도록 합니다.
4. 기존 코딩 중 PlotValues() method내에 지역변수를 추가합니다.
method 변수는 method 이름 선언문과 begin 사이에 추가합니다.
지역변수는 반드시 데이터 타입을 지정해야 하고, 기본값을 지정하지 않는다는 규칙을 상기하시기 바랍니다.
5. 4번의 코딩 다음 위치에 아래와 같이 코드를 추가합니다.
PosAccountID = PosP.Position[0].AccountID; // Position을 보유하고 있는 계좌번호를 가져옵니다.
If AccP.Count > 0 then begin // 사용할 수 있는 계좌가 있는지 여부를 Count로 체크합니다.
Value1 = PosP.Position[0].MarketValue; // 보유포지션의 평가금액을 가져옵니다.
Value2 = AccP.Account[PosAccountID].RTAccountNetWorth; // 계좌의 실시간 계좌총평가금액을 가져옵니다.
PcntOfAccount = Value1/Value2; // 계좌총평가금액 중 포지션이 차지하는 비중을 계산합니다.
Plot4(numtostr(PcntOfAccount*100,3) + " %", "% of Acct"); // 계산된 값을 조회합니다.
end;
6. 값이 없을 경우 0을 표시하도록 else문 다음에도 Plot4를 아래와 같이 추가합니다.
7. Verify 합니다.
8. RadarScrren에 종목 리스트를 추가한 후 $08_PosValueAcct Indicator를 추가합니다.
[ Course Example #8 ]
1. 앞에 사례에서 만들었던 $7_PosValue indicator를 열어 다른이름으로 저장하기 > $8_PosValueAcct로 바꾸어 손쉽게 시작하실 수 있습니다.
2. PosP는 이미 생성되어 있으므로, 별도로 생성시킬 필요가 없습니다.
물론, 새로 시작하고 싶다면 PositionProvider를 가져다가 새로 세팅하셔도 됩니다.
3. ToolBox에서 AccountProvider를 더블클릭하거나 Component Tray에 드래그앤드랍 합니다.
Properties editor에서 기본 이름을 AccP로 변경하여 향후 코딩 시 편하게 사용할 수 있도록 합니다.
4. 기존 코딩 중 PlotValues() method내에 지역변수를 추가합니다.
method 변수는 method 이름 선언문과 begin 사이에 추가합니다.
지역변수는 반드시 데이터 타입을 지정해야 하고, 기본값을 지정하지 않는다는 규칙을 상기하시기 바랍니다.
5. 4번의 코딩 다음 위치에 아래와 같이 코드를 추가합니다.
PosAccountID = PosP.Position[0].AccountID; // Position을 보유하고 있는 계좌번호를 가져옵니다.
If AccP.Count > 0 then begin // 사용할 수 있는 계좌가 있는지 여부를 Count로 체크합니다.
Value1 = PosP.Position[0].MarketValue; // 보유포지션의 평가금액을 가져옵니다.
Value2 = AccP.Account[PosAccountID].RTAccountNetWorth; // 계좌의 실시간 계좌총평가금액을 가져옵니다.
PcntOfAccount = Value1/Value2; // 계좌총평가금액 중 포지션이 차지하는 비중을 계산합니다.
Plot4(numtostr(PcntOfAccount*100,3) + " %", "% of Acct"); // 계산된 값을 조회합니다.
end;
6. 값이 없을 경우 0을 표시하도록 else문 다음에도 Plot4를 아래와 같이 추가합니다.
7. Verify 합니다.
8. RadarScrren에 종목 리스트를 추가한 후 $08_PosValueAcct Indicator를 추가합니다.