커뮤니티

수삭문의

프로필 이미지
제이입니다
2012-07-08 15:24:03
259
글번호 52679
답변완료
Profit이라는 1000개의 배열에서 일정 조건을 만족하는 profit만 남기는 방법이 있을까요?? profit[1000](1)에서 각각 값이 다 할당되어있는데 이중 For로n은 1부터 1000까지 해놓고 profit[n]에서 몇 보다 큰 n값을 찾는다거나 아니면 만족하는 n값만을 배열에 남겨두고 나머지 값은 버리는 방식으로요... 제가 원하는건 배열에서 일정조건 불만족시 버리고 만족하는 것은 선택하는 방법입니다. (이때 원하는 n만 골라내는 식이면 좋겠네요) 그리고 이 만족하는 n값 중 profit[n]이 큰 값부터 10개를 정하고 각각 1계약식 진입하는 방법이 있을까요 너무복잡한 질문드리는거 같네요.. 항상수고하십니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-07-09 13:28:50

안녕하세요 예스스탁입니다. var : cnt(0),count1(0),count2(0),tempmax(0),tempIndex(0); Array : Profit[1001](0),NthValue[11](0); #Profit이 특정조건이 만족하지 않은 것을 -1로 처리 #아래에서는 Profit이 0보다 작은 값을 -1로 처리 for cnt = 1 to 1000{ if Profit[cnt] < 0 Then#조건 Profit[cnt] = -1; } #Profit중 가장 큰 것 10개 #Nthvalue[1]~[10] For count1 = 1 to 10 { tempmax = -99999999; For count2 = 0 to 50 { if Profit[count2] > tempmax then { tempmax = Profit[count2]; tempIndex = count2; } } NthValue[count1] = tempmax; Profit[tempIndex] = -1; } plot1(NthValue[1]); plot2(NthValue[2]); plot3(NthValue[3]); plot4(NthValue[4]); plot5(NthValue[5]); plot6(NthValue[6]); plot7(NthValue[7]); plot8(NthValue[8]); plot9(NthValue[9]); plot10(NthValue[10]); 위식 참고하시기 바랍니다. 조건이 맞지 않는 Profit값을 -1과 같이 낮은 값으로 교체하고 그중 가장 큰것 10개를 계산하는 식입니다. 큰 값부터 10개를 정하고 각각 1계약씩 진입은 어떤 내용인지 몰라 정확히 답변드리기 여렵습니다. Profit이 가격이면 주문함수이용해 처리하시면 되며 종목이면 가능하지 않습니다. 즐거운 하루되세요 > 제이입니다 님이 쓴 글입니다. > 제목 : 수삭문의 > Profit이라는 1000개의 배열에서 일정 조건을 만족하는 profit만 남기는 방법이 있을까요?? profit[1000](1)에서 각각 값이 다 할당되어있는데 이중 For로n은 1부터 1000까지 해놓고 profit[n]에서 몇 보다 큰 n값을 찾는다거나 아니면 만족하는 n값만을 배열에 남겨두고 나머지 값은 버리는 방식으로요... 제가 원하는건 배열에서 일정조건 불만족시 버리고 만족하는 것은 선택하는 방법입니다. (이때 원하는 n만 골라내는 식이면 좋겠네요) 그리고 이 만족하는 n값 중 profit[n]이 큰 값부터 10개를 정하고 각각 1계약식 진입하는 방법이 있을까요 너무복잡한 질문드리는거 같네요.. 항상수고하십니다.