커뮤니티

수식 요청 에러 수정부탁

프로필 이미지
회원
2007-09-11 18:27:55
712
글번호 13537
답변완료
프로그램 예스트3 -> 예스베타3.1 변경으로 애러나서 올립니다 [내용] input : malen1(5),malen2(18),malen3(52),s3(0.37),s2(4.0),S1(0),POS(0); var : cond1(0),cond2(0),var11(0),var12(0),cond10(0),cond11(0); Var1 = dayhigh(1)-open[1];//전일고저차 Cond1 = sdate==exitdate(1) And marketposition(1)==-1; //'최근청산날짜가 금일이고 직전이 매도 Cond2 = sdate==exitdate(1) And marketposition(1)==1; //'최근청산날짜가 금일이고 직전이 매수 //이평 필터 If malen1*1.5 <= malen2 And malen2*1.5 <= malen3 Then{ // '이평 기간값 비교 Var10= ma(high,malen1); Var11= ma(open,malen2); Var12= ma(close,malen3); Cond10=var10<var11 And Var11<var12; Cond11=var10>var11 And Var11>var12; } //진입 If stime < 150000 And marketposition() == 0 Then { If Cond10 Then { If Cond1 == False Then { sell("매도1",Atstop,dayopen()-var1*S1);//'지정가 저가 상향돌파시 매도 } } If Cond11 Then{ If Cond2 == False Then{ buy("매수1",Atstop,dayopen()+var1*s3);// '지정가 고가 돌파 매수 } } If Cond10 == False And Cond11 == False Then{ If Cond1== False Then { sell("매도2",Atstop,dayopen()-var1*s3);//'지정가 저가 상향돌파시 매도 } } If Cond10 == False And Cond11 == False Then{ If Cond2 == False Then{ buy("매수2",Atstop,dayopen() +var1*s1);// '지정가 고가 돌파 매수 } } } //청산 If marketposition() <>0 Then{ exitshort("매도추적스탑",Atstop,nthhighest(1,high,Pos+1)+atr(9)*S3); exitlong("매수추적스탑",Atstop,nthlowest(1,low,pos+1)-atr(9)*s3); } If stime == 144900 Then{ exitshort("매도청산",Atmarket); exitlong("매수청산",Atmarket); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2007-09-12 08:50:01

안녕하세요 예스스탁입니다. 수식을 수정했습니다. 변수에 논리식을 할당할 경우 해당 변수는 (false)로 선언하시기 바랍니다. 변수 = 논리식; << 논리변수선언 변수 = 수치; << 수치변수선언 input : malen1(5),malen2(18),malen3(52),s3(0.37),s2(4.0),S1(0),POS(0); var : cond1(False),cond2(False),var11(0),var12(0),cond10(False),cond11(False); Var1 = dayhigh(1)-open[1];//전일고저차 Cond1 = sdate==exitdate(1) And marketposition(1)==-1; //'최근청산날짜가 금일이고 직전이 매도 Cond2 = sdate==exitdate(1) And marketposition(1)==1; //'최근청산날짜가 금일이고 직전이 매수 //이평 필터 If malen1*1.5 <= malen2 And malen2*1.5 <= malen3 Then{ // '이평 기간값 비교 Var10= ma(high,malen1); Var11= ma(open,malen2); Var12= ma(close,malen3); Cond10=var10<var11 And Var11<var12; Cond11=var10>var11 And Var11>var12; } //진입 If stime < 150000 And marketposition() == 0 Then { If Cond10 Then { If Cond1 == False Then { sell("매도1",Atstop,dayopen()-var1*S1);//'지정가 저가 상향돌파시 매도 } } If Cond11 Then{ If Cond2 == False Then{ buy("매수1",Atstop,dayopen()+var1*s3);// '지정가 고가 돌파 매수 } } If Cond10 == False And Cond11 == False Then{ If Cond1== False Then { sell("매도2",Atstop,dayopen()-var1*s3);//'지정가 저가 상향돌파시 매도 } } If Cond10 == False And Cond11 == False Then{ If Cond2 == False Then{ buy("매수2",Atstop,dayopen() +var1*s1);// '지정가 고가 돌파 매수 } } } //청산 If marketposition() <>0 Then{ exitshort("매도추적스탑",Atstop,nthhighest(1,high,Pos+1)+atr(9)*S3); exitlong("매수추적스탑",Atstop,nthlowest(1,low,pos+1)-atr(9)*s3); } If stime == 144900 Then{ exitshort("매도청산",Atmarket); exitlong("매수청산",Atmarket); } 즐거운 하루되세요 > CJ_yang1130 님이 쓴 글입니다. > 제목 : 수식 요청 에러 수정부탁 > 프로그램 예스트3 -> 예스베타3.1 변경으로 애러나서 올립니다 [내용] input : malen1(5),malen2(18),malen3(52),s3(0.37),s2(4.0),S1(0),POS(0); var : cond1(0),cond2(0),var11(0),var12(0),cond10(0),cond11(0); Var1 = dayhigh(1)-open[1];//전일고저차 Cond1 = sdate==exitdate(1) And marketposition(1)==-1; //'최근청산날짜가 금일이고 직전이 매도 Cond2 = sdate==exitdate(1) And marketposition(1)==1; //'최근청산날짜가 금일이고 직전이 매수 //이평 필터 If malen1*1.5 <= malen2 And malen2*1.5 <= malen3 Then{ // '이평 기간값 비교 Var10= ma(high,malen1); Var11= ma(open,malen2); Var12= ma(close,malen3); Cond10=var10<var11 And Var11<var12; Cond11=var10>var11 And Var11>var12; } //진입 If stime < 150000 And marketposition() == 0 Then { If Cond10 Then { If Cond1 == False Then { sell("매도1",Atstop,dayopen()-var1*S1);//'지정가 저가 상향돌파시 매도 } } If Cond11 Then{ If Cond2 == False Then{ buy("매수1",Atstop,dayopen()+var1*s3);// '지정가 고가 돌파 매수 } } If Cond10 == False And Cond11 == False Then{ If Cond1== False Then { sell("매도2",Atstop,dayopen()-var1*s3);//'지정가 저가 상향돌파시 매도 } } If Cond10 == False And Cond11 == False Then{ If Cond2 == False Then{ buy("매수2",Atstop,dayopen() +var1*s1);// '지정가 고가 돌파 매수 } } } //청산 If marketposition() <>0 Then{ exitshort("매도추적스탑",Atstop,nthhighest(1,high,Pos+1)+atr(9)*S3); exitlong("매수추적스탑",Atstop,nthlowest(1,low,pos+1)-atr(9)*s3); } If stime == 144900 Then{ exitshort("매도청산",Atmarket); exitlong("매수청산",Atmarket); }