커뮤니티

문의드립니다

프로필 이미지
새벽에
2020-04-17 13:33:46
934
글번호 138036
답변완료
안녕하세요? 아래 두수식이 동일캔들에서 동시에 양전환되었다면 현재봉 시가(-3틱)에 매수 그리고 반대의경우는 매도. 손절은 양또는음전환을 만든봉 즉 직전봉의 고점(매도의경우)과 저점(매수의경우) +1틱 입니다 ,익절틱수는 숫자를 입력할수있게해주셨으면 합니다 .동시만족이아닌 동시시작입니다 도움주셔서 감사합니다 1. Input : Af(0.02), MaxAf(0.2); Var : direction(0), sar1(0), afval(0), ep(0),lowval(0),highval(0),count(0); if count == 0 then //변수들의 초기화 { highval = High; lowval = Low; direction = 0; sar1 = 0; afval = 0; ep = 0; count = 1; } if(ep != 0 ) then // 추세가 진행중 { if(direction == 1) then // 상승추세이면 { ep = highval; sar1 = sar1 + afval*(ep-sar1); // 상승추세에서 SAR값 계산 if(high > highval) then // 신고가 발생 { highval = high; afval = afval+Af; // 상승추세에서 신고가가 발생했으므로 가속변수 증가 if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } if( low < sar1) then // 추세변경(상승->하락) { // 다음 SAR값을 계산할 때 필요한 전SAR값은 하락추세로 전환되기 직전의 direction = -1; // 최고가를 사용하므로 sar1 = ep (ep에는 highval 들어있다) sar1 = ep; // 추세가 변경되었으므로 가속변수 및 EP, highval 초기화 afval = 0; ep = 0; lowval = low; } } else // 하락 추세 { ep = lowval; // 하락추세에서는 EP로 저가 사용 sar1 = sar1 + afval*(ep-sar1); if(low < lowval) then // 신저가 발생 { lowval = low; afval = afval + Af; if( afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } if(high > sar1) then // 추세 변경(하락->상승) { // 다음 SAR 값을 계산할 때 필요한 전SAR값은 상승추세로 전환되기 직전의 direction = 1; // 최저가를 사용하므로 sar1 = ep (ep에는 lowval값이 들어있다) sar1 = ep; // 추세가 변경되었으므로 가속변수 및 EP, highval 초기화 afval = 0; ep = 0; highval = high; } } } else if(sar1 != 0 && ep == 0) then //추세가 변경된후 첫번째 SAR계산 { if(direction == 1) then // 상승 추세 { ep = highval; // 상승추세에서는 신고가를 EP로 사용하므로 afval = Af; // 가속변수의 초기값인 AF(0.02) 적용 sar1 = sar1 + afval*(ep-sar1); if ( high > highval) then // 신고가가 발생 { Highval = high; afval = afval + Af; // 가속변수 증가 if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } } else // 하락추세 { ep = lowval; afval = Af; // 가속변수의 초기값인 AF(0.02) 적용 sar1 = sar1 + afval*(ep-sar1);// 하락추세에서 SAR 계산 if(low < lowval) then // 신저가 발생 { lowval = low; afval = afval + Af; // 가속변수 증가 if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } } } else // SAR 첨 시작 { if direction == 0 then // 추세가 없으므로 { if(c > c[1]) then // 상승추세로 시작 direction = 1; else if( c < c[1]) then // 하락추세로 시작 direction = -1; } else if direction == 1 then // 상승추세(추세변경이 일어날 경우 SAR 계산하기 시작) { if(c < c[1]) then // 추세 변경 (상승->하락) SAR 계산하기 시작 { direction = -1; sar1 = highval; // 하락추세로 전환시 다음 SAR값을 계산할 때 필요한 전 SAR값은 추세직전의 최고가를 사용하므로 } } else if direction == -1 then // 하락추세(추세변경이 일어날 경우 SAR 계산하기 시작) { if( c > c[1]) then // 추세 변경 (하락->상승) SAR 계산하기 시작 { direction = 1; sar1 = lowval; // 상승추세로 전환시 다음 SAR값을 계산할 때 필요한 전 SAR값은 추세직전의 최저가를 사용하므로 } } lowval = min(low, lowval); // 추세 변경시 전 SAR값으로 최고가나 최저가가 필요하므로 highval = max(high,highval); // low, high를 전의 최고가, 최저가와 비교하여 최고가, 최저가를 저장 } //처음 시작할 때 다음 추세 변경이 일어날 때까지 SAR는 invalid #if(sar1 != 0) then # User_Func_Sar = sar1; if sar1 > sar1[1] Then plot1(sar1,"파리볼릭",RED); else plot1(sar1,"파리볼릭",blue); 2. input : g(13),r(25),s(2); var : T(0); var1 = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5,r),s) * 100/ (0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; if T == 1 Then { plot1(var1,"이평",RED); if T != T[1] Then } if T == -1 then { plot1(var1,"이평",BLUE); if T != T[1] Then }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-04-17 15:38:29

안녕하세요 예스스탁입니다. Input : Af(0.02), MaxAf(0.2); input : g(13),r(25),s(2); input : 익절틱수(20); Var : direction(0), sar1(0), afval(0), ep(0),lowval(0),highval(0),count(0),t1(0); var : T2(0); if count == 0 then //변수들의 초기화 { highval = High; lowval = Low; direction = 0; sar1 = 0; afval = 0; ep = 0; count = 1; } if(ep != 0 ) then // 추세가 진행중 { if(direction == 1) then // 상승추세이면 { ep = highval; sar1 = sar1 + afval*(ep-sar1); // 상승추세에서 SAR값 계산 if(high > highval) then // 신고가 발생 { highval = high; afval = afval+Af; // 상승추세에서 신고가가 발생했으므로 가속변수 증가 if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } if( low < sar1) then // 추세변경(상승->하락) { // 다음 SAR값을 계산할 때 필요한 전SAR값은 하락추세로 전환되기 직전의 direction = -1; // 최고가를 사용하므로 sar1 = ep (ep에는 highval 들어있다) sar1 = ep; // 추세가 변경되었으므로 가속변수 및 EP, highval 초기화 afval = 0; ep = 0; lowval = low; } } else // 하락 추세 { ep = lowval; // 하락추세에서는 EP로 저가 사용 sar1 = sar1 + afval*(ep-sar1); if(low < lowval) then // 신저가 발생 { lowval = low; afval = afval + Af; if( afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } if(high > sar1) then // 추세 변경(하락->상승) { // 다음 SAR 값을 계산할 때 필요한 전SAR값은 상승추세로 전환되기 직전의 direction = 1; // 최저가를 사용하므로 sar1 = ep (ep에는 lowval값이 들어있다) sar1 = ep; // 추세가 변경되었으므로 가속변수 및 EP, highval 초기화 afval = 0; ep = 0; highval = high; } } } else if(sar1 != 0 && ep == 0) then //추세가 변경된후 첫번째 SAR계산 { if(direction == 1) then // 상승 추세 { ep = highval; // 상승추세에서는 신고가를 EP로 사용하므로 afval = Af; // 가속변수의 초기값인 AF(0.02) 적용 sar1 = sar1 + afval*(ep-sar1); if ( high > highval) then // 신고가가 발생 { Highval = high; afval = afval + Af; // 가속변수 증가 if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } } else // 하락추세 { ep = lowval; afval = Af; // 가속변수의 초기값인 AF(0.02) 적용 sar1 = sar1 + afval*(ep-sar1);// 하락추세에서 SAR 계산 if(low < lowval) then // 신저가 발생 { lowval = low; afval = afval + Af; // 가속변수 증가 if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } } } else // SAR 첨 시작 { if direction == 0 then // 추세가 없으므로 { if(c > c[1]) then // 상승추세로 시작 direction = 1; else if( c < c[1]) then // 하락추세로 시작 direction = -1; } else if direction == 1 then // 상승추세(추세변경이 일어날 경우 SAR 계산하기 시작) { if(c < c[1]) then // 추세 변경 (상승->하락) SAR 계산하기 시작 { direction = -1; sar1 = highval; // 하락추세로 전환시 다음 SAR값을 계산할 때 필요한 전 SAR값은 추세직전의 최고가를 사용하므로 } } else if direction == -1 then // 하락추세(추세변경이 일어날 경우 SAR 계산하기 시작) { if( c > c[1]) then // 추세 변경 (하락->상승) SAR 계산하기 시작 { direction = 1; sar1 = lowval; // 상승추세로 전환시 다음 SAR값을 계산할 때 필요한 전 SAR값은 추세직전의 최저가를 사용하므로 } } lowval = min(low, lowval); // 추세 변경시 전 SAR값으로 최고가나 최저가가 필요하므로 highval = max(high,highval); // low, high를 전의 최고가, 최저가와 비교하여 최고가, 최저가를 저장 } //처음 시작할 때 다음 추세 변경이 일어날 때까지 SAR는 invalid #if(sar1 != 0) then # User_Func_Sar = sar1; if sar1 > sar1[1] Then t1 = 1; else t1 = -1; var1 = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5,r),s) * 100/ (0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)); if var1 > var1[1] Then T2 = 1; if var1 < var1[1] Then T2 = -1; if t1 == 1 and t1 != t1[1] and t2 == 1 and t2 != t2[1] Then buy("b",atlimit,NextBarOpen-PriceScale*3); if t1 == -1 and t1 != t1[1] and t2 == -1 and t2 != t2[1] Then sell("s",atlimit,NextBarOpen+PriceScale*3); if MarketPosition == 1 Then exitlong("bx",AtStop,l[BarsSinceEntry+1]); if MarketPosition == -1 Then ExitShort("sx",AtStop,h[BarsSinceEntry+1]); SetStopProfittarget(익절틱수*PriceScale,PointStop); 즐거운 하루되세요 > 새벽에 님이 쓴 글입니다. > 제목 : 문의드립니다 > 안녕하세요? 아래 두수식이 동일캔들에서 동시에 양전환되었다면 현재봉 시가(-3틱)에 매수 그리고 반대의경우는 매도. 손절은 양또는음전환을 만든봉 즉 직전봉의 고점(매도의경우)과 저점(매수의경우) +1틱 입니다 ,익절틱수는 숫자를 입력할수있게해주셨으면 합니다 .동시만족이아닌 동시시작입니다 도움주셔서 감사합니다 1. Input : Af(0.02), MaxAf(0.2); Var : direction(0), sar1(0), afval(0), ep(0),lowval(0),highval(0),count(0); if count == 0 then //변수들의 초기화 { highval = High; lowval = Low; direction = 0; sar1 = 0; afval = 0; ep = 0; count = 1; } if(ep != 0 ) then // 추세가 진행중 { if(direction == 1) then // 상승추세이면 { ep = highval; sar1 = sar1 + afval*(ep-sar1); // 상승추세에서 SAR값 계산 if(high > highval) then // 신고가 발생 { highval = high; afval = afval+Af; // 상승추세에서 신고가가 발생했으므로 가속변수 증가 if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } if( low < sar1) then // 추세변경(상승->하락) { // 다음 SAR값을 계산할 때 필요한 전SAR값은 하락추세로 전환되기 직전의 direction = -1; // 최고가를 사용하므로 sar1 = ep (ep에는 highval 들어있다) sar1 = ep; // 추세가 변경되었으므로 가속변수 및 EP, highval 초기화 afval = 0; ep = 0; lowval = low; } } else // 하락 추세 { ep = lowval; // 하락추세에서는 EP로 저가 사용 sar1 = sar1 + afval*(ep-sar1); if(low < lowval) then // 신저가 발생 { lowval = low; afval = afval + Af; if( afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } if(high > sar1) then // 추세 변경(하락->상승) { // 다음 SAR 값을 계산할 때 필요한 전SAR값은 상승추세로 전환되기 직전의 direction = 1; // 최저가를 사용하므로 sar1 = ep (ep에는 lowval값이 들어있다) sar1 = ep; // 추세가 변경되었으므로 가속변수 및 EP, highval 초기화 afval = 0; ep = 0; highval = high; } } } else if(sar1 != 0 && ep == 0) then //추세가 변경된후 첫번째 SAR계산 { if(direction == 1) then // 상승 추세 { ep = highval; // 상승추세에서는 신고가를 EP로 사용하므로 afval = Af; // 가속변수의 초기값인 AF(0.02) 적용 sar1 = sar1 + afval*(ep-sar1); if ( high > highval) then // 신고가가 발생 { Highval = high; afval = afval + Af; // 가속변수 증가 if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } } else // 하락추세 { ep = lowval; afval = Af; // 가속변수의 초기값인 AF(0.02) 적용 sar1 = sar1 + afval*(ep-sar1);// 하락추세에서 SAR 계산 if(low < lowval) then // 신저가 발생 { lowval = low; afval = afval + Af; // 가속변수 증가 if(afval >= MaxAf) then // 가속변수가 최대값과의 비교 (가속변수는 최대 가속값 보다 클 수 없다) afval = MaxAf; } } } else // SAR 첨 시작 { if direction == 0 then // 추세가 없으므로 { if(c > c[1]) then // 상승추세로 시작 direction = 1; else if( c < c[1]) then // 하락추세로 시작 direction = -1; } else if direction == 1 then // 상승추세(추세변경이 일어날 경우 SAR 계산하기 시작) { if(c < c[1]) then // 추세 변경 (상승->하락) SAR 계산하기 시작 { direction = -1; sar1 = highval; // 하락추세로 전환시 다음 SAR값을 계산할 때 필요한 전 SAR값은 추세직전의 최고가를 사용하므로 } } else if direction == -1 then // 하락추세(추세변경이 일어날 경우 SAR 계산하기 시작) { if( c > c[1]) then // 추세 변경 (하락->상승) SAR 계산하기 시작 { direction = 1; sar1 = lowval; // 상승추세로 전환시 다음 SAR값을 계산할 때 필요한 전 SAR값은 추세직전의 최저가를 사용하므로 } } lowval = min(low, lowval); // 추세 변경시 전 SAR값으로 최고가나 최저가가 필요하므로 highval = max(high,highval); // low, high를 전의 최고가, 최저가와 비교하여 최고가, 최저가를 저장 } //처음 시작할 때 다음 추세 변경이 일어날 때까지 SAR는 invalid #if(sar1 != 0) then # User_Func_Sar = sar1; if sar1 > sar1[1] Then plot1(sar1,"파리볼릭",RED); else plot1(sar1,"파리볼릭",blue); 2. input : g(13),r(25),s(2); var : T(0); var1 = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5,r),s) * 100/ (0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; if T == 1 Then { plot1(var1,"이평",RED); if T != T[1] Then } if T == -1 then { plot1(var1,"이평",BLUE); if T != T[1] Then }