커뮤니티

안녕하세요 매수후 순차적 논리연산 문의드립니다.

프로필 이미지
monaco
2011-08-17 13:22:11
531
글번호 41974
답변완료
매수후에 지표1이 지표4 까지 크로스 업 한후에 지표2, 지표3 이 지표4를 넘지 못하고 지표1이 지표4를 크로스 다운 했을경우 매도 신호를 보내고 싶습니다. 이것을 순차적으로 하지 않으면 지표1이 지표4를 넘는 도중 매도신호가 나옵니다. 그래서 순차적으로 인지 할수 있는 식을 부탁드립니다.
시스템
답변 4
프로필 이미지

예스스탁 예스스탁 답변

2011-08-17 19:15:19

안녕하세요 예스스탁입니다. 편의상 지표1,지표2,지표3,지표4를 var1,var2,var3,var4로 대체했습니다. if MarketPosition == 1 Then{#매수진입후 if crossup(var1,var4) Then #var1이 var4를 상향하면 value1은 1 value1 = 1; if value1 == 1 Then{# value1에 1인 상태에서 if crossup(var2,var4) Then#var2가 var4를 상향하면 value2는 2 value1 = 2; if crossup(var3,var4) Then#var3이 var4를 상향하면 value2는 2 value1 = 2; if CrossDown(var1,var4) Then#var1이var4를 하향하면 청산 exitlong(); } } Else#매수포지션이 아니면 value1은 0 value1 = 0; 즐거운 하루되세요 > monaco 님이 쓴 글입니다. > 제목 : 안녕하세요 매수후 순차적 논리연산 문의드립니다. > 매수후에 지표1이 지표4 까지 크로스 업 한후에 지표2, 지표3 이 지표4를 넘지 못하고 지표1이 지표4를 크로스 다운 했을경우 매도 신호를 보내고 싶습니다. 이것을 순차적으로 하지 않으면 지표1이 지표4를 넘는 도중 매도신호가 나옵니다. 그래서 순차적으로 인지 할수 있는 식을 부탁드립니다.
프로필 이미지

monaco

2011-08-18 00:02:30

monaco 님에 의해 삭제된 답변입니다.
프로필 이미지

monaco

2011-08-18 01:49:42

관리자님 답변 감사합니다. 그런데 식중에서 value1,value2 는 미리 선언을 해둬야 하나요? 어떻게 선언을 해주면 되는지요. 이동평균선 선언을 value 로 해뒀는데 어떤 걸로 대체 가능 한지요. 이렇게 수식을 써봤는데 검증은 완료가 되는데 의도하는대로 작동하는게 맞는지요 Input : shortPeriod(5), smallperiod(10), mediumperiod(20),longperiod(60) ; value1 = ma(C, shortperiod); value2 = ma(C, smallPeriod); value3 = ma(C, mediumperiod); value4 = ma(C, longperiod); value10 ; value11 ; var1 = abs(C-O); if marketposition == 1 Then { if crossup(value1,value4) then value11 = 1; if value11 == 1 then { if crossup(value2,value4) then value11 = 2; if value11 == 2 then { if crossup(value3,value4) then value11 =3; if value11 == 3 Then { if crossdown(value1,value4) then exitlong(); }}}} > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 안녕하세요 매수후 순차적 논리연산 문의드립니다. > 안녕하세요 예스스탁입니다. 편의상 지표1,지표2,지표3,지표4를 var1,var2,var3,var4로 대체했습니다. if MarketPosition == 1 Then{#매수진입후 if crossup(var1,var4) Then #var1이 var4를 상향하면 value1은 1 value1 = 1; if value1 == 1 Then{# value1에 1인 상태에서 if crossup(var2,var4) Then#var2가 var4를 상향하면 value2는 2 value1 = 2; if crossup(var3,var4) Then#var3이 var4를 상향하면 value2는 2 value1 = 2; if CrossDown(var1,var4) Then#var1이var4를 하향하면 청산 exitlong(); } } Else#매수포지션이 아니면 value1은 0 value1 = 0; 즐거운 하루되세요 > monaco 님이 쓴 글입니다. > 제목 : 안녕하세요 매수후 순차적 논리연산 문의드립니다. > 매수후에 지표1이 지표4 까지 크로스 업 한후에 지표2, 지표3 이 지표4를 넘지 못하고 지표1이 지표4를 크로스 다운 했을경우 매도 신호를 보내고 싶습니다. 이것을 순차적으로 하지 않으면 지표1이 지표4를 넘는 도중 매도신호가 나옵니다. 그래서 순차적으로 인지 할수 있는 식을 부탁드립니다.
프로필 이미지

예스스탁 예스스탁 답변

2011-08-18 08:52:11

안녕하세요 예스스탁입니다. 변수는 임의의 이름으로 만들어 사용하시면 됩니다. var1~var99, value1~value99는 프로그램에서 미리 선언해 놓은 변수이므로 따로 선언하지 않고 사용해도 되는 변수입니다. 다른이름으로 만드실 경우에는 선언하고 사용하셔야 합니다. 수식중에 잘못된 부분이 있어 수정한 식입니다. 작성하신 식이 매수후 5-60 골드--> 10-60 골드 --> 20-60 골드 --> 5-60데드가 발생해면 청산되게 작성하신 식이신거 같습니다. 아래와 같이 수정하셔야 합니다. value11은 매수포지션이 끝나고 다음 매수포지션시에 다시 1부터 카운트 해야 하므로 매수포지션이 아닐때 0으로 초기화하는 내용을 추가해 주셔야 합니다. Input : shortPeriod(5), smallperiod(10), mediumperiod(20),longperiod(60) ; value1 = ma(C, shortperiod); value2 = ma(C, smallPeriod); value3 = ma(C, mediumperiod); value4 = ma(C, longperiod); var1 = abs(C-O); if marketposition == 1 Then { if crossup(value1,value4) then value11 = 1; if value11 == 1 then { if crossup(value2,value4) then value11 = 2; } if value11 == 2 then { if crossup(value3,value4) then value11 =3; } if value11 == 3 Then { if crossdown(value1,value4) then exitlong(); } } Else value11 = 0; 즐거운 하루되세요 > monaco 님이 쓴 글입니다. > 제목 : Re : Re : 안녕하세요 매수후 순차적 논리연산 문의드립니다. > 관리자님 답변 감사합니다. 그런데 식중에서 value1,value2 는 미리 선언을 해둬야 하나요? 어떻게 선언을 해주면 되는지요. 이동평균선 선언을 value 로 해뒀는데 어떤 걸로 대체 가능 한지요. 이렇게 수식을 써봤는데 검증은 완료가 되는데 의도하는대로 작동하는게 맞는지요 Input : shortPeriod(5), smallperiod(10), mediumperiod(20),longperiod(60) ; value1 = ma(C, shortperiod); value2 = ma(C, smallPeriod); value3 = ma(C, mediumperiod); value4 = ma(C, longperiod); value10 ; value11 ; var1 = abs(C-O); if marketposition == 1 Then { if crossup(value1,value4) then value11 = 1; if value11 == 1 then { if crossup(value2,value4) then value11 = 2; if value11 == 2 then { if crossup(value3,value4) then value11 =3; if value11 == 3 Then { if crossdown(value1,value4) then exitlong(); }}}} > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 안녕하세요 매수후 순차적 논리연산 문의드립니다. > 안녕하세요 예스스탁입니다. 편의상 지표1,지표2,지표3,지표4를 var1,var2,var3,var4로 대체했습니다. if MarketPosition == 1 Then{#매수진입후 if crossup(var1,var4) Then #var1이 var4를 상향하면 value1은 1 value1 = 1; if value1 == 1 Then{# value1에 1인 상태에서 if crossup(var2,var4) Then#var2가 var4를 상향하면 value2는 2 value1 = 2; if crossup(var3,var4) Then#var3이 var4를 상향하면 value2는 2 value1 = 2; if CrossDown(var1,var4) Then#var1이var4를 하향하면 청산 exitlong(); } } Else#매수포지션이 아니면 value1은 0 value1 = 0; 즐거운 하루되세요 > monaco 님이 쓴 글입니다. > 제목 : 안녕하세요 매수후 순차적 논리연산 문의드립니다. > 매수후에 지표1이 지표4 까지 크로스 업 한후에 지표2, 지표3 이 지표4를 넘지 못하고 지표1이 지표4를 크로스 다운 했을경우 매도 신호를 보내고 싶습니다. 이것을 순차적으로 하지 않으면 지표1이 지표4를 넘는 도중 매도신호가 나옵니다. 그래서 순차적으로 인지 할수 있는 식을 부탁드립니다.