커뮤니티

수식 문의

프로필 이미지
흑수돌
2011-12-16 02:49:03
492
글번호 45826
답변완료
아래와 같이 시스템 수식을 얻었으나 차트에 뿌려지지가 않네요. 어찌된 영문인지도 모르겠고. 오류를 좀 잡아 주셨으면 감사하겠습니다. 메일로 부탁드립니다. win8181@naver.com 감사합니다. variables : v_i(0),state(0),v_close(0),rate(0.95),num(1),next_state(0); arrays : av_price[20](0); if(index >2 ) then { state = next_state[1]; next_state = next_state[1]; } print("state2.txt","index = %6.0f state %4.0f close:%2.2f",index,state,close); if(time<90130) then { state = 0; next_state = 0; } if(state==0) then { /*initialization */ if( time > 90130 && date == 20070718 ) then { /* Transition to trading */ next_state = 1; print("state.txt","state %4.0f",state); av_price[0] = Close; For v_i=1 to 19 { av_price[v_i] = av_price[v_i-1]*rate; } For v_i=0 to 19 { /*소수점 두 째 짜리까지로 라운드 */ av_price[v_i] = round(av_price[v_i],2); print("price222.txt","price:%2.2f %.0f %",av_price[v_i],state); } } } else if(state == 1) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state = state+1; print("state.txt","state %4.0f",next_state); buy("b1",Onclose,DEF,num); } if(close>=av_price[state-1]) then { next_state = 1001; print("state.txt","state %4.0f",next_state); } } else if(state == 2) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state = state+1; print("state.txt","state %4.0f",next_state); buy("b2",Onclose,DEF,1); } if(close>=av_price[state-2]) then { next_state = state-1; print("state.txt","state %4.0f",next_state); Exitlong("s2",Onclose,DEF,"b1",num,1); } } else if(state ==3) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state = state+1; print("state.txt","state %4.0f",next_state); buy("b3",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state = state-1; print("state.txt","state %4.0f",next_state); Exitlong("s3",Onclose,DEF,"b2",num,1); } } else if(state ==4) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state = state+1; print("state.txt","state %4.0f",next_state); buy("b4",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state = state-1; print("state.txt","state %4.0f",next_state); Exitlong("s4",Onclose,DEF,"b3",num,1); } } else if(state ==5) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b5",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s5",Onclose,DEF,"b4",num,1); } }else if(state ==6) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b6",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s6",Onclose,DEF,"b5",num,1); } }else if(state ==7) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b7",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s7",Onclose,DEF,"b6",num,1); } }else if(state ==8) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b8",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s8",Onclose,DEF,"b7",num,1); } }else if(state ==9) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b9",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s9",Onclose,DEF,"b8",num,1); } }else if(state ==10) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b10",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s10",Onclose,DEF,"b9",num,1); } } else if(state ==11) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b11",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s11",Onclose,DEF,"b10",num,1); } } else if(state ==12) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b12",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s12",Onclose,DEF,"b11",num,1); } } else if(state ==13) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b13",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s13",Onclose,DEF,"b12",num,1); } } else if(state ==14) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b14",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s14",Onclose,DEF,"b13",num,1); } } else if(state ==15) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b15",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s15",Onclose,DEF,"b14",num,1); } } else if(state ==16) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b16",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s16",Onclose,DEF,"b15",num,1); } } else if(state ==17) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b17",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s17",Onclose,DEF,"b16",num,1); } } else if(state ==18) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b18",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s18",Onclose,DEF,"b17",num,1); } } else if(state ==19) then { /* if(close<=av_price[state]) then { next_state = state+1; print("state.txt","state %4.0f",next_state); buy(1); }*/ if(close>=av_price[state-2]) then { next_state = state-1; print("state.txt","state %4.0f",next_state); Exitlong("s19",Onclose,DEF,"b18",num,1); } } else if(state == 1001) then { if(close<=av_price[0]) then { /*Transit to next state */ next_state = 1; print("state.txt","state %4.0f",next_state); } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-12-16 14:01:45

안녕하세요 예스스탁입니다. 해당식 아래와 같이 특정일의 특정시간이후로 조건식이 지정되어 있습니다. if(state==0) then { /*initialization */ if( time > 90130 && date == 20070718 ) then { /* Transition to trading */ 차트에 해당 일이 없으면 발생하지 않습니다. 첨부된 그림은 5분봉으로 20060526~20111215 까지 데이터 조회후 시뮬레이션한 결과입니다. 정상적으로 신호가 발생하고 있습니다. 즐거운 하루되세요 > 흑수돌 님이 쓴 글입니다. > 제목 : 수식 문의 > 아래와 같이 시스템 수식을 얻었으나 차트에 뿌려지지가 않네요. 어찌된 영문인지도 모르겠고. 오류를 좀 잡아 주셨으면 감사하겠습니다. 메일로 부탁드립니다. win8181@naver.com 감사합니다. variables : v_i(0),state(0),v_close(0),rate(0.95),num(1),next_state(0); arrays : av_price[20](0); if(index >2 ) then { state = next_state[1]; next_state = next_state[1]; } print("state2.txt","index = %6.0f state %4.0f close:%2.2f",index,state,close); if(time<90130) then { state = 0; next_state = 0; } if(state==0) then { /*initialization */ if( time > 90130 && date == 20070718 ) then { /* Transition to trading */ next_state = 1; print("state.txt","state %4.0f",state); av_price[0] = Close; For v_i=1 to 19 { av_price[v_i] = av_price[v_i-1]*rate; } For v_i=0 to 19 { /*소수점 두 째 짜리까지로 라운드 */ av_price[v_i] = round(av_price[v_i],2); print("price222.txt","price:%2.2f %.0f %",av_price[v_i],state); } } } else if(state == 1) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state = state+1; print("state.txt","state %4.0f",next_state); buy("b1",Onclose,DEF,num); } if(close>=av_price[state-1]) then { next_state = 1001; print("state.txt","state %4.0f",next_state); } } else if(state == 2) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state = state+1; print("state.txt","state %4.0f",next_state); buy("b2",Onclose,DEF,1); } if(close>=av_price[state-2]) then { next_state = state-1; print("state.txt","state %4.0f",next_state); Exitlong("s2",Onclose,DEF,"b1",num,1); } } else if(state ==3) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state = state+1; print("state.txt","state %4.0f",next_state); buy("b3",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state = state-1; print("state.txt","state %4.0f",next_state); Exitlong("s3",Onclose,DEF,"b2",num,1); } } else if(state ==4) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state = state+1; print("state.txt","state %4.0f",next_state); buy("b4",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state = state-1; print("state.txt","state %4.0f",next_state); Exitlong("s4",Onclose,DEF,"b3",num,1); } } else if(state ==5) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b5",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s5",Onclose,DEF,"b4",num,1); } }else if(state ==6) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b6",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s6",Onclose,DEF,"b5",num,1); } }else if(state ==7) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b7",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s7",Onclose,DEF,"b6",num,1); } }else if(state ==8) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b8",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s8",Onclose,DEF,"b7",num,1); } }else if(state ==9) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b9",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s9",Onclose,DEF,"b8",num,1); } }else if(state ==10) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b10",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s10",Onclose,DEF,"b9",num,1); } } else if(state ==11) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b11",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s11",Onclose,DEF,"b10",num,1); } } else if(state ==12) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b12",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s12",Onclose,DEF,"b11",num,1); } } else if(state ==13) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b13",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s13",Onclose,DEF,"b12",num,1); } } else if(state ==14) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b14",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s14",Onclose,DEF,"b13",num,1); } } else if(state ==15) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b15",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s15",Onclose,DEF,"b14",num,1); } } else if(state ==16) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b16",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s16",Onclose,DEF,"b15",num,1); } } else if(state ==17) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b17",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s17",Onclose,DEF,"b16",num,1); } } else if(state ==18) then { if(close<=av_price[state]) then { /*Transit to next state */ next_state =state+1; print("state.txt","state %4.0f",next_state); buy("b18",Onclose,DEF,num); } if(close>=av_price[state-2]) then { next_state =state-1; print("state.txt","state %4.0f",next_state); Exitlong("s18",Onclose,DEF,"b17",num,1); } } else if(state ==19) then { /* if(close<=av_price[state]) then { next_state = state+1; print("state.txt","state %4.0f",next_state); buy(1); }*/ if(close>=av_price[state-2]) then { next_state = state-1; print("state.txt","state %4.0f",next_state); Exitlong("s19",Onclose,DEF,"b18",num,1); } } else if(state == 1001) then { if(close<=av_price[0]) then { /*Transit to next state */ next_state = 1; print("state.txt","state %4.0f",next_state); } }