커뮤니티

수정 부탁드립니다.

프로필 이미지
사노소이
2023-12-18 14:18:28
1116
글번호 174922
답변완료
일전에 만들어 주신 시스템식을 아래와 같이 3가지로 만들고 싶은데 가능할까요? 1. 매수신호에 매수'진입'하고, 매도신호에는 매수'청산' 만 되도록 (청산과 동시 매도진입X), 2. 매도신호에 매도'진입'하고, 매수신호에 매도'청산' 만 되도록 (청산과 동시 매수진입X). 3. ema 100 위 매수신호에 매수'진입'하고, 매도신호에는 매수'청산' 만 되도록 (청산과 동시 매도진입X), ema 100 아래 매도신호에 매도'진입'하고, 매수신호에 매도'청산' 만 되도록 (청산과 동시 매수진입X). 항상 감사드립니다~!! input : keyvalue(5); input : atrperiod(10); var : src(0),xatr(0),nloss(0),xATRTrailingStop(0),pos(0),xcolor(0); src = close; xATR = atr(atrperiod); nLoss = keyvalue * xATR; xATRTrailingStop = 0.0; xATRTrailingStop = iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), max(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss), iff(src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), min(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src + nLoss), iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss, src + nLoss))); pos = 0; pos = iff(src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), 1, iff(src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), -1, iff(IsNan(pos[1])==true, 0,pos[1]))); xcolor = iff(pos == -1 , red , iff(pos == 1 , green ,blue)); Condition1 = CrossUp(src,xATRTrailingStop); Condition2 = CrossDown(src,xATRTrailingStop); if Condition1 == true Then Buy("Buy"); if Condition2 == true Then Sell("Sell");
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-12-18 14:34:30

안녕하세요 예스스탁입니다. 1 input : keyvalue(5); input : atrperiod(10); var : src(0),xatr(0),nloss(0),xATRTrailingStop(0),pos(0),xcolor(0); src = close; xATR = atr(atrperiod); nLoss = keyvalue * xATR; xATRTrailingStop = 0.0; xATRTrailingStop = iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), max(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss), iff(src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), min(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src + nLoss), iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss, src + nLoss))); pos = 0; pos = iff(src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), 1, iff(src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), -1, iff(IsNan(pos[1])==true, 0,pos[1]))); xcolor = iff(pos == -1 , red , iff(pos == 1 , green ,blue)); Condition1 = CrossUp(src,xATRTrailingStop); Condition2 = CrossDown(src,xATRTrailingStop); if Condition1 == true Then Buy("Buy"); if Condition2 == true Then ExitLong("BX"); 2 input : keyvalue(5); input : atrperiod(10); var : src(0),xatr(0),nloss(0),xATRTrailingStop(0),pos(0),xcolor(0); src = close; xATR = atr(atrperiod); nLoss = keyvalue * xATR; xATRTrailingStop = 0.0; xATRTrailingStop = iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), max(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss), iff(src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), min(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src + nLoss), iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss, src + nLoss))); pos = 0; pos = iff(src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), 1, iff(src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), -1, iff(IsNan(pos[1])==true, 0,pos[1]))); xcolor = iff(pos == -1 , red , iff(pos == 1 , green ,blue)); Condition1 = CrossUp(src,xATRTrailingStop); Condition2 = CrossDown(src,xATRTrailingStop); if Condition1 == true Then ExitShort("SX"); if Condition2 == true Then Sell("Sell"); 3 input : keyvalue(5),P(100); input : atrperiod(10); var : src(0),xatr(0),nloss(0),xATRTrailingStop(0),pos(0),xcolor(0); var : Emav(0); src = close; xATR = atr(atrperiod); nLoss = keyvalue * xATR; xATRTrailingStop = 0.0; xATRTrailingStop = iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), max(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss), iff(src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), min(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src + nLoss), iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss, src + nLoss))); pos = 0; pos = iff(src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), 1, iff(src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), -1, iff(IsNan(pos[1])==true, 0,pos[1]))); xcolor = iff(pos == -1 , red , iff(pos == 1 , green ,blue)); Condition1 = CrossUp(src,xATRTrailingStop); Condition2 = CrossDown(src,xATRTrailingStop); Emav = Ema(C,P); if Condition1 == true Then { if C > Emav Then Buy(); Else ExitShort("SX"); } if Condition2 == true Then { if C < Emav Then Sell("Sell"); Else ExitLong("BX"); } 즐거운 하루되세요 > 사노소이 님이 쓴 글입니다. > 제목 : 수정 부탁드립니다. > 일전에 만들어 주신 시스템식을 아래와 같이 3가지로 만들고 싶은데 가능할까요? 1. 매수신호에 매수'진입'하고, 매도신호에는 매수'청산' 만 되도록 (청산과 동시 매도진입X), 2. 매도신호에 매도'진입'하고, 매수신호에 매도'청산' 만 되도록 (청산과 동시 매수진입X). 3. ema 100 위 매수신호에 매수'진입'하고, 매도신호에는 매수'청산' 만 되도록 (청산과 동시 매도진입X), ema 100 아래 매도신호에 매도'진입'하고, 매수신호에 매도'청산' 만 되도록 (청산과 동시 매수진입X). 항상 감사드립니다~!! input : keyvalue(5); input : atrperiod(10); var : src(0),xatr(0),nloss(0),xATRTrailingStop(0),pos(0),xcolor(0); src = close; xATR = atr(atrperiod); nLoss = keyvalue * xATR; xATRTrailingStop = 0.0; xATRTrailingStop = iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), max(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss), iff(src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), min(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src + nLoss), iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss, src + nLoss))); pos = 0; pos = iff(src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), 1, iff(src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), -1, iff(IsNan(pos[1])==true, 0,pos[1]))); xcolor = iff(pos == -1 , red , iff(pos == 1 , green ,blue)); Condition1 = CrossUp(src,xATRTrailingStop); Condition2 = CrossDown(src,xATRTrailingStop); if Condition1 == true Then Buy("Buy"); if Condition2 == true Then Sell("Sell");