커뮤니티

수고하십니다

프로필 이미지
dkfvkrh7
2018-01-24 11:38:44
227
글번호 116007
답변완료
미결재약정에 파라볼릭신호를 적용하려는데 여러가지 방법으로 해도 안되어 도움 부탁드립니다 Input : Period1(5); Input : af1(0.02), maxAF1(0.2) ; var : Value(0,data1); value = data1(Ma(OpenInterest, period1 )); Var : Value1(0); Value1 = csar(af1,maxAF1 ); if data1(CrossUp(value(c),value1) ) then buy("매수"); if data1(CrossDown(value(c),value1) ) then Sell("매도");
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2018-01-24 14:32:19

안녕하세요 예스스탁입니다. 문의하신 내용이 미결제약정으로 파라볼릭을 계산해서 사용하고자 하시는 부분이면 아래식 이용하시면 됩니다. 미결제약정이 만기일 마지막봉에서 0이되어 파라볼릭계산에 문제갑 발생해서 마지막봉에서는 전봉값을 사용하게 작성했습니다. 1 지표 Input : AF(0.02), AFMAX(0.2); Var : Direction(0), SAR_Value(OI), AF_Value(.02), HighValue(OI), LowValue(OI), EP(0),CSARV(0),OIV(0); OIV = Oi; if OI == 0 Then OIV = Oi[1]; if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = OIV; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = OIV; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; 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 OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if OIV > OIV[1] then Direction = 1; else if OIV < OIV[1] then Direction = -1; } else { if Direction == 1 then { if OIV < OIV[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if OIV > OIV[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(OIV, LowValue); HighValue = max(OIV, HighValue); } } plot1(OIV,"미결제약정"); plot2(CSARv,"미결파라볼릭"); //속성에서 점그래프 2 시스템 Input : AF(0.02), AFMAX(0.2); Var : Direction(0), SAR_Value(OI), AF_Value(.02), HighValue(OI), LowValue(OI), EP(0),CSARV(0),OIV(0); OIV = Oi; if OI == 0 Then OIV = Oi[1]; if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = OIV; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = OIV; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; 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 OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if OIV > OIV[1] then Direction = 1; else if OIV < OIV[1] then Direction = -1; } else { if Direction == 1 then { if OIV < OIV[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if OIV > OIV[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(OIV, LowValue); HighValue = max(OIV, HighValue); } } if crossup(OIV,CSARV) Then buy(); if CrossDown(OIV,CSARV) Then sell(); 즐거운 하루되세요 > dkfvkrh7 님이 쓴 글입니다. > 제목 : 수고하십니다 > 미결재약정에 파라볼릭신호를 적용하려는데 여러가지 방법으로 해도 안되어 도움 부탁드립니다 Input : Period1(5); Input : af1(0.02), maxAF1(0.2) ; var : Value(0,data1); value = data1(Ma(OpenInterest, period1 )); Var : Value1(0); Value1 = csar(af1,maxAF1 ); if data1(CrossUp(value(c),value1) ) then buy("매수"); if data1(CrossDown(value(c),value1) ) then Sell("매도");
프로필 이미지

dkfvkrh7

2018-01-25 08:54:55

한가지신호로 여쭤보고 두가지신호로 만들어 보려고 했는데 수식이 너무 어려워서 불가능할것 같아 다시부탁드립니다 번거롭게 해드려서 죄송합니다 AF1(0.02), AFMAX1(0.2)의 적은 크기 파라볼릭과 AF2(0.01), AFMAX2(0.02)의 큰 크기의 파라볼릭을 조합하여 AF1(0.02), AFMAX1(0.2)의 매수 and AF2(0.01), AFMAX2(0.02)의 매수 = 매수 AF1(0.02), AFMAX1(0.2)의 매도 or AF2(0.01), AFMAX2(0.02)의 매도 = 매수청산 AF1(0.02), AFMAX1(0.2)의 매도 and AF2(0.01), AFMAX2(0.02)의 매도 = 매도 AF1(0.02), AFMAX1(0.2)의 매수 or AF2(0.01), AFMAX2(0.02)의 매수 = 매도청산 이렇게 만들고자 하였습니다 -------------------------------------------------------------------------------- > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수고하십니다 > 안녕하세요 예스스탁입니다. 문의하신 내용이 미결제약정으로 파라볼릭을 계산해서 사용하고자 하시는 부분이면 아래식 이용하시면 됩니다. 미결제약정이 만기일 마지막봉에서 0이되어 파라볼릭계산에 문제갑 발생해서 마지막봉에서는 전봉값을 사용하게 작성했습니다. 1 지표 Input : AF(0.02), AFMAX(0.2); Var : Direction(0), SAR_Value(OI), AF_Value(.02), HighValue(OI), LowValue(OI), EP(0),CSARV(0),OIV(0); OIV = Oi; if OI == 0 Then OIV = Oi[1]; if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = OIV; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = OIV; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; 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 OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if OIV > OIV[1] then Direction = 1; else if OIV < OIV[1] then Direction = -1; } else { if Direction == 1 then { if OIV < OIV[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if OIV > OIV[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(OIV, LowValue); HighValue = max(OIV, HighValue); } } plot1(OIV,"미결제약정"); plot2(CSARv,"미결파라볼릭"); //속성에서 점그래프 2 시스템 Input : AF(0.02), AFMAX(0.2); Var : Direction(0), SAR_Value(OI), AF_Value(.02), HighValue(OI), LowValue(OI), EP(0),CSARV(0),OIV(0); OIV = Oi; if OI == 0 Then OIV = Oi[1]; if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = OIV; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = OIV; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; 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 OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if OIV > OIV[1] then Direction = 1; else if OIV < OIV[1] then Direction = -1; } else { if Direction == 1 then { if OIV < OIV[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if OIV > OIV[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(OIV, LowValue); HighValue = max(OIV, HighValue); } } if crossup(OIV,CSARV) Then buy(); if CrossDown(OIV,CSARV) Then sell(); 즐거운 하루되세요 > dkfvkrh7 님이 쓴 글입니다. > 제목 : 수고하십니다 > 미결재약정에 파라볼릭신호를 적용하려는데 여러가지 방법으로 해도 안되어 도움 부탁드립니다 Input : Period1(5); Input : af1(0.02), maxAF1(0.2) ; var : Value(0,data1); value = data1(Ma(OpenInterest, period1 )); Var : Value1(0); Value1 = csar(af1,maxAF1 ); if data1(CrossUp(value(c),value1) ) then buy("매수"); if data1(CrossDown(value(c),value1) ) then Sell("매도");
프로필 이미지

예스스탁 예스스탁 답변

2018-01-25 10:03:02

안녕하세요 예스스탁입니다. 1 지표 Input : AF1(0.02),AFMAX1(0.2); Input : AF2(0.01),AFMAX2(0.02); var : OIV(0); Var : Direction1(0), SAR_Value1(OI), AF_Value1(.02), HighValue1(OI), LowValue1(OI),EP1(0),CSARV1(0); Var : Direction2(0), SAR_Value2(OI), AF_Value2(.02), HighValue2(OI), LowValue2(OI),EP2(0),CSARV2(0); OIV = Oi; if OI == 0 Then OIV = Oi[1]; if EP1 != 0 Then { if Direction1 == 1 then { EP1 = HighValue1; SAR_Value1 = SAR_Value1 + AF_Value1 * (EP1 - SAR_Value1); if OIV > HighValue1 then { HighValue1 = OIV; AF_Value1 = AF_Value1 + AF1; if AF_Value1 >= AFMAX1 then AF_Value1 = AFMAX1; } if OIV < SAR_Value1 then { Direction1 = -1; SAR_Value1 = EP1; AF_Value1 = 0; EP1 = 0; LowValue1 = OIV; } } else { EP1 = LowValue1; SAR_Value1 = SAR_Value1 + AF_Value1 * (EP1 - SAR_Value1); if OIV < LowValue1 then { LowValue1 = OIV; AF_Value1 = AF_Value1 + Af1; if AF_Value1 >= AFMAX1 then AF_Value1 = AFMAX1; } if OIV > SAR_Value1 then { Direction1 = 1; SAR_Value1 = EP1; AF_Value1 = 0; EP1 = 0; HighValue1 = OIV; } } CSARV1 = SAR_Value1; } else { if SAR_Value1 != 0 && EP1 == 0 then { if Direction1 == 1 then { EP1 = HighValue1; AF_Value1 = AF1; SAR_Value1 = SAR_Value1 + AF_Value1 * (EP1 - SAR_Value1); if OIV > HighValue1 then { HighValue1 = OIV; AF_Value1 = AF_Value1 + AF1; if AF_Value1 >= AFMAX1 then AF_Value1 = AFMAX1; } } else { EP1 = LowValue1; AF_Value1 = Af1; SAR_Value1 = SAR_Value1 + AF_Value1 * (EP1 - SAR_Value1); if OIV < LowValue1 then { LowValue1 = OIV; AF_Value1 = AF_Value1 + AF1; if AF_Value1 >= AFMAX1 then AF_Value1 = AFMAX1; } } CSARV1 = SAR_Value1; } else { if Direction1 == 0 then { if OIV > OIV[1] then Direction1 = 1; else if OIV < OIV[1] then Direction1 = -1; } else { if Direction1 == 1 then { if OIV < OIV[1] then { Direction1 = -1; SAR_Value1 = HighValue1; CSARV1 = SAR_Value1; } } if Direction1 == -1 then { if OIV > OIV[1] then { Direction1 = 1; SAR_Value1 = LowValue1; CSARV1 = SAR_Value1; } } } LowValue1 = min(OIV, LowValue1); HighValue1 = max(OIV, HighValue1); } } if EP2 != 0 Then { if Direction2 == 1 then { EP2 = HighValue2; SAR_Value2 = SAR_Value2 + AF_Value2 * (EP2 - SAR_Value2); if OIV > HighValue2 then { HighValue2 = OIV; AF_Value2 = AF_Value2 + AF2; if AF_Value2 >= AFMAX2 then AF_Value2 = AFMAX2; } if OIV < SAR_Value2 then { Direction2 = -1; SAR_Value2 = EP2; AF_Value2 = 0; EP2 = 0; LowValue2 = OIV; } } else { EP2 = LowValue2; SAR_Value2 = SAR_Value2 + AF_Value2 * (EP2 - SAR_Value2); if OIV < LowValue2 then { LowValue2 = OIV; AF_Value2 = AF_Value2 + AF2; if AF_Value2 >= AFMAX2 then AF_Value2 = AFMAX2; } if OIV > SAR_Value2 then { Direction2 = 1; SAR_Value2 = EP2; AF_Value2 = 0; EP2 = 0; HighValue2 = OIV; } } CSARV2 = SAR_Value2; } else { if SAR_Value2 != 0 && EP2 == 0 then { if Direction2 == 1 then { EP2 = HighValue2; AF_Value2 = AF2; SAR_Value2 = SAR_Value2 + AF_Value2 * (EP2 - SAR_Value2); if OIV > HighValue2 then { HighValue2 = OIV; AF_Value2 = AF_Value2 + AF2; if AF_Value2 >= AFMAX2 then AF_Value2 = AFMAX2; } } else { EP2 = LowValue2; AF_Value2 = AF2; SAR_Value2 = SAR_Value2 + AF_Value2 * (EP2 - SAR_Value2); if OIV < LowValue2 then { LowValue2 = OIV; AF_Value2 = AF_Value2 + AF2; if AF_Value2 >= AFMAX2 then AF_Value2 = AFMAX2; } } CSARV2 = SAR_Value2; } else { if Direction2 == 0 then { if OIV > OIV[1] then Direction2 = 1; else if OIV < OIV[1] then Direction2 = -1; } else { if Direction2 == 1 then { if OIV < OIV[1] then { Direction2 = -1; SAR_Value2 = HighValue2; CSARV2 = SAR_Value2; } } if Direction2 == -1 then { if OIV > OIV[1] then { Direction2 = 1; SAR_Value2 = LowValue2; CSARV2 = SAR_Value2; } } } LowValue2 = min(OIV, LowValue2); HighValue2 = max(OIV, HighValue2); } } plot1(OIV,"미결제약정"); plot2(CSARV1,"미결파라볼릭1"); //속성에서 점그래프 plot3(CSARV2,"미결파라볼릭2"); //속성에서 점그래프 2 시스템 Input : AF1(0.02),AFMAX1(0.2); Input : AF2(0.01),AFMAX2(0.02); var : OIV(0); Var : Direction1(0), SAR_Value1(OI), AF_Value1(.02), HighValue1(OI), LowValue1(OI),EP1(0),CSARV1(0); Var : Direction2(0), SAR_Value2(OI), AF_Value2(.02), HighValue2(OI), LowValue2(OI),EP2(0),CSARV2(0); var : Bcond(false),Scond(false); OIV = Oi; if OI == 0 Then OIV = Oi[1]; if EP1 != 0 Then { if Direction1 == 1 then { EP1 = HighValue1; SAR_Value1 = SAR_Value1 + AF_Value1 * (EP1 - SAR_Value1); if OIV > HighValue1 then { HighValue1 = OIV; AF_Value1 = AF_Value1 + AF1; if AF_Value1 >= AFMAX1 then AF_Value1 = AFMAX1; } if OIV < SAR_Value1 then { Direction1 = -1; SAR_Value1 = EP1; AF_Value1 = 0; EP1 = 0; LowValue1 = OIV; } } else { EP1 = LowValue1; SAR_Value1 = SAR_Value1 + AF_Value1 * (EP1 - SAR_Value1); if OIV < LowValue1 then { LowValue1 = OIV; AF_Value1 = AF_Value1 + Af1; if AF_Value1 >= AFMAX1 then AF_Value1 = AFMAX1; } if OIV > SAR_Value1 then { Direction1 = 1; SAR_Value1 = EP1; AF_Value1 = 0; EP1 = 0; HighValue1 = OIV; } } CSARV1 = SAR_Value1; } else { if SAR_Value1 != 0 && EP1 == 0 then { if Direction1 == 1 then { EP1 = HighValue1; AF_Value1 = AF1; SAR_Value1 = SAR_Value1 + AF_Value1 * (EP1 - SAR_Value1); if OIV > HighValue1 then { HighValue1 = OIV; AF_Value1 = AF_Value1 + AF1; if AF_Value1 >= AFMAX1 then AF_Value1 = AFMAX1; } } else { EP1 = LowValue1; AF_Value1 = Af1; SAR_Value1 = SAR_Value1 + AF_Value1 * (EP1 - SAR_Value1); if OIV < LowValue1 then { LowValue1 = OIV; AF_Value1 = AF_Value1 + AF1; if AF_Value1 >= AFMAX1 then AF_Value1 = AFMAX1; } } CSARV1 = SAR_Value1; } else { if Direction1 == 0 then { if OIV > OIV[1] then Direction1 = 1; else if OIV < OIV[1] then Direction1 = -1; } else { if Direction1 == 1 then { if OIV < OIV[1] then { Direction1 = -1; SAR_Value1 = HighValue1; CSARV1 = SAR_Value1; } } if Direction1 == -1 then { if OIV > OIV[1] then { Direction1 = 1; SAR_Value1 = LowValue1; CSARV1 = SAR_Value1; } } } LowValue1 = min(OIV, LowValue1); HighValue1 = max(OIV, HighValue1); } } if EP2 != 0 Then { if Direction2 == 1 then { EP2 = HighValue2; SAR_Value2 = SAR_Value2 + AF_Value2 * (EP2 - SAR_Value2); if OIV > HighValue2 then { HighValue2 = OIV; AF_Value2 = AF_Value2 + AF2; if AF_Value2 >= AFMAX2 then AF_Value2 = AFMAX2; } if OIV < SAR_Value2 then { Direction2 = -1; SAR_Value2 = EP2; AF_Value2 = 0; EP2 = 0; LowValue2 = OIV; } } else { EP2 = LowValue2; SAR_Value2 = SAR_Value2 + AF_Value2 * (EP2 - SAR_Value2); if OIV < LowValue2 then { LowValue2 = OIV; AF_Value2 = AF_Value2 + AF2; if AF_Value2 >= AFMAX2 then AF_Value2 = AFMAX2; } if OIV > SAR_Value2 then { Direction2 = 1; SAR_Value2 = EP2; AF_Value2 = 0; EP2 = 0; HighValue2 = OIV; } } CSARV2 = SAR_Value2; } else { if SAR_Value2 != 0 && EP2 == 0 then { if Direction2 == 1 then { EP2 = HighValue2; AF_Value2 = AF2; SAR_Value2 = SAR_Value2 + AF_Value2 * (EP2 - SAR_Value2); if OIV > HighValue2 then { HighValue2 = OIV; AF_Value2 = AF_Value2 + AF2; if AF_Value2 >= AFMAX2 then AF_Value2 = AFMAX2; } } else { EP2 = LowValue2; AF_Value2 = AF2; SAR_Value2 = SAR_Value2 + AF_Value2 * (EP2 - SAR_Value2); if OIV < LowValue2 then { LowValue2 = OIV; AF_Value2 = AF_Value2 + AF2; if AF_Value2 >= AFMAX2 then AF_Value2 = AFMAX2; } } CSARV2 = SAR_Value2; } else { if Direction2 == 0 then { if OIV > OIV[1] then Direction2 = 1; else if OIV < OIV[1] then Direction2 = -1; } else { if Direction2 == 1 then { if OIV < OIV[1] then { Direction2 = -1; SAR_Value2 = HighValue2; CSARV2 = SAR_Value2; } } if Direction2 == -1 then { if OIV > OIV[1] then { Direction2 = 1; SAR_Value2 = LowValue2; CSARV2 = SAR_Value2; } } } LowValue2 = min(OIV, LowValue2); HighValue2 = max(OIV, HighValue2); } } Bcond = OIV > CSARV1 and OIV > CSARV1; Scond = OIV < CSARV1 and OIV < CSARV1; if Bcond == true and Bcond[1] == false Then buy(); if MarketPosition == 1 and (OIV < CSARV1 or OIV < CSARV1) Then exitlong(); if Scond == true and Scond[1] == false Then sell(); if MarketPosition == -1 and (OIV > CSARV1 or OIV > CSARV1) Then ExitShort(); 즐거운 하루되세요 > dkfvkrh7 님이 쓴 글입니다. > 제목 : Re : Re : 수고하십니다 > 한가지신호로 여쭤보고 두가지신호로 만들어 보려고 했는데 수식이 너무 어려워서 불가능할것 같아 다시부탁드립니다 번거롭게 해드려서 죄송합니다 AF1(0.02), AFMAX1(0.2)의 적은 크기 파라볼릭과 AF2(0.01), AFMAX2(0.02)의 큰 크기의 파라볼릭을 조합하여 AF1(0.02), AFMAX1(0.2)의 매수 and AF2(0.01), AFMAX2(0.02)의 매수 = 매수 AF1(0.02), AFMAX1(0.2)의 매도 or AF2(0.01), AFMAX2(0.02)의 매도 = 매수청산 AF1(0.02), AFMAX1(0.2)의 매도 and AF2(0.01), AFMAX2(0.02)의 매도 = 매도 AF1(0.02), AFMAX1(0.2)의 매수 or AF2(0.01), AFMAX2(0.02)의 매수 = 매도청산 이렇게 만들고자 하였습니다 -------------------------------------------------------------------------------- > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수고하십니다 > 안녕하세요 예스스탁입니다. 문의하신 내용이 미결제약정으로 파라볼릭을 계산해서 사용하고자 하시는 부분이면 아래식 이용하시면 됩니다. 미결제약정이 만기일 마지막봉에서 0이되어 파라볼릭계산에 문제갑 발생해서 마지막봉에서는 전봉값을 사용하게 작성했습니다. 1 지표 Input : AF(0.02), AFMAX(0.2); Var : Direction(0), SAR_Value(OI), AF_Value(.02), HighValue(OI), LowValue(OI), EP(0),CSARV(0),OIV(0); OIV = Oi; if OI == 0 Then OIV = Oi[1]; if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = OIV; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = OIV; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; 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 OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if OIV > OIV[1] then Direction = 1; else if OIV < OIV[1] then Direction = -1; } else { if Direction == 1 then { if OIV < OIV[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if OIV > OIV[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(OIV, LowValue); HighValue = max(OIV, HighValue); } } plot1(OIV,"미결제약정"); plot2(CSARv,"미결파라볼릭"); //속성에서 점그래프 2 시스템 Input : AF(0.02), AFMAX(0.2); Var : Direction(0), SAR_Value(OI), AF_Value(.02), HighValue(OI), LowValue(OI), EP(0),CSARV(0),OIV(0); OIV = Oi; if OI == 0 Then OIV = Oi[1]; if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = OIV; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if OIV > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = OIV; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if OIV > HighValue then { HighValue = OIV; 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 OIV < LowValue then { LowValue = OIV; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if OIV > OIV[1] then Direction = 1; else if OIV < OIV[1] then Direction = -1; } else { if Direction == 1 then { if OIV < OIV[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if OIV > OIV[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(OIV, LowValue); HighValue = max(OIV, HighValue); } } if crossup(OIV,CSARV) Then buy(); if CrossDown(OIV,CSARV) Then sell(); 즐거운 하루되세요 > dkfvkrh7 님이 쓴 글입니다. > 제목 : 수고하십니다 > 미결재약정에 파라볼릭신호를 적용하려는데 여러가지 방법으로 해도 안되어 도움 부탁드립니다 Input : Period1(5); Input : af1(0.02), maxAF1(0.2) ; var : Value(0,data1); value = data1(Ma(OpenInterest, period1 )); Var : Value1(0); Value1 = csar(af1,maxAF1 ); if data1(CrossUp(value(c),value1) ) then buy("매수"); if data1(CrossDown(value(c),value1) ) then Sell("매도");