예스스탁
예스스탁 답변
2020-09-09 15:43:05
안녕하세요
예스스탁입니다.
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);
즐거운 하루되세요
> blueo 님이 쓴 글입니다.
> 제목 : 청산, 트레일링 스탑, 손절
> 안녕하세요 관리자님
우선 이전 답변에 대하여 감사 드립니다.
아래에 Buy나 Sell 다음에 아래와 같은 조건으로 시스템을 작성하고 싶은데
어떻게 해야되는지 문의 드립니다.
미리 감사 드립니다.
Buy 청산은 (CrossDown(지수이평[0],기준선2[0]) or CrossDown(지수이평[0],기준선1[0])
Sell 청산은 (Crossup(지수이평[0],기준선2[0]) or Crossup(지수이평[0],기준선1[0])
트레일링 스탑은 100틱
손절은 200틱 (손절 2번 발생시 당일 거래 멈춤)
Input:기준선기간1(20),기준선기간2(60);
var:기준선1(0),기준선2(0);
기준선1 = (Highest(High, 기준선기간1) + Lowest(Low, 기준선기간1)) / 2 ;
기준선2 = (Highest(High, 기준선기간2) + Lowest(Low, 기준선기간2)) / 2 ;
## 지수 이평 ##
Input : 지수이평기간(5);
var : 지수이평(0);
지수이평 = ema(C,지수이평기간);
IF 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 ();
}
IF 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 ();
}