커뮤니티
옳바르게 작성되었는지 확인 부탁드립니다.
2012-04-20 07:59:11
372
글번호 50267
1. 초기투자금액은 2000만원
2. 포지션이 없으면 매수진입
3. 진입금액은 총평가금액의 50%만 진입
4. 나머지 50% 금액은 현금보유
5. 현평가수익이 진입한 평가금액보다 +- 10%가 되면 청산
6. 청산 후 포지션이 없으면 누적평가금액의 50%만 진입 나머지는 현금보유
///////////////////////////////////////////////////////////////////////////
Var : 총평가금액(20000000), 현평가수익(0), BarID(0);
Var : 현금보유(0);
Var : 진입평가금액(0), me진입수량(0), me진입금액(0);
If MarketPosition(0) == 0 Then
{
me진입수량 = int((총평가금액/2)/Close);
me진입금액 = Close*me진입수량;
현금보유 = 총평가금액 - me진입금액;
Buy("B", OnClose, DEF, me진입수량);
}
if sDate == EntryDate And sTime[1] == EntryTime Then
{
BarID = BarIndex;
me진입수량 = int((총평가금액/2)/Close);
me진입금액 = Close*me진입수량;
현금보유 = 총평가금액 - me진입금액;
진입평가금액 = me진입금액 + 현금보유;
}
총평가금액 = close*me진입수량 + 현금보유;
현평가수익 = close*me진입수량 - me진입금액;
MessageLog("총평가금액%.0f 현금보유%.0f 수익%.0f 진입%.0f", 총평가금액, 현금보유, 현평가수익, BarID);
If 현평가수익/me진입금액*100 > 10.5 Then
{
ExitLong("Pf", OnClose, DEF);
}
If 현평가수익/me진입금액*100 < -10 Then
{
ExitLong("cut", OnClose, DEF);
}
답변 1
예스스탁 예스스탁 답변
2012-04-20 11:26:52
안녕하세요
예스스탁입니다.
식을 수정했습니다.
NetProfit등 포지션 관련 함수를 이용하시면 좀더
정확하게 식을 작성할 수 있습니다.
최초 진입은 최초투입금액의 50%
이후에는 이전거래의 손익포함하여 현평가자산을 계산해서
현평가자산의 50%만 진입하는 식입니다.
Var : 최초투입금액(20000000);
Var : 현평가자산(0),진입수량(0),현진입금액(0),현평가수익(0);
현평가자산 = NetProfit+최초투입금액;
if CodeCategory == 1 Then{ #코스피
if BasePrice < 50000 Then
진입수량 = int(int((현평가자산/2)/C)/10)*10;
Else
진입수량 = int((현평가자산/2)/C);
}
if CodeCategory == 2 Then#코스닥
진입수량 = int((현평가자산/2)/C);
if CodeCategory == 6 Then#옵션
진입수량 = int((현평가자산/2)/(C*BigPointValue));
If MarketPosition(0) == 0 Then
Buy("B", OnClose, DEF,진입수량);
if MarketPosition == 1 Then{
현평가수익 = C*CurrentContracts;
현진입금액 = EntryPrice*CurrentContracts;
If 현평가수익 >= 현진입금액*1.10 Then{
ExitLong("Pf");
}
If 현평가수익 <= 현진입금액*0.90 then
{
ExitLong("cut");
}
}
의도와 다르시면 전화주시기 바랍니다.
즐거운 하루되세요
> 도토루 님이 쓴 글입니다.
> 제목 : 옳바르게 작성되었는지 확인 부탁드립니다.
> 1. 초기투자금액은 2000만원
2. 포지션이 없으면 매수진입
3. 진입금액은 총평가금액의 50%만 진입
4. 나머지 50% 금액은 현금보유
5. 현평가수익이 진입한 평가금액보다 +- 10%가 되면 청산
6. 청산 후 포지션이 없으면 누적평가금액의 50%만 진입 나머지는 현금보유
///////////////////////////////////////////////////////////////////////////
Var : 총평가금액(20000000), 현평가수익(0), BarID(0);
Var : 현금보유(0);
Var : 진입평가금액(0), me진입수량(0), me진입금액(0);
If MarketPosition(0) == 0 Then
{
me진입수량 = int((총평가금액/2)/Close);
me진입금액 = Close*me진입수량;
현금보유 = 총평가금액 - me진입금액;
Buy("B", OnClose, DEF, me진입수량);
}
if sDate == EntryDate And sTime[1] == EntryTime Then
{
BarID = BarIndex;
me진입수량 = int((총평가금액/2)/Close);
me진입금액 = Close*me진입수량;
현금보유 = 총평가금액 - me진입금액;
진입평가금액 = me진입금액 + 현금보유;
}
총평가금액 = close*me진입수량 + 현금보유;
현평가수익 = close*me진입수량 - me진입금액;
MessageLog("총평가금액%.0f 현금보유%.0f 수익%.0f 진입%.0f", 총평가금액, 현금보유, 현평가수익, BarID);
If 현평가수익/me진입금액*100 > 10.5 Then
{
ExitLong("Pf", OnClose, DEF);
}
If 현평가수익/me진입금액*100 < -10 Then
{
ExitLong("cut", OnClose, DEF);
}