커뮤니티
문의요~
2017-11-03 01:46:39
151
글번호 113865
2
Input : 당일손실틱수(200);
Var : N1(0),dayPl(0),당일손실(0),Xcond(false);
당일손실 = PriceScale*당일손실틱수;
if Bdate != Bdate[1] Then{
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
if Xcond == false and 매수진입조건 Then{
buy("b");
}
if Xcond == false and 매도진입조건 Then{
sell("s");
}
if MarketPosition == 1 then{
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
if (sdate != sdate[1] and stime >= 020000) or
(sdate == sdate[1] and stime > 020000 and stime[1] < 020000) Then{
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
어제문의한 당일손실제한200틱인데요~ 수익도200틱제한으로 추가 부탁드릴게요 식을 이해를 못해서 수정을 못하겠습니다~ 위식에서 간단히 주석설명도 부탁드립니다. 감사합니다~
특히 N1 = NetProfit; //(청산종결된모든거래의손익금액) 이렇게 선언을 했는데
daypl = NetProfit-N1; 여기서는 daypl은 무조건 0이 나오는게 아닌가요
특히 이부분이 이해가 어렵습니다~
답변 1
예스스탁 예스스탁 답변
2017-11-03 10:45:49
안녕하세요
예스스탁입니다.
시간청산 내용은 불필요한 부분이라 삭제했습니다.
수식에 주석을 붙여드립니다.
Input : 당일수익틱수(80),당일손실틱수(80);
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
#틱수를 포이트(원)으로 환산
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
#영업일 변경
if Bdate != Bdate[1] Then{
#특정 이름의 청산이 발생하면 true를 저장하는 변수는 false로 초기화
Xcond = false;
#n1은 오늘 장초기준 총손익
N1 = NetProfit;
}
#총손익에서 장초 총손익을 빼서 현재손익을 계산
daypl = NetProfit-N1;
#청산이 발생시 dbp,dbl,dsp,dsl이름의 청산이 발생하면
#xcond는 true로 변경
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
#모든 진입은 xcond가 false일때만 진입
if Xcond == false and 매수진입조건 Then{
buy("b");
}
if Xcond == false and 매도진입조건 Then{
sell("s");
}
if MarketPosition == 1 then{
# 매수진입후 당일수익에 도달할 만큼 수익발생하면 청산
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
# 매수진입후 당일손실에 도달할 만큼 손실발생하면 청산
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
# 매도진입후 당일손실에 도달할 만큼 손실발생하면 청산
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
# 매도진입후 당일손실에 도달할 만큼 손실발생하면 청산
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
즐거운 하루되세요
> 겐지 님이 쓴 글입니다.
> 제목 : 문의요~
> 2
Input : 당일손실틱수(200);
Var : N1(0),dayPl(0),당일손실(0),Xcond(false);
당일손실 = PriceScale*당일손실틱수;
if Bdate != Bdate[1] Then{
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
if Xcond == false and 매수진입조건 Then{
buy("b");
}
if Xcond == false and 매도진입조건 Then{
sell("s");
}
if MarketPosition == 1 then{
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
if (sdate != sdate[1] and stime >= 020000) or
(sdate == sdate[1] and stime > 020000 and stime[1] < 020000) Then{
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
어제문의한 당일손실제한200틱인데요~ 수익도200틱제한으로 추가 부탁드릴게요 식을 이해를 못해서 수정을 못하겠습니다~ 위식에서 간단히 주석설명도 부탁드립니다. 감사합니다~
특히 N1 = NetProfit; //(청산종결된모든거래의손익금액) 이렇게 선언을 했는데
daypl = NetProfit-N1; 여기서는 daypl은 무조건 0이 나오는게 아닌가요
특히 이부분이 이해가 어렵습니다~
다음글
이전글