예스스탁
예스스탁 답변
2021-01-04 14:23:44
안녕하세요
예스스탁입니다.
당일수익이나 당일손실을 금액이 아닌 포인트로 지정하셔야 합니다.
Input : Period(20), MultiD(2);
input : StartTime(80000),EndTime(060000);
input : 진입수량(1),손절포인트(2);
Input : 당일수익(10),당일손실(10);
Var : N1(0),dayPl(0),Xcond(false);
var : BBmd(0),BBup(0),BBdn(0);
var : Tcond(false);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
if MarketPosition == 1 then
ExitLong();
if MarketPosition == -1 then
ExitShort();
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
Xcond = false;
N1 = NetProfit;
}
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;
}
BBmd = ma(C,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
if Tcond == true Then
{
if MarketPosition == 0 and H < bbup Then
Sell("s",AtLimit,BBup,진입수량);
if MarketPosition == 0 and L > bbdn Then
Buy("b",AtLimit,BBdn,진입수량);
if MarketPosition == -1 Then
{
ExitShort("sx",AtLimit,bbmd);
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 Then
{
ExitLong("bx",AtLimit,bbmd);
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
}
SetStopLoss(손절포인트,PointStop);
즐거운 하루되세요
> fastlane 님이 쓴 글입니다.
> 제목 : 시스템 수식 부탁드립니다.
> 노고에 먼저 감사드립니다. 시스템 수식부탁드립니다.
- 볼린져밴드 설정 (20, 2)
- 매도진입 조건: 가격이 볼린져밴드 상한선을 터치 (=가격이 동일)할 때 매도진입
- 매수진입 조건: 가격이 볼린져밴드 하한선을 터치할 때 매수진입
- 익절조건: 가격이 볼린져밴드 중심선을 터치할 때 익절청산
- 손절조건: 진입기준으로 손절포인트 임의설정
- 거래시간대 설정 (가령, 00:00~24:00)
- 1계약 진입
- 진입조건을 만족하더라도 진입한 계약이 청산(= 익절 또는 손절)될 때까지는 추가진입금지
- 당일 누적손실금액이 50만원에 도달시 당일 추가거래 종료
- 당일 누적이익금액이 100만원에 도달시 당일 추가거래 종료