항상 많은 도움 감사드립니다.
나스닥 시스템 거래를 24시간 동안 운용하고 있습니다.
그런데 나스닥 시장 자체가 현지 시간기준으로 3시 30분부터 휴식시간이 있으며 예스스탁 시스템은 또한 아침 7시경에 점검 때문에 시스템이 종료가 됩니다.
그래서 시스템은 24시간 돌아가되 현지 시간기준으로 3시 20분에 포지션이 있다면 정리하고 거래가 종료되도록 설정하고 싶습니다.
거래 시간으로 설정한다면 현지시간 오후 17:30분에 시작을 해서 다음날 오후 15시 20분에 정리가 되게 하고 싶습니다.
SetStopEndofday 명령어를 사용해 보았는데 설정을 잘못하였는지 설정한 시간이후에는 거래가 이루어 지지 않는 현상이 발생해서 도움 요청 드립니다.
정리하자면 거래 시간은 17:30 ~ 다음날 15:20
15:20분에 모든 포지션을 정리한다... 입니다.
그리고 시스템이 돌아가는 중에 손실제한을 100으로 설정하는 법도 부탁드립니다.
손실 제한을 걸어보니 거래가 이루어 지지 않아서요...
답변 1
예스스탁
예스스탁 답변
2024-09-26 16:27:05
안녕하세요
예스스탁입니다.
아래식 참고하시기 바랍니다.
if Xcond == false and Tcond == true then
{
//진입청산수식
if CrossUp(ma(c,5),ma(C,20)) Then
Buy();
if CrossDown(ma(c,5),ma(C,20)) Then
Sell();
}
아래 내용 중 이평 크로스는 신호확인을 위해 임의로 지정한 것입니다.
내용 삭제하시고 해당 자리에 진입청산 식 넣으시면 됩니다.
Input : 당일손실틱수(100);
input : StartTime(173000),EndTime(152000);
Var : N1(0),dayPl(0),당일손실(0);
var : Tcond(false),Xcond(false);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
Xcond = false;
N1 = NetProfit;
Tcond = true;
Xcond = False;
}
당일손실 = PriceScale*당일손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl <= -당일손실 Then
Xcond = true;
if (IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
}
if Xcond == false and Tcond == true then
{
//진입청산수식
if CrossUp(ma(c,5),ma(C,20)) Then
Buy();
if CrossDown(ma(c,5),ma(C,20)) Then
Sell();
}
if MarketPosition == 1 then
{
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then
{
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
즐거운 하루되세요
> 비정성시 님이 쓴 글입니다.
> 제목 : 거래 종료(포지션 정리)관련 문의 드립니다.
> 항상 많은 도움 감사드립니다.
나스닥 시스템 거래를 24시간 동안 운용하고 있습니다.
그런데 나스닥 시장 자체가 현지 시간기준으로 3시 30분부터 휴식시간이 있으며 예스스탁 시스템은 또한 아침 7시경에 점검 때문에 시스템이 종료가 됩니다.
그래서 시스템은 24시간 돌아가되 현지 시간기준으로 3시 20분에 포지션이 있다면 정리하고 거래가 종료되도록 설정하고 싶습니다.
거래 시간으로 설정한다면 현지시간 오후 17:30분에 시작을 해서 다음날 오후 15시 20분에 정리가 되게 하고 싶습니다.
SetStopEndofday 명령어를 사용해 보았는데 설정을 잘못하였는지 설정한 시간이후에는 거래가 이루어 지지 않는 현상이 발생해서 도움 요청 드립니다.
정리하자면 거래 시간은 17:30 ~ 다음날 15:20
15:20분에 모든 포지션을 정리한다... 입니다.
그리고 시스템이 돌아가는 중에 손실제한을 100으로 설정하는 법도 부탁드립니다.
손실 제한을 걸어보니 거래가 이루어 지지 않아서요...