답변완료
볼린저 밴드 수식 점검 문의드립니다.
아래의 수식을 시뮬레이션 해보았습니다.
당일누적손실틱수를 160틱으로 잡아보았습니다.
그런데 160틱에서 손절되는게 아니고 봉이 완성될때까지 기다렸다가 시그널이 발생되는거 같습니다.
명령어를 Atstop으로 해서 당연히 되는줄 알았는데 아닌거 같아서요 ~
160틱에서 stop되게 하려면 무엇을 바꿔야 하는지 좀 알려주시면 감사하겠습니다.
- 아 래 -
Inputs: Length(9), StdDev(2), Bars(2);
Variables: BBTop(0),BBBot(0);
Input : 당일누적수익틱수(500),당일누적손실틱수(160);
input : starttime(100000),endtime(200000);
VARS: Tcond(false),N1(0),dayPl(0),당일누적수익(0),당일누적손실(0),Xcond(false),stok(0),stod(0);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("매수청산");
if MarketPosition == -1 Then
ExitShort("매도청산");
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Xcond = false;
N1 = NetProfit;
Tcond = true;
}
당일누적수익 = PriceScale*당일누적수익틱수;
당일누적손실 = PriceScale*당일누적손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일누적수익 or daypl <= -당일누적손실 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
}
if MarketPosition == 1 then{
ExitLong("매수수익",atlimit,EntryPrice+((당일누적수익-daypl)/CurrentContracts));
ExitLong("매수손실",AtStop,EntryPrice-((당일누적손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("매도수익",atlimit,EntryPrice-((당일누적수익-daypl)/CurrentContracts));
ExitShort("매도손실",AtStop,EntryPrice+((당일누적손실+daypl)/CurrentContracts));
}
BBTop = BollBandup(Length, StdDev);
BBBot = BollBanddown(Length, StdDev);
If Tcond == true and Xcond == False and CountIF(Close < BBBot, Bars) == Bars Then
Buy("매수", AtStop, BBBot);
If Tcond == true and Xcond == False and CountIF(Close > BBTop, Bars) == Bars Then
Sell("매도", AtStop, BBTop);
2021-04-19
1619
글번호 148190
시스템
답변완료
궁금한점이 있어 요청드립니다.
안녕하세요 항상 수고가 많으십니다.
궁금한 점이 있어 이렇게 글을 남깁니다.
현재 주식현물을 시스템식으로 돌리고 있습니다.
이제 약 2달 정도 돌리고 있는데...
문제점이 하나 발견되는데.. 어떻게 해야할지 궁금해서 글을 남겨봅니다.
1분봉으로 시스템식을 돌리고 있는데,
매수신호가 발생되어서 매수신호가 나가고 있는중에 매도조건이 충족하여
매도신호가 나가더라구요.
그런데 매수주문을 체결하고 있는 중이라. 시스템상으로는 매도신호가 나갔지만,
실질적으로 매도신호가 사라지게 되는경우가 엄청 많이 있습니다.
시스템상으로는 매도 신호는 이미 나가서 사라지게 되었고, 그리고 실질적으로
해당 종목은 계속 홀딩중이고, 수동으로 매도 하지 않는 이상.. 시스템상으로는
아무것도 안들고 있는걸로 나오네요!
어떻게 해결해야 할까요???
당장 드는 생각은 매수신호 나가면 체결할 시간을 부여하는게 어떻까 이런생각이 듭니다.
적어도 매도신호는 매수신호가 나오고 1~2분뒤에 조건을 만족했을때 매도 신호 발생해서
주문이 나가게...
혹시 다른 문제해결방법이나. 조언이 있으시면 부탁드립니다..
그리고, 만약에 제가 생각한 방법밖에 없다면, 어떻게 수식을 작성해야하는지
부탁드립니다.
감사합니다.
2021-04-19
783
글번호 148159
시스템