커뮤니티

부탁드립니다

프로필 이미지
묘선낭자
2015-04-08 18:11:38
193
글번호 84873
답변완료
1. var1의 절대값은 어떻게 표현하나요? 2. 하루 거레횟수를 1회로 제한하고 3시15분청산으로 하자면 어떻게 표현해야 하나요? If 거래횟수==0 and 매수조건 Then Buy(); If 거래횟수==0 and 매도조건 Then Sell(); Setstopendofday(151500); 3.아래식은 손실횟수가 N과 그밖의 것 둘로 구분되어있는데요, 이것을 3가지로 구분하면 어떻게 표시하나요? If count<N Then vol=1; If count==N Then vol=3; If count>N Then vol=5; 위와같이 표시해봐도 최고 3계약밖에 진입이 안 되는군요. (count는 연속손실횟수입니다) 어떻게 고쳐야 하는지 부탁드립니다. input : N(3); var : vol(0),cnt(0),count(0); count = 0; if MarketPosition != 0 Then{ for cnt = 0 to N-1{ if PositionProfit(cnt) < 0 Then count = count+1; } } Else{ for cnt = 1 to N{ if PositionProfit(cnt) < 0 Then count = count+1; } } if count == N Then Vol = 4; Else Vol = 1; if 매수진입조건 Then buy("b",OnClose,def,vol); if 매도진입조건 Then sell("s",OnClose,def,vol); 부탁드립니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-04-08 19:00:07

안녕하세요 예스스탁입니다. 1 절대값 리턴 함수는 abs입니다. abs(var1); 2 var : 거래횟수(0),cnt(0); 거래횟수 = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then 거래횟수 = 거래횟수+1; } If 거래횟수==0 and 매수조건 Then Buy(); If 거래횟수==0 and 매도조건 Then Sell(); Setstopendofday(151500); 3. for cnt = 0 to N-1{ 현재 손실횟수를 구하는 계산식이 최근 3개의 거래만 보게 되어 있습니다. 그러므로 N개 이상은 나오지 않습니다. N보다 1개더 많은 수로 지정하시면 됩니다. input : N(3); var : vol(0),cnt(0),count(0); count = 0; if MarketPosition != 0 Then{ for cnt = 0 to N{ if PositionProfit(cnt) < 0 Then count = count+1; } } Else{ for cnt = 1 to N+1{ if PositionProfit(cnt) < 0 Then count = count+1; } } If count<N Then vol=1; If count==N Then vol=3; If count>N Then vol=5; if 매수진입조건 Then buy("b",OnClose,def,vol); if 매도진입조건 Then sell("s",OnClose,def,vol); 즐거운 하루되세요 > 묘선낭자 님이 쓴 글입니다. > 제목 : 부탁드립니다 > 1. var1의 절대값은 어떻게 표현하나요? 2. 하루 거레횟수를 1회로 제한하고 3시15분청산으로 하자면 어떻게 표현해야 하나요? If 거래횟수==0 and 매수조건 Then Buy(); If 거래횟수==0 and 매도조건 Then Sell(); Setstopendofday(151500); 3.아래식은 손실횟수가 N과 그밖의 것 둘로 구분되어있는데요, 이것을 3가지로 구분하면 어떻게 표시하나요? If count<N Then vol=1; If count==N Then vol=3; If count>N Then vol=5; 위와같이 표시해봐도 최고 3계약밖에 진입이 안 되는군요. (count는 연속손실횟수입니다) 어떻게 고쳐야 하는지 부탁드립니다. input : N(3); var : vol(0),cnt(0),count(0); count = 0; if MarketPosition != 0 Then{ for cnt = 0 to N-1{ if PositionProfit(cnt) < 0 Then count = count+1; } } Else{ for cnt = 1 to N{ if PositionProfit(cnt) < 0 Then count = count+1; } } if count == N Then Vol = 4; Else Vol = 1; if 매수진입조건 Then buy("b",OnClose,def,vol); if 매도진입조건 Then sell("s",OnClose,def,vol); 부탁드립니다