예스스탁
예스스탁 답변
2022-05-25 13:01:12
안녕하세요
예스스탁입니다.
input : StartTime(153000),EndTime(055000);
input : P1(5),P2(20),P3(40),P4(60);
Input : 익절틱수(400),누적수익틱수(120),횟수(3);
var : Tcond(false),mav1(0),mav2(0),mav3(0),mav4(0);
Var : N1(0),dayPl(0),누적수익(0),Xcond(false),Xcount(0);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
Tcond = true;
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = False;
Xcond = false;
N1 = NetProfit;
Xcount = 0;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
누적수익 = PriceScale*누적수익틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 누적수익 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then
Xcond = true;
if Xcond == true Then
{
Xcount = Xcount+1;
N1 = NetProfit;
}
}
mav1 = ma(C,P1);
mav2 = ma(C,P2);
mav3 = ma(C,P3);
mav4 = ma(C,P4);
if tcond ==true and Xcount < 횟수 Then
{
if mav2 > mav3 and CrossDown(mav1,mav2) Then
{
Buy("b");
}
}
if MarketPosition == 1 then
{
if C < L[BarsSinceEntry] Then
Sell("bs");
ExitLong("dbp",atlimit,EntryPrice+((누적수익-daypl)/CurrentContracts));
}
if MarketPosition == -1 then
{
if C > H[BarsSinceEntry] Then
ExitShort("sx");
ExitShort("dsp",atlimit,EntryPrice-((누적수익-daypl)/CurrentContracts));
}
SetStopProfittarget(익절틱수*PriceScale,PointStop);
즐거운 하루되세요
> 아침 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 시작시간 15시 30분. 끝나는 시간 05시 50분. 진입한 수량이 있다면 모두청산후 시스템종료.
이평 2 가 이평 3 위의 있고
이평 1 이 이평 3 하향돌파 매수.
매수한 그 캔들의 저가보다 낮게 봉완성되면 매도.스위칭 될 때 수량1개 늘어나기.
매수했던 그 캔들의 고가보다 높게 봉완성되면 손절청산.
익절400틱.
누적수익120틱. 3회 달성되면 시간과 관계없이 시스템종료.
수고하세요.