Search
📝

파라볼릭 추세 변경시 즉시 진입

Input : AF(0.02), AFMAX(0.2); Var : Direction(0), SAR_Value(Close), AF_Value(.02), HighValue(High), LowValue(Low), EP(0), Sarv(0), var1(0); // EP != 0: 이미 추세가 확정되어 EP/AF로 SAR을 갱신하고 전환 체크 if EP != 0 Then { // 상승 추세 처리 if Direction == 1 then { // EP는 최고가, SAR 갱신 EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); // 새로운 최고가 발견 시 EP 및 AF 증가 if High > HighValue then { HighValue = High; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } // SAR 아래로 하락하면 하락 전환 if Low < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = Low; } } else { // 하락 추세 처리 (대칭) EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Low < LowValue then { LowValue = Low; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if High > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = High; } } Sarv = SAR_Value; } else { // EP == 0: EP가 초기화된 상태 if SAR_Value != 0 && EP == 0 then { // SAR은 있으나 EP가 없는 경우, AF 초기화 후 SAR 계산 if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if High > HighValue then { HighValue = High; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } else { EP = LowValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Low < LowValue then { LowValue = Low; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } Sarv = SAR_Value; } else { // 초기 상태: Direction이 0이면 이전봉과 비교하여 방향 설정 if Direction == 0 then { if Close > Close[1] then Direction = 1; else if Close < Close[1] then Direction = -1; } else { // 방향 존재 시 종가 변화로 추세 전환 체크 if Direction == 1 then { if Close < Close[1] then { Direction = -1; SAR_Value = HighValue; Sarv = SAR_Value; } } if Direction == -1 then { if Close > Close[1] then { Direction = 1; SAR_Value = LowValue; Sarv = SAR_Value; } } } // 고저값 갱신 LowValue = min(Low, LowValue); HighValue = max(High, HighValue); } } // SAR 값이 유효하면 다음봉용 파라볼릭을 계산하고 스탑(AtStop) 주문 설정 if Sarv > 0 Then { // 다음봉 SAR 예측값 //극단값과 파라볼릭값의 차이의 가속도를 곱해 현재봉 파라볼릭값에 더해서 산정 var1 = Sarv + (AF_Value) * (EP - SAR_Value); if Direction == -1 Then Buy("b",AtStop,var1); if Direction == 1 Then Sell("s",AtStop,var1); }
JavaScript
복사
[설명]
기본제공되는 파라볼릭 진입식은 봉완성시에 진입을 합니다. 위 내용은 파라볼릭 추세 변환 즉시 진입하게 작성된 식입니다. 현재 가속값 등을 알아야 하므로 파라볼릭을 풀어서 작성해서 이용해야 합니다.