예스스탁
예스스탁 답변
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분에 모든 포지션 청산이구요
아 그리고 한가지 더.. 이거는 위에하고는 상관없는건데요..
수식맨앞줄에 // 슬래시 두개하면 그줄은 비활성되는건 아는데 이러면 그줄 한줄만 비활성되는거죠? 한 문단 전체를 하려면 어찌해야 하는지 방법 알고 싶습니다~~
다시 문의 드립니다
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분에 모든 포지션 청산이구요
아 그리고 한가지 더.. 이거는 위에하고는 상관없는건데요..
수식맨앞줄에 // 슬래시 두개하면 그줄은 비활성되는건 아는데 이러면 그줄 한줄만 비활성되는거죠? 한 문단 전체를 하려면 어찌해야 하는지 방법 알고 싶습니다~~