커뮤니티

문의드립니다

프로필 이미지
cjfdk
2026-02-10 19:39:56
111
글번호 230510
답변완료

input : SwingPeriod(20), AtrPeriod(10), ATrMult(30);

var : PH(0), PL(0), lastpp(0), center(0), alPHa(0), source(0), ATrV(0);

var : UpCh(0), DnCh(0), Trend(0), TuP(0), Tdown(0), TrailingSL(0);


# 스윙하이와 스윙로우를 이용하여 중심선 계산

PH = swingHigh(1,H,SwingPeriod,SwingPeriod,SwingPeriod*2+1);

PL = swingLow(1,L,SwingPeriod,SwingPeriod,SwingPeriod*2+1);

if PH <> -1 Then lastpp = PH;

if PL <> -1 Then lastpp = PL;

if PH <> -1 or PL <> -1 Then center = (center*2 + lastpp)/3;


# ATR계산(True Range를 RMA로 평균)

if CurrentBar > 0 Then {

alPHa = 1 / AtrPeriod ;

source = max(H - L, abs(H - C[1]), abs(L - C[1]));

ATrV = alPHa * source + (1 - alPHa) * ATrV[1];

}


# 상하단 채널과 추세에 따른 추세채널

UpCh = center - (ATrMult * ATrV);

DnCh = center + (ATrMult * ATrV);

Tup = IFf(C[1] > TUp[1],max(UpCh, TUp[1]),UpCh );

Tdown = IFf(C[1] < TDown[1],min(DnCh, TDown[1]),DnCh );

if C > TDown[1] Then Trend = 1;

if C < TuP[1] Then Trend = -1;

Trailingsl = IFf(Trend == 1, Tup, Tdown);


if Trend == 1 and Trend[1] == -1 Then

Buy();

if Trend == -1 and Trend[1] == 1 Then

Sell();

수고많으십니다

문의드릴 내용은 위 수식에서

예를 들어 2분을 사용하여 위 시스템을 사용하는데

30분 봉의 신호와 같이 사용하고 싶어 문의 드립니다

30분 봉의 위 신호가 매수 일 때는 2분봉에서 매수 신호만 매도 신호 일 때는 청산만

30분 봉의 위 신호가 매도 일 때는 2분봉에서 매도 신호만 매수 신호 일 때는 청산만

하도록 하는 수식을 부탁드립니다



아니면 30분 봉의 위 신호가 매수면 1점 매도면 -1점

2분 봉의 위 신호가 매수면 1점 매도면 -1점


이렇게 점수를 주어 2점이면 매수 -2점이면 매도 0점이면 청산

이렇게라도 부탁드리겠습니다

감사합니다

시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-02-11 12:40:28

안녕하세요 예스스탁입니다. 문의하신 내용은 참조데이터를 이용하셔야 합니다. 2분차트에 30분 데이터를 추가하신 후에 아래식 적용하시면 됩니다. 차트왼쪽 상단의 종목선택 버튼 중 왼쪽버튼은 기본종목, 오른쪽은 참조데이터를 추가하는 버튼입니다. 기본종목과 같은 종목으로 추가하시고 주기는 30분으로 지정하시면 됩니다. input : SwingPeriod(20), AtrPeriod(10), ATrMult(30); var : PH(0,Data1), PL(0,Data1), lastpp(0,Data1), center(0,Data1); var : alPHa(0,Data1), source(0,Data1), ATrV(0,Data1); var : UpCh(0,Data1), DnCh(0,Data1), Trend(0,Data1); var : TuP(0,Data1), Tdown(0,Data1), TrailingSL(0,Data1); var : PH2(0,data2), PL2(0,data2), lastpp2(0,data2), center2(0,data2); var : alPHa2(0,data2), source2(0,data2), ATrV2(0,data2); var : UpCh2(0,data2), DnCh2(0,data2), Trend2(0,data2); var : TuP2(0,data2), Tdown2(0,data2), Trailingsl2(0,data2); var : S2(0,Data2); # 스윙하이와 스윙로우를 이용하여 중심선 계산 PH = data1(swingHigh(1,H,SwingPeriod,SwingPeriod,SwingPeriod*2+1)); PL = data1(swingLow(1,L,SwingPeriod,SwingPeriod,SwingPeriod*2+1)); if PH <> -1 Then lastpp = PH; if PL <> -1 Then lastpp = PL; if PH <> -1 or PL <> -1 Then center = (center*2 + lastpp)/3; # ATR계산(True Range를 RMA로 평균) if CurrentBar > 0 Then { alPHa = 1 / AtrPeriod ; source = data1(max(H - L, abs(H - C[1]), abs(L - C[1]))); ATrV = alPHa * source + (1 - alPHa) * ATrV[1]; } # 상하단 채널과 추세에 따른 추세채널 UpCh = center - (ATrMult * ATrV); DnCh = center + (ATrMult * ATrV); Tup = data1(IFf(C[1] > TUp[1],max(UpCh, TUp[1]),UpCh )); Tdown = Data1(IFf(C[1] < TDown[1],min(DnCh, TDown[1]),DnCh )); if data1(C) > TDown[1] Then Trend = 1; if data1(C) < TuP[1] Then Trend = -1; Trailingsl = data1(IFf(Trend == 1, Tup, Tdown)); # 스윙하이와 스윙로우를 이용하여 중심선 계산 PH2 = data2(swingHigh(1,H,SwingPeriod,SwingPeriod,SwingPeriod*2+1)); PL2 = data2(swingLow(1,L,SwingPeriod,SwingPeriod,SwingPeriod*2+1)); if PH2 <> -1 Then lastpp2 = PH2; if PL2 <> -1 Then lastpp2 = PL2; if PH2 <> -1 or PL2 <> -1 Then center2 = (center2*2 + lastpp2)/3; # ATR계산(True Range를 RMA로 평균) if CurrentBar > 0 Then { alPHa2 = 1 / AtrPeriod ; source2 = data2(max(H - L, abs(H - C[1]), abs(L - C[1]))); ATrV2 = alPHa2 * source2 + (1 - alPHa2) * ATrV2[1]; } # 상하단 채널과 추세에 따른 추세채널 UpCh2 = center2 - (ATrMult * ATrV2); DnCh2 = center2 + (ATrMult * ATrV2); Tup2 = data2(IFf(C[1] > TUp2[1],max(UpCh2, TUp2[1]),UpCh2)); Tdown2 = data2(IFf(C[1] < TDown2[1],min(DnCh2, TDown2[1]),DnCh2)); if data2(C) > TDown2[1] Then Trend2 = 1; if data2(C) < TuP2[1] Then Trend2 = -1; Trailingsl2 = data2(IFf(Trend2 == 1, Tup2, Tdown2)); if Trend2 == 1 and Trend2[1] == -1 Then S2 = 1; if Trend2 == -1 and Trend2[1] == 1 Then S2 = -1; if Trend == 1 and Trend[1] == -1 Then { if S2 == 1 Then Buy(); Else ExitShort(); } if Trend == -1 and Trend[1] == 1 Then { if S2 == -1 Then Sell(); Else ExitLong(); }
새해 복 많이 받으시고 즐거운 명절 보내시기 바랍니다.