커뮤니티

수식문의 드립니다

프로필 이미지
하루삼프로
2024-12-03 04:40:34
570
글번호 185872
답변완료

첨부 이미지

안녕하세요~ 수고 많으십니다. input : atr_length(14),start(0.02),increment(0.02),maximum(0.2),entry_bars(1); var : atrv(0),psar(0),af(0),trend_dir(0),ep(0),trend_bars(0); var : sar_long_to_short(False),sar_short_to_long(False); var : trend_change(False),nz1(0); atrv = atr(atr_length); atrv = IFf(IsNan(atrv) == true, TrueRange , atrv); psar = 0.0; af = 0.0; trend_dir = 0; ep = 0.0; trend_bars = 0; sar_long_to_short = trend_dir[1] == 1 and close <= psar[1]; // PSAR switches from long to short sar_short_to_long = trend_dir[1] == -1 and close >= psar[1]; // PSAR switches from short to long trend_change = Index[1] == 0 or sar_long_to_short or sar_short_to_long; // Calculate trend direction nz1 = IFF(IsNan(trend_dir[1])== False,trend_dir[1],0); trend_dir = iff(Index[1] == 0 and close[1] > open[1] , 1 , iff(Index[1] == 0 and close[1] <= open[1] , -1 , iff(sar_long_to_short , -1 , iff(sar_short_to_long , 1 , nz1)))); trend_bars = iff(sar_long_to_short , -1 , iff(sar_short_to_long , 1 , iff(trend_dir == 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) + 1 , Iff(trend_dir == -1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) - 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0))))); // Calculate Acceleration Factor af = iff(trend_change , start , Iff((trend_dir == 1 and high > ep[1]) or (trend_dir == -1 and low < ep[1]), min(maximum, af[1] + increment) , af[1])); // Calculate extreme point ep = iff(trend_change and trend_dir == 1 , high , IFf( trend_change and trend_dir == -1 , low , iff(trend_dir == 1 ,max(ep[1], high) , min(ep[1], low)))); // Calculate PSAR psar = iff(Index[1] == 0 and close[1] > open[1] , low[1] , Iff(Index[1] == 0 and close[1] <= open[1] , high[1] , Iff(trend_change , ep[1] , Iff(trend_dir == 1 , psar[1] + af * atrv , psar[1] - af * atrv)))); IF trend_bars == entry_bars TheN find(1); 위 검색식에서 1. 그림 1번에 보듯이 두개의 선중 빨간색 선을(초록색 선은 아닙니다) 현재의 0봉이 크로스업 할때 조건 검색식과 화살표 나오는 지표식으로 수정부탁 드리겠습니다. 2. 그림 2번에 보듯이 (1봉전 봉이) 초록색을 이탈후(제1의조건) 선위에서 마감(제2의 조건)되었고 다음봉인 현재의 0봉이 양봉이면 (제3의 조건) OR 1봉전 봉이 초록색과 +- 2% 이내 이면서(근접) 0봉이 초록색 선보다 크고 양봉조건. 조건검색식과 지표 화살표식 부탁드리겠습니다. --------------------------------------------------------------- 그리고 아래 인풋의 주석풀이 꼭 부탁 드리면서 input : 기간atr_length(14),start(0.02),increment(0.02),maximum(0.2),entry_bars(1); 기간14. 기본설정 0.02 외에는 잘모르겠습니다. 가능 하시다면 작성 해주시는 조건검색식의 주석 풀이도 부탁드려봅니다. 수고하십시오. --------------------------------------------------------------- 항상 감사 드리면서 추운날씨 건강 관리 잘하시길 바랍니다.
검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-12-03 11:50:01

안녕하세요 예스스탁입니다. 1-1 올리신 종목검색 수식에서는 지표의 색상변경 내용을 파악하기 어렵습니다. 그림상 종가가 psar값보다 위면 초록, 아래면 빨강으로 그리고 있는 것 같습니다. 그러므로 종가 psar값 상향돌파하는 내용으로 작성해 드립니다. input : atr_length(14),start(0.02),increment(0.02),maximum(0.2),entry_bars(1); var : atrv(0),psar(0),af(0),trend_dir(0),ep(0),trend_bars(0); var : sar_long_to_short(False),sar_short_to_long(False); var : trend_change(False),nz1(0); atrv = atr(atr_length); atrv = IFf(IsNan(atrv) == true, TrueRange , atrv); psar = 0.0; af = 0.0; trend_dir = 0; ep = 0.0; trend_bars = 0; sar_long_to_short = trend_dir[1] == 1 and close <= psar[1]; // PSAR switches from long to short sar_short_to_long = trend_dir[1] == -1 and close >= psar[1]; // PSAR switches from short to long trend_change = Index[1] == 0 or sar_long_to_short or sar_short_to_long; // Calculate trend direction nz1 = IFF(IsNan(trend_dir[1])== False,trend_dir[1],0); trend_dir = iff(Index[1] == 0 and close[1] > open[1] , 1 , iff(Index[1] == 0 and close[1] <= open[1] , -1 , iff(sar_long_to_short , -1 , iff(sar_short_to_long , 1 , nz1)))); trend_bars = iff(sar_long_to_short , -1 , iff(sar_short_to_long , 1 , iff(trend_dir == 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) + 1 , Iff(trend_dir == -1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) - 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0))))); // Calculate Acceleration Factor af = iff(trend_change , start , Iff((trend_dir == 1 and high > ep[1]) or (trend_dir == -1 and low < ep[1]), min(maximum, af[1] + increment) , af[1])); // Calculate extreme point ep = iff(trend_change and trend_dir == 1 , high , IFf( trend_change and trend_dir == -1 , low , iff(trend_dir == 1 ,max(ep[1], high) , min(ep[1], low)))); // Calculate PSAR psar = iff(Index[1] == 0 and close[1] > open[1] , low[1] , Iff(Index[1] == 0 and close[1] <= open[1] , high[1] , Iff(trend_change , ep[1] , Iff(trend_dir == 1 , psar[1] + af * atrv , psar[1] - af * atrv)))); if CrossUp(C,psar) Then Find(1); 1-2 input : atr_length(14),start(0.02),increment(0.02),maximum(0.2),entry_bars(1); var : atrv(0),psar(0),af(0),trend_dir(0),ep(0),trend_bars(0); var : sar_long_to_short(False),sar_short_to_long(False); var : trend_change(False),nz1(0); atrv = atr(atr_length); atrv = IFf(IsNan(atrv) == true, TrueRange , atrv); psar = 0.0; af = 0.0; trend_dir = 0; ep = 0.0; trend_bars = 0; sar_long_to_short = trend_dir[1] == 1 and close <= psar[1]; // PSAR switches from long to short sar_short_to_long = trend_dir[1] == -1 and close >= psar[1]; // PSAR switches from short to long trend_change = Index[1] == 0 or sar_long_to_short or sar_short_to_long; // Calculate trend direction nz1 = IFF(IsNan(trend_dir[1])== False,trend_dir[1],0); trend_dir = iff(Index[1] == 0 and close[1] > open[1] , 1 , iff(Index[1] == 0 and close[1] <= open[1] , -1 , iff(sar_long_to_short , -1 , iff(sar_short_to_long , 1 , nz1)))); trend_bars = iff(sar_long_to_short , -1 , iff(sar_short_to_long , 1 , iff(trend_dir == 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) + 1 , Iff(trend_dir == -1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) - 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0))))); // Calculate Acceleration Factor af = iff(trend_change , start , Iff((trend_dir == 1 and high > ep[1]) or (trend_dir == -1 and low < ep[1]), min(maximum, af[1] + increment) , af[1])); // Calculate extreme point ep = iff(trend_change and trend_dir == 1 , high , IFf( trend_change and trend_dir == -1 , low , iff(trend_dir == 1 ,max(ep[1], high) , min(ep[1], low)))); // Calculate PSAR psar = iff(Index[1] == 0 and close[1] > open[1] , low[1] , Iff(Index[1] == 0 and close[1] <= open[1] , high[1] , Iff(trend_change , ep[1] , Iff(trend_dir == 1 , psar[1] + af * atrv , psar[1] - af * atrv)))); var : tx(0); if CrossUp(C,psar) Then { tx = text_new(sDate,sTime,L,"▲"); Text_SetColor(tx,Red); Text_SetSize(tx,20); Text_SetStyle(tx,2,0); } 2-1 input : atr_length(14),start(0.02),increment(0.02),maximum(0.2),entry_bars(1); var : atrv(0),psar(0),af(0),trend_dir(0),ep(0),trend_bars(0); var : sar_long_to_short(False),sar_short_to_long(False); var : trend_change(False),nz1(0); atrv = atr(atr_length); atrv = IFf(IsNan(atrv) == true, TrueRange , atrv); psar = 0.0; af = 0.0; trend_dir = 0; ep = 0.0; trend_bars = 0; sar_long_to_short = trend_dir[1] == 1 and close <= psar[1]; // PSAR switches from long to short sar_short_to_long = trend_dir[1] == -1 and close >= psar[1]; // PSAR switches from short to long trend_change = Index[1] == 0 or sar_long_to_short or sar_short_to_long; // Calculate trend direction nz1 = IFF(IsNan(trend_dir[1])== False,trend_dir[1],0); trend_dir = iff(Index[1] == 0 and close[1] > open[1] , 1 , iff(Index[1] == 0 and close[1] <= open[1] , -1 , iff(sar_long_to_short , -1 , iff(sar_short_to_long , 1 , nz1)))); trend_bars = iff(sar_long_to_short , -1 , iff(sar_short_to_long , 1 , iff(trend_dir == 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) + 1 , Iff(trend_dir == -1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) - 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0))))); // Calculate Acceleration Factor af = iff(trend_change , start , Iff((trend_dir == 1 and high > ep[1]) or (trend_dir == -1 and low < ep[1]), min(maximum, af[1] + increment) , af[1])); // Calculate extreme point ep = iff(trend_change and trend_dir == 1 , high , IFf( trend_change and trend_dir == -1 , low , iff(trend_dir == 1 ,max(ep[1], high) , min(ep[1], low)))); // Calculate PSAR psar = iff(Index[1] == 0 and close[1] > open[1] , low[1] , Iff(Index[1] == 0 and close[1] <= open[1] , high[1] , Iff(trend_change , ep[1] , Iff(trend_dir == 1 , psar[1] + af * atrv , psar[1] - af * atrv)))); if C > O and C > psar and C[1] > psar[1] and L[1] <= Psar[1]*1.02 Then Find(1); 2-2 input : atr_length(14),start(0.02),increment(0.02),maximum(0.2),entry_bars(1); var : atrv(0),psar(0),af(0),trend_dir(0),ep(0),trend_bars(0); var : sar_long_to_short(False),sar_short_to_long(False); var : trend_change(False),nz1(0); atrv = atr(atr_length); atrv = IFf(IsNan(atrv) == true, TrueRange , atrv); psar = 0.0; af = 0.0; trend_dir = 0; ep = 0.0; trend_bars = 0; sar_long_to_short = trend_dir[1] == 1 and close <= psar[1]; // PSAR switches from long to short sar_short_to_long = trend_dir[1] == -1 and close >= psar[1]; // PSAR switches from short to long trend_change = Index[1] == 0 or sar_long_to_short or sar_short_to_long; // Calculate trend direction nz1 = IFF(IsNan(trend_dir[1])== False,trend_dir[1],0); trend_dir = iff(Index[1] == 0 and close[1] > open[1] , 1 , iff(Index[1] == 0 and close[1] <= open[1] , -1 , iff(sar_long_to_short , -1 , iff(sar_short_to_long , 1 , nz1)))); trend_bars = iff(sar_long_to_short , -1 , iff(sar_short_to_long , 1 , iff(trend_dir == 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) + 1 , Iff(trend_dir == -1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) - 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0))))); // Calculate Acceleration Factor af = iff(trend_change , start , Iff((trend_dir == 1 and high > ep[1]) or (trend_dir == -1 and low < ep[1]), min(maximum, af[1] + increment) , af[1])); // Calculate extreme point ep = iff(trend_change and trend_dir == 1 , high , IFf( trend_change and trend_dir == -1 , low , iff(trend_dir == 1 ,max(ep[1], high) , min(ep[1], low)))); // Calculate PSAR psar = iff(Index[1] == 0 and close[1] > open[1] , low[1] , Iff(Index[1] == 0 and close[1] <= open[1] , high[1] , Iff(trend_change , ep[1] , Iff(trend_dir == 1 , psar[1] + af * atrv , psar[1] - af * atrv)))); var : tx(0); if C > O and C > psar and C[1] > psar[1] and L[1] <= Psar[1]*1.02 Then { tx = text_new(sDate,sTime,L,"▲"); Text_SetColor(tx,Red); Text_SetSize(tx,20); Text_SetStyle(tx,2,0); } 즐거운 하루되세요 > 하루삼프로 님이 쓴 글입니다. > 제목 : 수식문의 드립니다 > 안녕하세요~ 수고 많으십니다. input : atr_length(14),start(0.02),increment(0.02),maximum(0.2),entry_bars(1); var : atrv(0),psar(0),af(0),trend_dir(0),ep(0),trend_bars(0); var : sar_long_to_short(False),sar_short_to_long(False); var : trend_change(False),nz1(0); atrv = atr(atr_length); atrv = IFf(IsNan(atrv) == true, TrueRange , atrv); psar = 0.0; af = 0.0; trend_dir = 0; ep = 0.0; trend_bars = 0; sar_long_to_short = trend_dir[1] == 1 and close <= psar[1]; // PSAR switches from long to short sar_short_to_long = trend_dir[1] == -1 and close >= psar[1]; // PSAR switches from short to long trend_change = Index[1] == 0 or sar_long_to_short or sar_short_to_long; // Calculate trend direction nz1 = IFF(IsNan(trend_dir[1])== False,trend_dir[1],0); trend_dir = iff(Index[1] == 0 and close[1] > open[1] , 1 , iff(Index[1] == 0 and close[1] <= open[1] , -1 , iff(sar_long_to_short , -1 , iff(sar_short_to_long , 1 , nz1)))); trend_bars = iff(sar_long_to_short , -1 , iff(sar_short_to_long , 1 , iff(trend_dir == 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) + 1 , Iff(trend_dir == -1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) - 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0))))); // Calculate Acceleration Factor af = iff(trend_change , start , Iff((trend_dir == 1 and high > ep[1]) or (trend_dir == -1 and low < ep[1]), min(maximum, af[1] + increment) , af[1])); // Calculate extreme point ep = iff(trend_change and trend_dir == 1 , high , IFf( trend_change and trend_dir == -1 , low , iff(trend_dir == 1 ,max(ep[1], high) , min(ep[1], low)))); // Calculate PSAR psar = iff(Index[1] == 0 and close[1] > open[1] , low[1] , Iff(Index[1] == 0 and close[1] <= open[1] , high[1] , Iff(trend_change , ep[1] , Iff(trend_dir == 1 , psar[1] + af * atrv , psar[1] - af * atrv)))); IF trend_bars == entry_bars TheN find(1); 위 검색식에서 1. 그림 1번에 보듯이 두개의 선중 빨간색 선을(초록색 선은 아닙니다) 현재의 0봉이 크로스업 할때 조건 검색식과 화살표 나오는 지표식으로 수정부탁 드리겠습니다. 2. 그림 2번에 보듯이 (1봉전 봉이) 초록색을 이탈후(제1의조건) 선위에서 마감(제2의 조건)되었고 다음봉인 현재의 0봉이 양봉이면 (제3의 조건) OR 1봉전 봉이 초록색과 +- 2% 이내 이면서(근접) 0봉이 초록색 선보다 크고 양봉조건. 조건검색식과 지표 화살표식 부탁드리겠습니다. --------------------------------------------------------------- 그리고 아래 인풋의 주석풀이 꼭 부탁 드리면서 input : 기간atr_length(14),start(0.02),increment(0.02),maximum(0.2),entry_bars(1); 기간14. 기본설정 0.02 외에는 잘모르겠습니다. 가능 하시다면 작성 해주시는 조건검색식의 주석 풀이도 부탁드려봅니다. 수고하십시오. --------------------------------------------------------------- 항상 감사 드리면서 추운날씨 건강 관리 잘하시길 바랍니다.