커뮤니티

시뮬레이션

프로필 이미지
함밝중명
2012-08-10 13:34:10
3321
글번호 221386
답변완료

첨부 이미지

안녕하세요? 코덱스 레버리지 인버스 스위칭 시스템을 만들고 있는데 인버스에서 data2(레버리지) 시뮬렝션하면 안됩니다. 원인은 시뮬렝션 차트에서 지표적용해서 보면 plot2가 실행이 안됩니다. 전략실행차트에서는 잘되는데 시뮬렝션 차트에서 될 수 있도록 해 주시면 고맙겠습니다. /* 칼만필터 */ Input : K1(100); Vars : pred(C), smooth(0), velo(0), deltak(0), pred2(C), smooth2(0), velo2(0), deltak2(0); DeltaK = C - Pred; Smooth = Pred + DeltaK * SquareRoot((K1/10000)*2); Velo = Velo + ((K1/10000)*DeltaK); Pred = Smooth + Velo; DeltaK2 = DATA2(C - Pred2); Smooth2 = DATA2(Pred2 + DeltaK2 * SquareRoot((K1/10000)*2)); Velo2 = DATA2(Velo2 + ((K1/10000)*DeltaK2)); Pred2 = DATA2(Smooth2 + Velo2); Plot1(pred); Plot2(pred2);
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-08-13 09:32:34

안녕하세요? 예스스탁입니다. 실시간 차트에서는 data1과 data2의 데이터 길이가 동일해서 문제가 발생되지 않지만, 시뮬레이션 차트에서는 data2의 데이터가 더 짧아서 그 구간 동안 N/A 가 발생됩니다. 그 상태에서 값을 참조하도록 식이 작성되어 있기 때문에 data2가 출력되지 않습니다. data1과 data2의 데이터 시작 시점을 맞추어서 사용하시거나, 아래와 같이 식을 수정해서 적용해 보시기 바랍니다. Input : K1(100); Vars : pred(C), smooth(0), velo(0), deltak(0), pred2(C), smooth2(0), velo2(0), deltak2(0); DeltaK = C - Pred; Smooth = Pred + DeltaK * SquareRoot((K1/10000)*2); Velo = Velo + ((K1/10000)*DeltaK); Pred = Smooth + Velo; if data2(index) > 1 then { DeltaK2 = DATA2(C - Pred2); Smooth2 = DATA2(Pred2 + DeltaK2 * SquareRoot((K1/10000)*2)); Velo2 = DATA2(Velo2 + ((K1/10000)*DeltaK2)); Pred2 = DATA2(Smooth2 + Velo2); } Plot1(pred); Plot2(pred2); 즐거운 날 되세요.. > 함밝중명 님이 쓴 글입니다. > 제목 : 시뮬레이션 > 안녕하세요? 코덱스 레버리지 인버스 스위칭 시스템을 만들고 있는데 인버스에서 data2(레버리지) 시뮬렝션하면 안됩니다. 원인은 시뮬렝션 차트에서 지표적용해서 보면 plot2가 실행이 안됩니다. 전략실행차트에서는 잘되는데 시뮬렝션 차트에서 될 수 있도록 해 주시면 고맙겠습니다. /* 칼만필터 */ Input : K1(100); Vars : pred(C), smooth(0), velo(0), deltak(0), pred2(C), smooth2(0), velo2(0), deltak2(0); DeltaK = C - Pred; Smooth = Pred + DeltaK * SquareRoot((K1/10000)*2); Velo = Velo + ((K1/10000)*DeltaK); Pred = Smooth + Velo; DeltaK2 = DATA2(C - Pred2); Smooth2 = DATA2(Pred2 + DeltaK2 * SquareRoot((K1/10000)*2)); Velo2 = DATA2(Velo2 + ((K1/10000)*DeltaK2)); Pred2 = DATA2(Smooth2 + Velo2); Plot1(pred); Plot2(pred2);