예스스탁
예스스탁 답변
2020-10-05 14:19:45
안녕하세요
예스스탁입니다.
input : StartTime(90000),EndTime(060000),수익틱수(100);
var : Tcond(false),PL(0),당일수익(0),Xcond(False),N1(0),daypl(0),T(0);
당일수익 = PriceScale*수익틱수;
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;
N1 = NetProfit;
Xcond = False;
T = 0;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if 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 Tcond == true and Xcond == False Then
{
if T <= 0 and CrossUp(C,DayOpen) Then
{
T = T+1;
Buy("b",OnClose,DEf,T);
}
if T >= 0 and CrossDown(c,DayOpen) Then
{
T = T+1;
Sell("s",OnClose,DEf,T);
}
if MarketPosition == 1 Then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-pl)/CurrentContracts));
}
if MarketPosition == -1 Then
{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-pl)/CurrentContracts));
}
}
즐거운 하루되세요
> 아침한때비51 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 이평 1 이 당일시가를 상향돌파 매수.당일시가 하향돌파 매도.
돌파시마다 물량 1개씩 늘어나게 해주세요.
(물량 1개씩 늘릴 때 먼저 진입한 물량을 손절청산 하고 다시 진입하게끔 해주세요.
예를 들어 2개가 진입되었다면 3개째 진입이 발생하게 될 때 먼저 진입한 2개를 먼저 손절청산하고 바로 다시 3개를 진입하면 되는 겁니다.이런식으로 진입이 계속 이루어지면 됩니다.)
(뷰가 바뀔 때 먼저 매입된 것 부터 청산하고 바로 다시 진입하게 해 주세요.)
이렇게 해 돌라고 하는 이유는 물론 아시겠지만,혹시 또 헷갈릴 수 있을거 같아서 몇 자 적어봅니다. 이유인 즉,먼저 진입한 거 먼저 청산하고 다시 바로 물량 진입해 돌라고 하는 건
뷰가 바뀔 때
보통 먼저 매입한 물량하고 재진입되는 물량과 합해서 계산하게 되잖아요.그렇게 되면 만약,제 계좌에 있는 돈이 적으면 먼저 매입한 물량만 청산되고 다음 체결이 안되기 때문에 ....무슨말인가 아시죠.ㅎ)
전체 수익 100틱이면 당일 시스템 완전종료.
(마이너스 난게 있다면 그 마이너스 난 거 다 빼고 수익을 말하는 겁니다.)
시작시간 오전9시 부터 해 주세요.
부탁드립니다. 수고하세요.