커뮤니티

당일손익

프로필 이미지
코퍼
2022-01-27 13:44:16
940
글번호 155862
답변완료
안녕하세요~ 아래 문장해석 부탁드립니다. 1. (sdate != sdate[1] and stime >= EndTime) 문장에서 날자가 바뀐직후면 0시인데 봉의 시간이 엔드타임보다 큰경우가 있나요? 2.(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) 문장은 개장직후 인가요? 3. 엔드타임에 청산은 어케하죠? 아 래 안녕하세요 예스스탁입니다. 1 아래 식구조 참고하시기 바랍니다. Input : 당일수익틱수(150),당일손실틱수(100); input : StartTime(90000),EndTime(045000); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); var : Tcond(false); 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 { SetStopEndofday(0); Tcond = true; } 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } 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 Xcond == false and Tcond == true then { 진입청산수식 } 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 : af(0.02), maxAF(0.2); Var : Sarv(0); Sarv = sar(af,maxAF); /* If crossup(c,Sarv) Then { Buy(); } */ If CrossDown(c,Sarv) Then { Sell(); } 즐거운 하루되세요 > 오케마컴 님이 쓴 글입니다. > 제목 : 당일 누적손익 부탁드립니다 > 해외선물 나스닥이구요 매매시간은 오전 9시부터 다음날 새벽 04시 50분까지로 정하구요 당일의 누적수익(목표수익이 아님) 또는 누적손실이 정해진 목표에 도달하면 곧 청산이 되고 청산이후 재진입(매수 매도)이 금지되는 식을 알려주시면 감사하겠습니다. 누적수익은 150틱 누적손실은 100틱으로 하구요 이값에 도달하면 포지션 청산하고 재진입 금지되게 하고 싶습니다 도달하지 못하면 끝나는 시간 04시50분에 모든 포지션 청산이구요 아 그리고 한가지 더.. 이거는 위에하고는 상관없는건데요.. 수식맨앞줄에 // 슬래시 두개하면 그줄은 비활성되는건 아는데 이러면 그줄 한줄만 비활성되는거죠? 한 문단 전체를 하려면 어찌해야 하는지 방법 알고 싶습니다~~
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2022-01-27 16:28:22

안녕하세요 예스스탁입니다. 1 (sdate != sdate[1] and stime >= EndTime) 종목에 따라 거래가 없어 날짜변경 후 첫봉이 endtime 이후일때를 대비해서 추가한 내용입니다. 2 (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) 개장직후를 의미하는 내용이 아닙니다. 날짜 변경후 지정한 정상적으로 거래가 되어 endtime보다 시간이 작다가 같거나 커지는 봉을 지정한 내용입니다. 즉 1번과 2번은 당일 처음 지정한 endtime을 만족하는 봉을 지정하기 위함입니다. 3 이전 답변에 보시면 endtime 청산내용이 있습니다. if sdate != sDate[1] Then SetStopEndofday(Endtime); 즐거운 하루되세요 > 코퍼 님이 쓴 글입니다. > 제목 : 당일손익 > 안녕하세요~ 아래 문장해석 부탁드립니다. 1. (sdate != sdate[1] and stime >= EndTime) 문장에서 날자가 바뀐직후면 0시인데 봉의 시간이 엔드타임보다 큰경우가 있나요? 2.(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) 문장은 개장직후 인가요? 3. 엔드타임에 청산은 어케하죠? 아 래 안녕하세요 예스스탁입니다. 1 아래 식구조 참고하시기 바랍니다. Input : 당일수익틱수(150),당일손실틱수(100); input : StartTime(90000),EndTime(045000); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); var : Tcond(false); 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 { SetStopEndofday(0); Tcond = true; } 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } 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 Xcond == false and Tcond == true then { 진입청산수식 } 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 : af(0.02), maxAF(0.2); Var : Sarv(0); Sarv = sar(af,maxAF); /* If crossup(c,Sarv) Then { Buy(); } */ If CrossDown(c,Sarv) Then { Sell(); } 즐거운 하루되세요 > 오케마컴 님이 쓴 글입니다. > 제목 : 당일 누적손익 부탁드립니다 > 해외선물 나스닥이구요 매매시간은 오전 9시부터 다음날 새벽 04시 50분까지로 정하구요 당일의 누적수익(목표수익이 아님) 또는 누적손실이 정해진 목표에 도달하면 곧 청산이 되고 청산이후 재진입(매수 매도)이 금지되는 식을 알려주시면 감사하겠습니다. 누적수익은 150틱 누적손실은 100틱으로 하구요 이값에 도달하면 포지션 청산하고 재진입 금지되게 하고 싶습니다 도달하지 못하면 끝나는 시간 04시50분에 모든 포지션 청산이구요 아 그리고 한가지 더.. 이거는 위에하고는 상관없는건데요.. 수식맨앞줄에 // 슬래시 두개하면 그줄은 비활성되는건 아는데 이러면 그줄 한줄만 비활성되는거죠? 한 문단 전체를 하려면 어찌해야 하는지 방법 알고 싶습니다~~
프로필 이미지

코퍼

2022-01-27 19:40:17

다시 문의 드립니다 1. SetStopEndofday(0); 왜 0시에 청산하죠? 2. 아래 {}안의 N1, NetProfit과 daypl 우측의 N1, NetProfit 과 어케 다른지요? if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; 매번 예스스탁에 감사드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 당일손익 > 안녕하세요 예스스탁입니다. 1 (sdate != sdate[1] and stime >= EndTime) 종목에 따라 거래가 없어 날짜변경 후 첫봉이 endtime 이후일때를 대비해서 추가한 내용입니다. 2 (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) 개장직후를 의미하는 내용이 아닙니다. 날짜 변경후 지정한 정상적으로 거래가 되어 endtime보다 시간이 작다가 같거나 커지는 봉을 지정한 내용입니다. 즉 1번과 2번은 당일 처음 지정한 endtime을 만족하는 봉을 지정하기 위함입니다. 3 이전 답변에 보시면 endtime 청산내용이 있습니다. if sdate != sDate[1] Then SetStopEndofday(Endtime); 즐거운 하루되세요 > 코퍼 님이 쓴 글입니다. > 제목 : 당일손익 > 안녕하세요~ 아래 문장해석 부탁드립니다. 1. (sdate != sdate[1] and stime >= EndTime) 문장에서 날자가 바뀐직후면 0시인데 봉의 시간이 엔드타임보다 큰경우가 있나요? 2.(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) 문장은 개장직후 인가요? 3. 엔드타임에 청산은 어케하죠? 아 래 안녕하세요 예스스탁입니다. 1 아래 식구조 참고하시기 바랍니다. Input : 당일수익틱수(150),당일손실틱수(100); input : StartTime(90000),EndTime(045000); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); var : Tcond(false); 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 { SetStopEndofday(0); Tcond = true; } 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } 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 Xcond == false and Tcond == true then { 진입청산수식 } 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 : af(0.02), maxAF(0.2); Var : Sarv(0); Sarv = sar(af,maxAF); /* If crossup(c,Sarv) Then { Buy(); } */ If CrossDown(c,Sarv) Then { Sell(); } 즐거운 하루되세요 > 오케마컴 님이 쓴 글입니다. > 제목 : 당일 누적손익 부탁드립니다 > 해외선물 나스닥이구요 매매시간은 오전 9시부터 다음날 새벽 04시 50분까지로 정하구요 당일의 누적수익(목표수익이 아님) 또는 누적손실이 정해진 목표에 도달하면 곧 청산이 되고 청산이후 재진입(매수 매도)이 금지되는 식을 알려주시면 감사하겠습니다. 누적수익은 150틱 누적손실은 100틱으로 하구요 이값에 도달하면 포지션 청산하고 재진입 금지되게 하고 싶습니다 도달하지 못하면 끝나는 시간 04시50분에 모든 포지션 청산이구요 아 그리고 한가지 더.. 이거는 위에하고는 상관없는건데요.. 수식맨앞줄에 // 슬래시 두개하면 그줄은 비활성되는건 아는데 이러면 그줄 한줄만 비활성되는거죠? 한 문단 전체를 하려면 어찌해야 하는지 방법 알고 싶습니다~~
프로필 이미지

예스스탁 예스스탁 답변

2022-01-28 10:03:57

안녕하세요 예스스탁입니다. 1 SetStopEndofday(0)은 해제입니다. 강제청산 함수에 0을 지정하면 조건을 해제한다는 의미입니다. 당일청산 SetStopEndofday은 지정한시간에 청산을 하고 지정한 당일청산시간이후 밤 0시까지 진입을 제한합니다. 설정한 시간이 새벽시간이므로 starttime에 당일청산을 해제하고 0시에 다시 세팅해서 새벽시간에 청산후 starttime이후에 진입이 될수 있게 작성된 식입니다. 2 해당식은 당일 손익을 계산하는 식입니다. if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; Bdate != Bdate[1] 영업일이 변경되면(당일첫봉) N1에 현재까지의 총손익을 저장하고 이후 daypl에는 현재까지의 총손익(NetProfit)에서 첫봉의 총손익(N1)을 빼서 당일 청산완료된 거래의 총손익을 계산하게 만든식입니다. 즐거운 명절 되시길 바랍니다. > 코퍼 님이 쓴 글입니다. > 제목 : Re : Re : 당일손익 > 다시 문의 드립니다 1. SetStopEndofday(0); 왜 0시에 청산하죠? 2. 아래 {}안의 N1, NetProfit과 daypl 우측의 N1, NetProfit 과 어케 다른지요? if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; 매번 예스스탁에 감사드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 당일손익 > 안녕하세요 예스스탁입니다. 1 (sdate != sdate[1] and stime >= EndTime) 종목에 따라 거래가 없어 날짜변경 후 첫봉이 endtime 이후일때를 대비해서 추가한 내용입니다. 2 (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) 개장직후를 의미하는 내용이 아닙니다. 날짜 변경후 지정한 정상적으로 거래가 되어 endtime보다 시간이 작다가 같거나 커지는 봉을 지정한 내용입니다. 즉 1번과 2번은 당일 처음 지정한 endtime을 만족하는 봉을 지정하기 위함입니다. 3 이전 답변에 보시면 endtime 청산내용이 있습니다. if sdate != sDate[1] Then SetStopEndofday(Endtime); 즐거운 하루되세요 > 코퍼 님이 쓴 글입니다. > 제목 : 당일손익 > 안녕하세요~ 아래 문장해석 부탁드립니다. 1. (sdate != sdate[1] and stime >= EndTime) 문장에서 날자가 바뀐직후면 0시인데 봉의 시간이 엔드타임보다 큰경우가 있나요? 2.(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) 문장은 개장직후 인가요? 3. 엔드타임에 청산은 어케하죠? 아 래 안녕하세요 예스스탁입니다. 1 아래 식구조 참고하시기 바랍니다. Input : 당일수익틱수(150),당일손실틱수(100); input : StartTime(90000),EndTime(045000); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); var : Tcond(false); 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 { SetStopEndofday(0); Tcond = true; } 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } 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 Xcond == false and Tcond == true then { 진입청산수식 } 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 : af(0.02), maxAF(0.2); Var : Sarv(0); Sarv = sar(af,maxAF); /* If crossup(c,Sarv) Then { Buy(); } */ If CrossDown(c,Sarv) Then { Sell(); } 즐거운 하루되세요 > 오케마컴 님이 쓴 글입니다. > 제목 : 당일 누적손익 부탁드립니다 > 해외선물 나스닥이구요 매매시간은 오전 9시부터 다음날 새벽 04시 50분까지로 정하구요 당일의 누적수익(목표수익이 아님) 또는 누적손실이 정해진 목표에 도달하면 곧 청산이 되고 청산이후 재진입(매수 매도)이 금지되는 식을 알려주시면 감사하겠습니다. 누적수익은 150틱 누적손실은 100틱으로 하구요 이값에 도달하면 포지션 청산하고 재진입 금지되게 하고 싶습니다 도달하지 못하면 끝나는 시간 04시50분에 모든 포지션 청산이구요 아 그리고 한가지 더.. 이거는 위에하고는 상관없는건데요.. 수식맨앞줄에 // 슬래시 두개하면 그줄은 비활성되는건 아는데 이러면 그줄 한줄만 비활성되는거죠? 한 문단 전체를 하려면 어찌해야 하는지 방법 알고 싶습니다~~