커뮤니티

특정시간 강제 청산

프로필 이미지
blueo
2020-09-17 13:26:16
803
글번호 142468
답변완료
안녕하세요 관리자님 우선 늘 감사 드립니다. 문의 드릴것이 해외선물 포지션이 남아있으면 특정시간에 강제 청산 하는 로직을 어떻게 해야되는지 문의 드립니다. 특정 시간은 오전 5시 30분 입니다. Input : 기준선기간1(20),기준선기간2(60),지수이평기간(5); input : LossCount(2),손절(200),트레일링스탑(100); var:기준선1(0),기준선2(0); var : 지수이평(0),Lcnt(0); 기준선1 = (Highest(High, 기준선기간1) + Lowest(Low, 기준선기간1)) / 2 ; 기준선2 = (Highest(High, 기준선기간2) + Lowest(Low, 기준선기간2)) / 2 ; 지수이평 = ema(C,지수이평기간); if Bdate != Bdate[1] Then Lcnt = 0; if TotalTrades > TotalTrades[1] and IsExitName("StopLoss",1) == true Then Lcnt = Lcnt+1; IF Lcnt < LossCount and (MarketPosition <= 0 OR (MarketPosition == 1 and MaxEntries < 3)) Then { If (기준선1[0] >= 기준선2[0]) and (Crossup(지수이평[0],기준선2[0]) or Crossup(지수이평[0],기준선1[0])) Then Buy("b"); } IF Lcnt < LossCount and (MarketPosition >= 0 OR (MarketPosition == -1 and MaxEntries < 3)) Then { If (기준선1[0] < 기준선2[0]) and (CrossDown(지수이평[0],기준선2[0]) or CrossDown(지수이평[0],기준선1[0]))Then Sell("s"); } if MarketPosition == 1 Then { ExitLong("btr",AtStop,Highest(H,BarsSinceEntry)-PriceScale*트레일링스탑); if CrossDown(지수이평[0],기준선2[0]) or CrossDown(지수이평[0],기준선1[0]) Then ExitLong("bx"); } if MarketPosition == -1 Then { ExitShort("Str",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*트레일링스탑); if Crossup(지수이평[0],기준선2[0]) or Crossup(지수이평[0],기준선1[0]) Then ExitShort("sx"); } SetStopLoss(PriceScale*손절,PointStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-09-17 15:23:58

안녕하세요 예스스탁입니다. Input : 기준선기간1(20),기준선기간2(60),지수이평기간(5); input : LossCount(2),손절(200),트레일링스탑(100),당일청산(053000); var:기준선1(0),기준선2(0),T1(0); var : 지수이평(0),Lcnt(0); 기준선1 = (Highest(High, 기준선기간1) + Lowest(Low, 기준선기간1)) / 2 ; 기준선2 = (Highest(High, 기준선기간2) + Lowest(Low, 기준선기간2)) / 2 ; 지수이평 = ema(C,지수이평기간); if Bdate != Bdate[1] Then { T1 = sTime; Lcnt = 0; } if TotalTrades > TotalTrades[1] and IsExitName("StopLoss",1) == true Then Lcnt = Lcnt+1; IF Lcnt < LossCount and (MarketPosition <= 0 OR (MarketPosition == 1 and MaxEntries < 3)) Then { If (기준선1[0] >= 기준선2[0]) and (Crossup(지수이평[0],기준선2[0]) or Crossup(지수이평[0],기준선1[0])) Then Buy("b"); } IF Lcnt < LossCount and (MarketPosition >= 0 OR (MarketPosition == -1 and MaxEntries < 3)) Then { If (기준선1[0] < 기준선2[0]) and (CrossDown(지수이평[0],기준선2[0]) or CrossDown(지수이평[0],기준선1[0]))Then Sell("s"); } if MarketPosition == 1 Then { ExitLong("btr",AtStop,Highest(H,BarsSinceEntry)-PriceScale*트레일링스탑); if CrossDown(지수이평[0],기준선2[0]) or CrossDown(지수이평[0],기준선1[0]) Then ExitLong("bx"); } if MarketPosition == -1 Then { ExitShort("Str",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*트레일링스탑); if Crossup(지수이평[0],기준선2[0]) or Crossup(지수이평[0],기준선1[0]) Then ExitShort("sx"); } SetStopLoss(PriceScale*손절,PointStop); if 당일청산 < T1 Then { if sDate != sDate[1] Then SetStopEndofday(당일청산); if bDate != bDate[1] Then SetStopEndofday(0); } Else { SetStopEndofday(당일청산); } 즐거운 하루되세요 > blueo 님이 쓴 글입니다. > 제목 : 특정시간 강제 청산 > 안녕하세요 관리자님 우선 늘 감사 드립니다. 문의 드릴것이 해외선물 포지션이 남아있으면 특정시간에 강제 청산 하는 로직을 어떻게 해야되는지 문의 드립니다. 특정 시간은 오전 5시 30분 입니다. Input : 기준선기간1(20),기준선기간2(60),지수이평기간(5); input : LossCount(2),손절(200),트레일링스탑(100); var:기준선1(0),기준선2(0); var : 지수이평(0),Lcnt(0); 기준선1 = (Highest(High, 기준선기간1) + Lowest(Low, 기준선기간1)) / 2 ; 기준선2 = (Highest(High, 기준선기간2) + Lowest(Low, 기준선기간2)) / 2 ; 지수이평 = ema(C,지수이평기간); if Bdate != Bdate[1] Then Lcnt = 0; if TotalTrades > TotalTrades[1] and IsExitName("StopLoss",1) == true Then Lcnt = Lcnt+1; IF Lcnt < LossCount and (MarketPosition <= 0 OR (MarketPosition == 1 and MaxEntries < 3)) Then { If (기준선1[0] >= 기준선2[0]) and (Crossup(지수이평[0],기준선2[0]) or Crossup(지수이평[0],기준선1[0])) Then Buy("b"); } IF Lcnt < LossCount and (MarketPosition >= 0 OR (MarketPosition == -1 and MaxEntries < 3)) Then { If (기준선1[0] < 기준선2[0]) and (CrossDown(지수이평[0],기준선2[0]) or CrossDown(지수이평[0],기준선1[0]))Then Sell("s"); } if MarketPosition == 1 Then { ExitLong("btr",AtStop,Highest(H,BarsSinceEntry)-PriceScale*트레일링스탑); if CrossDown(지수이평[0],기준선2[0]) or CrossDown(지수이평[0],기준선1[0]) Then ExitLong("bx"); } if MarketPosition == -1 Then { ExitShort("Str",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*트레일링스탑); if Crossup(지수이평[0],기준선2[0]) or Crossup(지수이평[0],기준선1[0]) Then ExitShort("sx"); } SetStopLoss(PriceScale*손절,PointStop);