커뮤니티

시스템 서식 부탁드립니다.

프로필 이미지
가자아이
2025-01-02 11:45:03
524
글번호 186784
답변완료
안녕하세요 항상 감사드립니다. 미국의 선물 거래를 위한 시스템입니다. 아래의 서식에서 추가 조건을 넣어주시면 감사하겠습니다. 한국투자증권 이글로벌 예스트레이너를 사용중입니다. 추가조건 1. 매일 미국 시간 기준 09:30분 부터 시작 2. 매일 청산 (미국 시간기준 07:00) *선물에 따라 시간은 제가 유동적을 변경하면서 사용 예정 *5분봉 기준 input: tt(150000); var: chkP(5), reChkP(10), stopChk(20); var: HH(0), LL(0), BS(0), SS(0); var: dayChk(0); if BarIndex == 0 then ClearDebug(); if dayindex == chkP then { HH = Highest(Max(C,O), chkP+1); LL = Lowest(Min(C,O), chkP+1); #if date == 20240612 then messageLog("--HH %.2f, LL: %.2f", HH, LL); } #if High >= HH and MarketPosition == 0 and ExitDate(1) < Date and time > 93000 then messageLog("HH %.2f, High: %.2f", HH, High); if DayIndex >= chkP and Time < 95000 and sDate == NextBarSdate and EntryDate(0) < Date and EntryDate(1) < Date Then { Buy("B1", AtStop, HH); Sell("S1", AtStop, LL); } //if dayChk == 0 and High >= HH and MarketPosition == 0 and ExitDate(1) < Date and time > 93000 then { // messageLog("HH %.2f, High: %.2f", HH, High); // dayChk = 1; //} if ExitDate(1) == Date and Time < 150000 // and LatestEntryName(1) != "B2" // and LatestEntryName(1) != "S2" // and LatestEntryName(0) != "B2" // and LatestEntryName(0) != "S2" Then { if DayIndex < reChkP Then { HH = Highest(Max(C,O), DayIndex+1); LL = Lowest(Min(C,O), DayIndex+1); } Else { HH = Highest(Max(C,O), reChkP); LL = Lowest(Min(C,O), reChkP); } Buy("B2", AtStop, HH); Sell("S2", AtStop, LL); } if (MarketPosition == 1) Then { if DayIndex < stopChk Then { BS = Lowest(Min(C,O), DayIndex+1); } Else { BS = Lowest(Min(C,O), stopChk); } ExitLong("EL", AtStop, BS); } if (MarketPosition == -1) Then { if DayIndex < stopChk Then { SS = Highest(Max(C,O), DayIndex+1); } Else { SS = Highest(Max(C,O), stopChk); } #messageLog(" SS %.2f", SS); ExitShort("ES", AtStop, SS); } SetStopEndofday();
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-01-02 15:24:25

안녕하세요 예스스탁입니다. 1 당일청산시간은 장종료시간으로 지정하시면 안됩니다. 장종료시간으로 지정하시면 이미 장이 종료된 이후가 됩니다. 장종료시간 몇분전으로 지정하셔야 합니다. 2 아래 수식에 시간제한, 당일청산, 당일봉번호등은 해외선물에 맞게 수정했습니다. 수식에 Time < 95000와 같이 국내 기준으로 지정된 내용들은 확인하시고 원하시는 시간으로 변경하셔야 합니다. 3 input : StartTime(093000),EndTime(065500); input: tt(150000); var: chkP(5), reChkP(10), stopChk(20); var: HH(0), LL(0), BS(0), SS(0); var: dayChk(0); var : Tcond(False),ii(0); 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 { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } if BarIndex == 0 then ClearDebug(); if bdate !=Bdate[1] Then ii = 0; Else ii = ii +1; if ii == chkP then { HH = Highest(Max(C,O), chkP+1); LL = Lowest(Min(C,O), chkP+1); #if date == 20240612 then messageLog("--HH %.2f, LL: %.2f", HH, LL); } #if High >= HH and MarketPosition == 0 and ExitDate(1) < Date and time > 93000 then messageLog("HH %.2f, High: %.2f", HH, High); if Tcond == true and ii >= chkP and Time < 95000 and sDate == NextBarSdate and EntryDate(0) < Date and EntryDate(1) < Date Then { Buy("B1", AtStop, HH); Sell("S1", AtStop, LL); } //if dayChk == 0 and High >= HH and MarketPosition == 0 and ExitDate(1) < Date and time > 93000 then { // messageLog("HH %.2f, High: %.2f", HH, High); // dayChk = 1; //} if ExitDate(1) == Date and Time < 150000 and Tcond == true // and LatestEntryName(1) != "B2" // and LatestEntryName(1) != "S2" // and LatestEntryName(0) != "B2" // and LatestEntryName(0) != "S2" Then { if ii < reChkP Then { HH = Highest(Max(C,O), ii+1); LL = Lowest(Min(C,O), ii+1); } Else { HH = Highest(Max(C,O), reChkP); LL = Lowest(Min(C,O), reChkP); } Buy("B2", AtStop, HH); Sell("S2", AtStop, LL); } if (MarketPosition == 1) Then { if ii < stopChk Then { BS = Lowest(Min(C,O), ii+1); } Else { BS = Lowest(Min(C,O), stopChk); } ExitLong("EL", AtStop, BS); } if (MarketPosition == -1) Then { if ii < stopChk Then { SS = Highest(Max(C,O), ii+1); } Else { SS = Highest(Max(C,O), stopChk); } #messageLog(" SS %.2f", SS); ExitShort("ES", AtStop, SS); } 즐거운 하루되세요 > 가자아이 님이 쓴 글입니다. > 제목 : 시스템 서식 부탁드립니다. > 안녕하세요 항상 감사드립니다. 미국의 선물 거래를 위한 시스템입니다. 아래의 서식에서 추가 조건을 넣어주시면 감사하겠습니다. 한국투자증권 이글로벌 예스트레이너를 사용중입니다. 추가조건 1. 매일 미국 시간 기준 09:30분 부터 시작 2. 매일 청산 (미국 시간기준 07:00) *선물에 따라 시간은 제가 유동적을 변경하면서 사용 예정 *5분봉 기준 input: tt(150000); var: chkP(5), reChkP(10), stopChk(20); var: HH(0), LL(0), BS(0), SS(0); var: dayChk(0); if BarIndex == 0 then ClearDebug(); if dayindex == chkP then { HH = Highest(Max(C,O), chkP+1); LL = Lowest(Min(C,O), chkP+1); #if date == 20240612 then messageLog("--HH %.2f, LL: %.2f", HH, LL); } #if High >= HH and MarketPosition == 0 and ExitDate(1) < Date and time > 93000 then messageLog("HH %.2f, High: %.2f", HH, High); if DayIndex >= chkP and Time < 95000 and sDate == NextBarSdate and EntryDate(0) < Date and EntryDate(1) < Date Then { Buy("B1", AtStop, HH); Sell("S1", AtStop, LL); } //if dayChk == 0 and High >= HH and MarketPosition == 0 and ExitDate(1) < Date and time > 93000 then { // messageLog("HH %.2f, High: %.2f", HH, High); // dayChk = 1; //} if ExitDate(1) == Date and Time < 150000 // and LatestEntryName(1) != "B2" // and LatestEntryName(1) != "S2" // and LatestEntryName(0) != "B2" // and LatestEntryName(0) != "S2" Then { if DayIndex < reChkP Then { HH = Highest(Max(C,O), DayIndex+1); LL = Lowest(Min(C,O), DayIndex+1); } Else { HH = Highest(Max(C,O), reChkP); LL = Lowest(Min(C,O), reChkP); } Buy("B2", AtStop, HH); Sell("S2", AtStop, LL); } if (MarketPosition == 1) Then { if DayIndex < stopChk Then { BS = Lowest(Min(C,O), DayIndex+1); } Else { BS = Lowest(Min(C,O), stopChk); } ExitLong("EL", AtStop, BS); } if (MarketPosition == -1) Then { if DayIndex < stopChk Then { SS = Highest(Max(C,O), DayIndex+1); } Else { SS = Highest(Max(C,O), stopChk); } #messageLog(" SS %.2f", SS); ExitShort("ES", AtStop, SS); } SetStopEndofday();