커뮤니티

이렇게는 안되나요?

프로필 이미지
빠빠라기
2008-03-11 16:17:38
1260
글번호 14926
답변완료
if crossup(v2, v3) then buy("매수"); if MarketPosition("매수") == 0 and accumn(iff(crossup(var1,var2),1,0),dayindex()+1) == 2 and crossdown(var1,var2) Then exitlong("매수청산"); if MarketPosition("매수청산") == 1 and accumn(iff(crossup(var1,var2),1,0),dayindex()+1) == 2 and crossup(var1,var2) Then buy("재매수"); if crossdown9v2, v3) then sell("매도"); if MarketPosition("매도") == 0 and accumn(iff(crossup(var1,var2),1,0),dayindex()+1) == 2 and crossup(var1,var2) Then exitshort("매도청산"); if MarketPosition() == 1 and accumn(iff(crossup(var1,var2),1,0),dayindex()+1) == 2 and crossdown(var1,var2) Then sell("재매도"); ==================================================================== if crossup(v2, v3) then buy("매수"); if isentryname("매수") == 0 and accumn(iff(crossup(var1,var2),1,0),isentryname()+1) == 2 and crossdown(var1,var2) Then exitlong("매수청산"); if isexitname("매수청산") == 1 and accumn(iff(crossup(var1,var2),1,0),isexitname()+1) == 2 and crossup(var1,var2) Then buy("재매수"); if crossdown9v2, v3) then buy("매도"); if isentryname("매도") == 0 and accumn(iff(crossup(var1,var2),1,0),isentryname()+1) == 2 and crossup(var1,var2) Then exitshort("매도청산"); if isexitname() == 1 and accumn(iff(crossup(var1,var2),1,0),isexitname()+1) == 2 and crossdown(var1,var2) Then sell("재매도"); 둘다 안되네요? 진입한 시점부터 두번째 크로스에서 포지션 취하는 방법 없나요? 부탁드립니다.
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2008-03-12 09:45:27

안녕하세요 예스스탁입니다. Marketposition함수의 인자값에는 0 1과 같은 숫자값이 들어가게 됩니다. Marketposition(0) 혹은 Marketposition()은 현재포지션의 값을 가져오며 Marketposition(1)은 청산이 완료된 전 거래의 포지션 상태를 가지고 옵니다. "매수"와 같이 문자를 사용하시면 검증이 되지 않고 에러가 나타납니다. 진입이후 2번째 크로스부터 포지션을 취한다는 내용의 정확한 의미를 알 수 없습니다. 전화주시기 바랍니다. 02-3453-1060 즐거운 하루되세요 > 빠빠라기 님이 쓴 글입니다. > 제목 : 이렇게는 안되나요? > if crossup(v2, v3) then buy("매수"); if MarketPosition("매수") == 0 and accumn(iff(crossup(var1,var2),1,0),dayindex()+1) == 2 and crossdown(var1,var2) Then exitlong("매수청산"); if MarketPosition("매수청산") == 1 and accumn(iff(crossup(var1,var2),1,0),dayindex()+1) == 2 and crossup(var1,var2) Then buy("재매수"); if crossdown9v2, v3) then sell("매도"); if MarketPosition("매도") == 0 and accumn(iff(crossup(var1,var2),1,0),dayindex()+1) == 2 and crossup(var1,var2) Then exitshort("매도청산"); if MarketPosition() == 1 and accumn(iff(crossup(var1,var2),1,0),dayindex()+1) == 2 and crossdown(var1,var2) Then sell("재매도"); ==================================================================== if crossup(v2, v3) then buy("매수"); if isentryname("매수") == 0 and accumn(iff(crossup(var1,var2),1,0),isentryname()+1) == 2 and crossdown(var1,var2) Then exitlong("매수청산"); if isexitname("매수청산") == 1 and accumn(iff(crossup(var1,var2),1,0),isexitname()+1) == 2 and crossup(var1,var2) Then buy("재매수"); if crossdown9v2, v3) then buy("매도"); if isentryname("매도") == 0 and accumn(iff(crossup(var1,var2),1,0),isentryname()+1) == 2 and crossup(var1,var2) Then exitshort("매도청산"); if isexitname() == 1 and accumn(iff(crossup(var1,var2),1,0),isexitname()+1) == 2 and crossdown(var1,var2) Then sell("재매도"); 둘다 안되네요? 진입한 시점부터 두번째 크로스에서 포지션 취하는 방법 없나요? 부탁드립니다.
프로필 이미지

예스스탁 예스스탁 답변

2008-03-12 11:13:46

수정해서 올려드립니다. var : count(0),v2(0),v3(0); Count = 0 ; for Value1 = 0 to 10 { if EntryDate( Value1 ) == sdate then Count = Count + 1; } v2 = ma(C,5); v3 = ma(c,20); ## 첫매수 if crossup(v2, v3) and count == 0 then buy("매수1"); if crossup(v2, v3) and count > 0 and accumn(iff(crossup(v2,v3),1,0),BarsSinceexit(1)) == 2 Then buy("매수2"); if crossdown(v2,v3) and accumn(iff(crossdown(v2,v3),1,0),BarsSinceEntry()) == 2 Then exitlong("매수청산"); 즐거운 하루되세요 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 이렇게는 안되나요? > 안녕하세요 예스스탁입니다. Marketposition함수의 인자값에는 0 1과 같은 숫자값이 들어가게 됩니다. Marketposition(0) 혹은 Marketposition()은 현재포지션의 값을 가져오며 Marketposition(1)은 청산이 완료된 전 거래의 포지션 상태를 가지고 옵니다. "매수"와 같이 문자를 사용하시면 검증이 되지 않고 에러가 나타납니다. 진입이후 2번째 크로스부터 포지션을 취한다는 내용의 정확한 의미를 알 수 없습니다. 전화주시기 바랍니다. 02-3453-1060 즐거운 하루되세요 > 빠빠라기 님이 쓴 글입니다. > 제목 : 이렇게는 안되나요? > if crossup(v2, v3) then buy("매수"); if MarketPosition("매수") == 0 and accumn(iff(crossup(var1,var2),1,0),dayindex()+1) == 2 and crossdown(var1,var2) Then exitlong("매수청산"); if MarketPosition("매수청산") == 1 and accumn(iff(crossup(var1,var2),1,0),dayindex()+1) == 2 and crossup(var1,var2) Then buy("재매수"); if crossdown9v2, v3) then sell("매도"); if MarketPosition("매도") == 0 and accumn(iff(crossup(var1,var2),1,0),dayindex()+1) == 2 and crossup(var1,var2) Then exitshort("매도청산"); if MarketPosition() == 1 and accumn(iff(crossup(var1,var2),1,0),dayindex()+1) == 2 and crossdown(var1,var2) Then sell("재매도"); ==================================================================== if crossup(v2, v3) then buy("매수"); if isentryname("매수") == 0 and accumn(iff(crossup(var1,var2),1,0),isentryname()+1) == 2 and crossdown(var1,var2) Then exitlong("매수청산"); if isexitname("매수청산") == 1 and accumn(iff(crossup(var1,var2),1,0),isexitname()+1) == 2 and crossup(var1,var2) Then buy("재매수"); if crossdown9v2, v3) then buy("매도"); if isentryname("매도") == 0 and accumn(iff(crossup(var1,var2),1,0),isentryname()+1) == 2 and crossup(var1,var2) Then exitshort("매도청산"); if isexitname() == 1 and accumn(iff(crossup(var1,var2),1,0),isexitname()+1) == 2 and crossdown(var1,var2) Then sell("재매도"); 둘다 안되네요? 진입한 시점부터 두번째 크로스에서 포지션 취하는 방법 없나요? 부탁드립니다.
프로필 이미지

빠빠라기

2008-03-12 11:29:19

^^