커뮤니티

수식 수정

프로필 이미지
회원
2013-04-24 16:45:41
214
글번호 62455
답변완료
데이터 매니저에서 데이터를 불러와 보조 챠트에 data4번으로 띄운후 아래의 식을 적용하여 장중고가, 저가에서 data4의 값이 반대로 1000이 변하면 진입하라는 수식을 만들어 적용했더니 신호가 나오지 않습니다. . 당초에 작성해 주셨던 수식에서 무언가 빠뜨린거 같은데요.. 수식 수정 부탁 드립니다. 아래 input : p(14),기준선1(13),기준선2(17),기준선3(21); var : val1(0,data1),val2(0,data1),val3(0,data1),val4(0,data1),val5(0,data1), val6(0,data1),val7(0,data1),val8(0,data1),val9(0,data1); var : v1(0,data1),v2(0,data1),v3(0,data1),v4(0,data1)); v1 = data1(ADX(14)); v2 = data1(Diplus(14)); v3 = data1(DiMinus(14)); var1 =data4(c); //------------------------------------------------------------- //---------------------------------------------------- var : AA(0),BB(0),Vv(0),H1(0),L1(0),count(0),cnt(0); if date != date[1] Then { H1 = var1; L1 = var1; } count = 0; for cnt = 0 to 10 { if sdate == EntryDate(cnt) Then count = count+1; } #당일 첫진입은 당일 첫봉대비 #매수진입 if MarketPosition == 0 Then #진입포지션이 있으면 진입금지 //시작시간 if stime >= 090100 Then if count == 0 Then if Var1 >= l1+1000 Then buy("매수턴"); if MarketPosition == 0 then #진입포지션이 있으면 진입금지 if count == 0 Then if var1 >= h1-1000 Then //시작시간 if stime >= 090100 Then sell("매도턴"); //-------------------------------------------------------------------- #현재 무포지션이면 if count > 0 Then{ if MarketPosition == 0 Then { //시작시간 if stime >= 090100 Then # 직전청산이후 최저가+1000이면 매수 // if VV >= Lowest(vv,BarsSinceExit(1))+1000 Then if Lowest(var1,BarsSinceExit(1))+1000 Then if var1 <= l1+1000 Then buy("매수턴2"); if MarketPosition == 0 Then //시작시간 if stime >= 090100 Then # 직전청산이후 최고가-1000이면 매도 if Highest(var1,BarsSinceExit(1))-1700 Then // if VV <= Highest-1000 Then if var1 >= h1-1000 Then Sell("매도턴2(확인후진입)"); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-04-24 17:28:53

안녕하세요 예스스탁입니다. h1과 l1이 당일 첫봉값만 저장하게 되어 있고 이후 최대값과 최소값을 구하는 부분이 없습니다. 해당 부분 추가했습니다. input : p(14),기준선1(13),기준선2(17),기준선3(21); var : val1(0,data1),val2(0,data1),val3(0,data1),val4(0,data1),val5(0,data1), val6(0,data1),val7(0,data1),val8(0,data1),val9(0,data1); var : v1(0,data1),v2(0,data1),v3(0,data1),v4(0,data1),d4(0,data1); var : AA(0),BB(0),Vv(0),H1(0),L1(0),count(0),cnt(0); v1 = data1(ADX(14)); v2 = data1(Diplus(14)); v3 = data1(DiMinus(14)); d4 =data4(c); //------------------------------------------------------------- //---------------------------------------------------- if data4(date != date[1]) Then { H1 = d4; L1 = d4; } if d4 > H1 Then H1 = d4; if d4 < L1 Then L1 = d4; count = 0; for cnt = 0 to 10 { if sdate == EntryDate(cnt) Then count = count+1; } #당일 첫진입은 당일 첫봉대비 #매수진입 if MarketPosition == 0 Then #진입포지션이 있으면 진입금지 //시작시간 if stime >= 090100 Then if count == 0 Then if d4 >= l1+1000 Then buy("매수턴"); if MarketPosition == 0 then #진입포지션이 있으면 진입금지 if count == 0 Then if d4 >= h1-1000 Then //시작시간 if stime >= 090100 Then sell("매도턴"); //-------------------------------------------------------------------- #현재 무포지션이면 if count > 0 Then{ if MarketPosition == 0 Then { //시작시간 if stime >= 090100 Then # 직전청산이후 최저가+1000이면 매수 // if VV >= Lowest(vv,BarsSinceExit(1))+1000 Then if Lowest(d4,BarsSinceExit(1))+1000 Then if d4 <= l1+1000 Then buy("매수턴2"); if MarketPosition == 0 Then //시작시간 if stime >= 090100 Then # 직전청산이후 최고가-1000이면 매도 if Highest(d4,BarsSinceExit(1))-1700 Then // if VV <= Highest-1000 Then if d4 >= h1-1000 Then Sell("매도턴2(확인후진입)"); } } 즐거운 하루되세요 > HI_cbk4610 님이 쓴 글입니다. > 제목 : 수식 수정 > 데이터 매니저에서 데이터를 불러와 보조 챠트에 data4번으로 띄운후 아래의 식을 적용하여 장중고가, 저가에서 data4의 값이 반대로 1000이 변하면 진입하라는 수식을 만들어 적용했더니 신호가 나오지 않습니다. . 당초에 작성해 주셨던 수식에서 무언가 빠뜨린거 같은데요.. 수식 수정 부탁 드립니다. 아래 input : p(14),기준선1(13),기준선2(17),기준선3(21); var : val1(0,data1),val2(0,data1),val3(0,data1),val4(0,data1),val5(0,data1), val6(0,data1),val7(0,data1),val8(0,data1),val9(0,data1); var : v1(0,data1),v2(0,data1),v3(0,data1),v4(0,data1)); v1 = data1(ADX(14)); v2 = data1(Diplus(14)); v3 = data1(DiMinus(14)); var1 =data4(c); //------------------------------------------------------------- //---------------------------------------------------- var : AA(0),BB(0),Vv(0),H1(0),L1(0),count(0),cnt(0); if date != date[1] Then { H1 = var1; L1 = var1; } count = 0; for cnt = 0 to 10 { if sdate == EntryDate(cnt) Then count = count+1; } #당일 첫진입은 당일 첫봉대비 #매수진입 if MarketPosition == 0 Then #진입포지션이 있으면 진입금지 //시작시간 if stime >= 090100 Then if count == 0 Then if Var1 >= l1+1000 Then buy("매수턴"); if MarketPosition == 0 then #진입포지션이 있으면 진입금지 if count == 0 Then if var1 >= h1-1000 Then //시작시간 if stime >= 090100 Then sell("매도턴"); //-------------------------------------------------------------------- #현재 무포지션이면 if count > 0 Then{ if MarketPosition == 0 Then { //시작시간 if stime >= 090100 Then # 직전청산이후 최저가+1000이면 매수 // if VV >= Lowest(vv,BarsSinceExit(1))+1000 Then if Lowest(var1,BarsSinceExit(1))+1000 Then if var1 <= l1+1000 Then buy("매수턴2"); if MarketPosition == 0 Then //시작시간 if stime >= 090100 Then # 직전청산이후 최고가-1000이면 매도 if Highest(var1,BarsSinceExit(1))-1700 Then // if VV <= Highest-1000 Then if var1 >= h1-1000 Then Sell("매도턴2(확인후진입)"); } }