커뮤니티

수식문의

프로필 이미지
nanum
2007-06-19 17:28:31
1187
글번호 12817
답변완료
안녕하십니까. 초보자로, 3 버전에서 몇가지 문의합니다. 분봉, 1. date<>entrydate() date<>entrydate(0) date<>entrydate(1) date<>entrydate[1] 위 4개가 어떻게 다른지 설명 바랍니다. 2. buy("매수1", Atstop, Var1); buy("매수1", Atstop, def,Var1); buy("매수1", Atstop, Var1,def); 위 3개의 설명도 부탁합니다. 3. 내장변수 var1 .... 10 개 이상도 가능한지, 불가하다면 해결 방법이 무엇인지요. 4. 하나의 완성된 수식에 조건이 다른 "매수" 가 3개가 있다고 가정합니다. 매수1, 매수2 는 2개중에서 1개만 1 일 1회 매수하고, 매수3 은 2회 매수도 가능케하여 최대 1일 3회 까지 가능토록 하려고 합니다. 아래와 같이 수식을 작성해 보았습니다. 5. If date !=date[1] Then cnt= 0; If date<>entrydate(1) Then { If Var3 > open And close> Var4 Then { buy("매수1", Atstop, Var3); } If Var4 > open And close>=var5 Then { buy("매수2", Atstop, Var4); } } If Var5 > open And close>=var6 and cnt<3 Then { buy("매수3", Atstop, Var6) ; cnt = cnt+1; } 6. If date !=date[1] Then cnt= 0; If date<>entrydate(1) Then { If Var3 > open And close> Var4 and cnt<3 Then { buy("매수1", Atstop, Var3); cnt = cnt+1; } If Var4 > open And close>=var5 and cnt<3 Then { buy("매수2", Atstop, Var4); cnt = cnt+1; } } If Var5 > open And close>=var6 and cnt<3 Then { buy("매수3", Atstop, Var6) ; cnt = cnt+1; } 위5번, 6번, 모두 만족할만한 결과를 얻지못하엿습니다. 오류를 설명해 주시고, 수정해 주시면 감사하겠습니다. 이와같은 방법은 복잡한데, 다른 함수나 수식을 소개해주세요. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2007-06-21 10:34:50

안녕하세요 예스스탁입니다. 1. date<>entrydate() 와 date<>entrydate(0)는 같은 표현입니다. 현재 날짜가 현재 포지션의 진입날짜와 같지 않다라는 수식입니다. entrydate(0)은 현재 진입되어 있는 표지션의 날짜를 가지고 옵니다. 0은 생략가능합니다. 3.1에서는 (0)도 생략가능합니다. date<>entrydate(1)은 현재날짜가 청산이 완료된 전 포지션의 날짜와 같지 않다라는 식입니다. date<>entrydate[1] 은 현재의 날짜와 한봉전의 포지션진입날짜와 같지 않다라는 뜻입니다. 2. buy("매수1", Atstop, Var1); var1변수에 저장된 값 이상이 되면 매수진입합니다. buy("매수1", Atstop, def,Var1); var1으로 지정된 수량으로 전봉의 종가이상의 값이 형성이되면 주문이 발생합니다. buy("매수1", Atstop, Var1,def); var1변수에 저장된 값이상의 값으로 현재봉이 형성되면 주문 설정창에 지정된 수량으로 주문이 발생합니다. 3. 예스트레이더 3에서는 var1 ~var9까지 제공합니다. 변수를 따로 만드셔서 사용하시면 됩니다. 4. var : cnt1(0),cnt2(0); If date !=date[1] Then{ cnt1 = 0; cnt2 = 0; } if cnt1 < 1 and marketposition() == 0 Then{ if 매수1조건 Then{ buy("매수1"); cnt1 = 1; } if 매수2조건 Then{ buy("매수2"); cnt1 = 1; } } if marketposition() == 0 and cnt2 < 2 then{ if 매수3조건 Then{ buy("매수3"); cnt2 = cnt2 +1; } } 참고하시기 바랍니다. 즐거운 하루되세요 // // date<>entrydate(1) // date<>entrydate[1] > nanum 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하십니까. 초보자로, 3 버전에서 몇가지 문의합니다. 분봉, 1. date<>entrydate() date<>entrydate(0) date<>entrydate(1) date<>entrydate[1] 위 4개가 어떻게 다른지 설명 바랍니다. 2. buy("매수1", Atstop, Var1); buy("매수1", Atstop, def,Var1); buy("매수1", Atstop, Var1,def); 위 3개의 설명도 부탁합니다. 3. 내장변수 var1 .... 10 개 이상도 가능한지, 불가하다면 해결 방법이 무엇인지요. 4. 하나의 완성된 수식에 조건이 다른 "매수" 가 3개가 있다고 가정합니다. 매수1, 매수2 는 2개중에서 1개만 1 일 1회 매수하고, 매수3 은 2회 매수도 가능케하여 최대 1일 3회 까지 가능토록 하려고 합니다. 아래와 같이 수식을 작성해 보았습니다. 5. If date !=date[1] Then cnt= 0; If date<>entrydate(1) Then { If Var3 > open And close> Var4 Then { buy("매수1", Atstop, Var3); } If Var4 > open And close>=var5 Then { buy("매수2", Atstop, Var4); } } If Var5 > open And close>=var6 and cnt<3 Then { buy("매수3", Atstop, Var6) ; cnt = cnt+1; } 6. If date !=date[1] Then cnt= 0; If date<>entrydate(1) Then { If Var3 > open And close> Var4 and cnt<3 Then { buy("매수1", Atstop, Var3); cnt = cnt+1; } If Var4 > open And close>=var5 and cnt<3 Then { buy("매수2", Atstop, Var4); cnt = cnt+1; } } If Var5 > open And close>=var6 and cnt<3 Then { buy("매수3", Atstop, Var6) ; cnt = cnt+1; } 위5번, 6번, 모두 만족할만한 결과를 얻지못하엿습니다. 오류를 설명해 주시고, 수정해 주시면 감사하겠습니다. 이와같은 방법은 복잡한데, 다른 함수나 수식을 소개해주세요. 감사합니다.