커뮤니티

문의드립니다.

프로필 이미지
sosk
2016-11-08 12:32:51
82
글번호 103803
답변완료
아래 식이, mav21>mva22, mav31>mav32이고 data1에서 crossup을 한번 하면 인덱스 저장하고, 한번 더 data1이 crossup하고 그때 mav21>mva22, mav31>mav32를 만족하면 진입하는 식입니다. 그럼 진입 시점에서 data2의 mav21 > mav22 조건을 만족시키지 못했을 시에는 진입이 안되지않습니까? 나중에 data2가 다시 mav21>mav22 조건을 만족하더라도 data1의 crossup 시점은 지나가버려서 신호가 발생하지 않게되는데, 이를 방지하기 위해 data2가 다시 mav21>mav22 만족시킬 때 (data1의 crossup신호는 지나갔어도) 진입신호가 발생하도록 할 수 있는지요? 요약하자면, mav21>mav22, mav31>mav32 일 때, data1이 크로스업하면 인덱스저장. 다시 data1이 크로스업할 때, mav21>mav22, mav31>mav32 이면 매수인데, 당시에 data2가 mav21<mav22이면, data2에서 mav21>mav22를 만족시킬 때 매수진입. var : mav11(0,data1),mav12(0,data1); var : mav21(0,data2),mav22(0,data2); var : mav31(0,data3),mav32(0,data3); var : i1(0,data1),i2(0,data1),i3(0,data1),i11(0,data1); mav11 = data1(ma(C,P1)); mav12 = data1(ma(C,P2)); mav21 = data2(ma(C,P1)); mav22 = data2(ma(C,P2)); mav31 = data3(ma(C,P1)); mav32 = data3(ma(C,P2)); if data1(crossup(mav11,mav12)) and mav21 > mav22 and mav31 > mav32 Then{ i1 = data1(index); i11 = i1[1]; if i2 <= i11 and i3 <= i11 and i3 > 0 and i2 > 0 and i11 > 0 and mav21 > mav22 and mav31 > mav32 Then{ buy(); } } if data2(crossup(mav21,mav22)) Then i2 = data1(index); if data3(crossup(mav31,mav32)) Then i3 = data1(index);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-11-08 14:17:54

안녕하세요 예스스탁입니다. 아래 내용 참고하셔서 수정보완해 사용하시기 바랍니다. var : mav11(0,data1),mav12(0,data1); var : mav21(0,data2),mav22(0,data2); var : mav31(0,data3),mav32(0,data3); var : i1(0,data1),i2(0,data1),i3(0,data1),i11(0,data1); var : T(0,data1); mav11 = data1(ma(C,P1)); mav12 = data1(ma(C,P2)); mav21 = data2(ma(C,P1)); mav22 = data2(ma(C,P2)); mav31 = data3(ma(C,P1)); mav32 = data3(ma(C,P2)); if data1(crossup(mav11,mav12)) Then{ i1 = data1(index); i11 = i1[1]; T = 1;#data1골드이면 1 #인덱스 조건 만족하고 if T == 1 and i2 <= i11 and i3 <= i11 and i3 > 0 and i2 > 0 and i11 > 0 then{ if mav21 > mav22 and mav31 > mav32 Then{ T = 2;#data2,data3골드상태면 2 buy("b1"); } #인덱스 조건은 맞는데 data3은 골드상태인데 data2가 데드이면 3 if mav21 < mav22 and mav31 > mav32 Then T = 3; } } #3이면 data2골드가 발생하면 매수, T는 0으로 초기화 if T == 3 and data2(crossup(mav21,mav22)) Then{ T = 0; buy("b2"); } if data2(crossup(mav21,mav22)) Then i2 = data1(index); if data3(crossup(mav31,mav32)) Then i3 = data1(index); 즐거운 하루되세요 > sosk 님이 쓴 글입니다. > 제목 : 문의드립니다. > 아래 식이, mav21>mva22, mav31>mav32이고 data1에서 crossup을 한번 하면 인덱스 저장하고, 한번 더 data1이 crossup하고 그때 mav21>mva22, mav31>mav32를 만족하면 진입하는 식입니다. 그럼 진입 시점에서 data2의 mav21 > mav22 조건을 만족시키지 못했을 시에는 진입이 안되지않습니까? 나중에 data2가 다시 mav21>mav22 조건을 만족하더라도 data1의 crossup 시점은 지나가버려서 신호가 발생하지 않게되는데, 이를 방지하기 위해 data2가 다시 mav21>mav22 만족시킬 때 (data1의 crossup신호는 지나갔어도) 진입신호가 발생하도록 할 수 있는지요? 요약하자면, mav21>mav22, mav31>mav32 일 때, data1이 크로스업하면 인덱스저장. 다시 data1이 크로스업할 때, mav21>mav22, mav31>mav32 이면 매수인데, 당시에 data2가 mav21<mav22이면, data2에서 mav21>mav22를 만족시킬 때 매수진입. var : mav11(0,data1),mav12(0,data1); var : mav21(0,data2),mav22(0,data2); var : mav31(0,data3),mav32(0,data3); var : i1(0,data1),i2(0,data1),i3(0,data1),i11(0,data1); mav11 = data1(ma(C,P1)); mav12 = data1(ma(C,P2)); mav21 = data2(ma(C,P1)); mav22 = data2(ma(C,P2)); mav31 = data3(ma(C,P1)); mav32 = data3(ma(C,P2)); if data1(crossup(mav11,mav12)) and mav21 > mav22 and mav31 > mav32 Then{ i1 = data1(index); i11 = i1[1]; if i2 <= i11 and i3 <= i11 and i3 > 0 and i2 > 0 and i11 > 0 and mav21 > mav22 and mav31 > mav32 Then{ buy(); } } if data2(crossup(mav21,mav22)) Then i2 = data1(index); if data3(crossup(mav31,mav32)) Then i3 = data1(index);