예스스탁
예스스탁 답변
2022-05-09 10:03:13
안녕하세요
예스스탁입니다.
input : StartTime(203000),EndTime(033000);
input : P1(5),P2(10),P3(20),P4(60),P5(120);
Input : 익절틱수(280),손절틱수(120),누적수익틱수(120),횟수(3);
var : Tcond(false),stok(0),t(0),aa(0);
Var : N1(0),dayPl(0),누적수익(0),Xcond(false),Xcount(0);
누적수익 = PriceScale*누적수익틱수;
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;
}
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;
}
}
var1 = ma(C,P1);
var2 = ma(C,P2);
var3 = ma(C,P3);
var4 = ma(C,P4);
var5 = ma(C,P5);
if tcond ==true and Xcount < 횟수 Then
{
if Var5 < Var4 and Var3 > Var2 and CrossUp(var1,Var2) Then
Buy();
if MarketPosition == 1 and C < L[BarsSinceEntry] Then
ExitLong("bx");
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((누적수익-daypl)/CurrentContracts));
}
if MarketPosition == -1 then
{
ExitShort("dsp",atlimit,EntryPrice-((누적수익-daypl)/CurrentContracts));
}
즐거운 하루되세요
> 아침 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 시작시간 20시30분. 끝나는 시간 다음날 오전 03시30분. 진입한 상품이 있다면 모두청산후 시스템완전종료.
이평 1. 2. 3. 4. 5
이평 5 위의 4가 있고
이평 3 아래 2가 있고
이평 1 이 2를 상향돌파 매수.
매수한 그 캔들의 저가보다 낮게 봉완성되면 매수청산.
익절 280틱. 손절120틱.
누적수익 120틱. 누적수익 3회 달성되면 시간과 관계없이 시스템완전종료.
수고하세요.