커뮤니티

함수식 변환요청드립니다.

프로필 이미지
st002340
2018-03-08 05:37:55
263
글번호 117213
답변완료
안녕하세요.. 담당자님 늘 고생하십니다. 키움 파라볼릭 함수식을 예스로 변환해서 여기서 이제 써볼려고 했더니 없다고 해서 시그널메이커로 우회에서 구해봤습니다. 요청1. 변수최적화기능을 활용해보고 있는데, 익절, 손절 틱은 변수로 설정할 수 있어서 활용중입니다. 분봉도 변수로 설정할 수 있도록 코딩 부탁드립니다. input : BBP(5),dv(2), profit(0), loss(0); var : Price(0),BBmd(0),BBup(0),BBdn(0) ; Price = (C+H+L)/3; BBmd = ma(Price,BBP); BBup = BBmd + std(Price,BBP)*dv; BBdn = BBmd - std(Price,BBP)*dv; if crossup(C,bbup) Then { Buy("B"); } # 매도/매수청산 if CrossDown(C,bbdn) Then { Sell("S"); } SetStopProfittarget(Profit,PointStop); SetStopLoss(Loss,PointStop); 요청2. 예스로 키움식 파라볼릭 구현할 수 있도록 변환해 주시기 바랍니다. input : pAF(0.0022), pAFMAX(0.004); Var : vAf(0), vNewAf(0), vMinAf(0.02), vEp(0), vPep(0), vSar(0), vSarp(0), vTrend(1), vResult(0); If BarIndex = 1 Then Begin if C > C[1] Then Begin vEp = H[1]; vPep = H[1]; vTrend = 1; vSar = L[1]; vSarp = L[1]; End Else Begin vEp = L[1]; vPep = L[1]; vTrend = -1; vSar = H[1]; vSarp = H[1]; End; vNewAf = vMinAf; vResult = vSar + (vEp - vSar) * pAF; End Else Begin vSar = vSar[1] + vNewAf * (vEp - vSar[1]); vResult = vSar; vPep = vEp; if vTrend = 1 Then //상승추세 Begin if vSar > L Then Begin vSar = vEp; vResult = vSar; vEp = L; vNewAf = vMinAf; vTrend = -1; End Else if H > vPep Then Begin vEp = H; vNewAf = min(vNewAf + pAF, pAFMAX); End; End Else //하락추세 Begin if vSar < h Then Begin vSar = vEp; vResult = vSar; vEp = H; vPep = vEp; vNewAf = vMinAf; vTrend = 1; End Else if L < vPep Then Begin vEp = L; vNewAf = min(vNewAf + pAF, pAFMAX); End; End; End; plot1(vResult);
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-03-08 13:39:09

안녕하세요 예스스탁입니다. 1 차트 주기는 수식에서 지정불가능합니다. 2 수식 작성 후 지표속성에서 점그래프로 지정하시면 됩니다. input : pAF(0.0022), pAFMAX(0.004); Var : vAf(0), vNewAf(0), vMinAf(0.02), vEp(0), vPep(0), vSar(0), vSarp(0), vTrend(1), vResult(0); If BarIndex == 1 Then Begin if C > C[1] Then Begin vEp = H[1]; vPep = H[1]; vTrend = 1; vSar = L[1]; vSarp = L[1]; End Else Begin vEp = L[1]; vPep = L[1]; vTrend = -1; vSar = H[1]; vSarp = H[1]; End; vNewAf = vMinAf; vResult = vSar + (vEp - vSar) * pAF; End Else Begin vSar = vSar[1] + vNewAf * (vEp - vSar[1]); vResult = vSar; vPep = vEp; if vTrend == 1 Then //상승추세 Begin if vSar > L Then Begin vSar = vEp; vResult = vSar; vEp = L; vNewAf = vMinAf; vTrend = -1; End Else if H > vPep Then Begin vEp = H; vNewAf = min(vNewAf + pAF, pAFMAX); End; End Else //하락추세 Begin if vSar < h Then Begin vSar = vEp; vResult = vSar; vEp = H; vPep = vEp; vNewAf = vMinAf; vTrend = 1; End Else if L < vPep Then Begin vEp = L; vNewAf = min(vNewAf + pAF, pAFMAX); End; End; End; plot1(vResult); 즐거운 하루되세요 > st002340 님이 쓴 글입니다. > 제목 : 함수식 변환요청드립니다. > 안녕하세요.. 담당자님 늘 고생하십니다. 키움 파라볼릭 함수식을 예스로 변환해서 여기서 이제 써볼려고 했더니 없다고 해서 시그널메이커로 우회에서 구해봤습니다. 요청1. 변수최적화기능을 활용해보고 있는데, 익절, 손절 틱은 변수로 설정할 수 있어서 활용중입니다. 분봉도 변수로 설정할 수 있도록 코딩 부탁드립니다. input : BBP(5),dv(2), profit(0), loss(0); var : Price(0),BBmd(0),BBup(0),BBdn(0) ; Price = (C+H+L)/3; BBmd = ma(Price,BBP); BBup = BBmd + std(Price,BBP)*dv; BBdn = BBmd - std(Price,BBP)*dv; if crossup(C,bbup) Then { Buy("B"); } # 매도/매수청산 if CrossDown(C,bbdn) Then { Sell("S"); } SetStopProfittarget(Profit,PointStop); SetStopLoss(Loss,PointStop); 요청2. 예스로 키움식 파라볼릭 구현할 수 있도록 변환해 주시기 바랍니다. input : pAF(0.0022), pAFMAX(0.004); Var : vAf(0), vNewAf(0), vMinAf(0.02), vEp(0), vPep(0), vSar(0), vSarp(0), vTrend(1), vResult(0); If BarIndex = 1 Then Begin if C > C[1] Then Begin vEp = H[1]; vPep = H[1]; vTrend = 1; vSar = L[1]; vSarp = L[1]; End Else Begin vEp = L[1]; vPep = L[1]; vTrend = -1; vSar = H[1]; vSarp = H[1]; End; vNewAf = vMinAf; vResult = vSar + (vEp - vSar) * pAF; End Else Begin vSar = vSar[1] + vNewAf * (vEp - vSar[1]); vResult = vSar; vPep = vEp; if vTrend = 1 Then //상승추세 Begin if vSar > L Then Begin vSar = vEp; vResult = vSar; vEp = L; vNewAf = vMinAf; vTrend = -1; End Else if H > vPep Then Begin vEp = H; vNewAf = min(vNewAf + pAF, pAFMAX); End; End Else //하락추세 Begin if vSar < h Then Begin vSar = vEp; vResult = vSar; vEp = H; vPep = vEp; vNewAf = vMinAf; vTrend = 1; End Else if L < vPep Then Begin vEp = L; vNewAf = min(vNewAf + pAF, pAFMAX); End; End; End; plot1(vResult);