커뮤니티

문의드립니다.

프로필 이미지
vmfha
2015-11-09 11:07:42
175
글번호 92170
답변완료
1.아래수식은 매수조건입니다. 이와같은방식으로( 지표를 여러개 and 조건)) 조건을 5가지정도 만들어 그중 3가지 조건이 맞으면( 5가지중 아무거나 3가지 이상) 매수신호 발생되게 부탁드립니다. If SROCsig2 < SROCsig2[1] and SonarSig2 < SonarSig2[1] and TSI2 < TSI2[1] and TRIXsig < TRIXsig[1] and SMIS < SMIS[1] and TSI < TSI[1] and mav < mav[1] and mav1 < mav1[1] Then { MessageLog("%s %s %.f",Condition1,Condition2,entry); if entry == 0 or (entry >= 1 and MarketPosition == 1) or (entry >= 1 and MarketPosition == 0 and Condition2 == false) or (entry >= 1 and MarketPosition == 0 and Condition2 == true and countif(TSI > TSI[1] or mav > mav[1] ,BarsSinceExit(1)) >= 1) Then { Sell(); if MarketPosition >= 0 Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } } 청산조건도 마찬가지로 할수있게 부탁드립니다. 또, 매매시간을 당일12시~ 다음날 02 까지 변수로 부탁드립니다. ** countif(TSI > TSI[1] or mav > mav[1] or SMIS > SMIS[1] ,BarsSinceExit(1)) >= 1) Then 상기조건은 청산후 다시 지표의 방향이 하나라도 반대로 변했다 신호방향으로 돌아서면 신호 발생이 되는 조건으로 알고있는데... 신호 조건이 되어도 신호 발생이 안되는것 같은데... 혹, 오류가 있는지 검토부탁드립니다. 2.data1은 틱봉이고 data2는 5분봉 data3는 30분봉을 참조하고있읍니다. 근데 지표발표나 급등락이 있을때 5, 30분동안 틱봉의 봉이 갯수가 많아도 신호발생이 되질않는데.. 이를 보정할 방법이 있는지요? data2의 5분봉이 완성이 되기 전이라도 조건이 맞으면 신호발생이 되게 부탁드립니다. ( 청산조건도 같이 부탁드립니다.)
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2015-11-09 15:03:18

안녕하세요 예스스탁입니다. 1. 올리신 내용에는 매수조건으로 언급하셨는데 수식은 매도식이고 조건도 7가지 입니다. 아래 카운트 하는 내용 참고하셔서 수정보완해 사용하시기 바랍니다. input : 시작시간(120000),끝시간(20000); var : TimeCond(false),Sellcnt(0),Sxcnt(0); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then TimeCond = true; if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then TimeCond = false; #매도 조건만족 횟수 카운트 Sellcnt = 0; if SROCsig2 < SROCsig2[1] Then Sellcnt = Sellcnt+1; if SonarSig2 < SonarSig2[1] Then Sellcnt = Sellcnt+1; if TSI2 < TSI2[1] Then Sellcnt = Sellcnt+1; if TRIXsig < TRIXsig[1] Then Sellcnt = Sellcnt+1; if SMIS < SMIS[1] Then Sellcnt = Sellcnt+1; #매수청산 조건만족 횟수 카운트 SXcnt = 0; if SROCsig2 > SROCsig2[1] Then SXcnt = SXcnt+1; if SonarSig2 > SonarSig2[1] Then SXcnt = SXcnt+1; if TSI2 > TSI2[1] Then SXcnt = SXcnt+1; if TRIXsig > TRIXsig[1] Then SXcnt = SXcnt+1; if SMIS > SMIS[1] Then SXcnt = SXcnt+1; if Sellcnt >= 3 Then{ if entry == 0 or (entry >= 1 and MarketPosition == 1) or (entry >= 1 and MarketPosition == 0 and Condition2 == false) or (entry >= 1 and MarketPosition == 0 and Condition2 == true and countif(TSI > TSI[1] or mav > mav[1],BarsSinceExit(1)) >= 1) Then{ Sell(); } } if SXcnt >= 3 Then ExitShort(); 2 문의하신 내용은 가능하지 않습니다. 수식에서 데이터는 완성봉의 데이터만 사용가능합니다. 즐거운 하루되세요 > vmfha 님이 쓴 글입니다. > 제목 : 문의드립니다. > 1.아래수식은 매수조건입니다. 이와같은방식으로( 지표를 여러개 and 조건)) 조건을 5가지정도 만들어 그중 3가지 조건이 맞으면( 5가지중 아무거나 3가지 이상) 매수신호 발생되게 부탁드립니다. If SROCsig2 < SROCsig2[1] and SonarSig2 < SonarSig2[1] and TSI2 < TSI2[1] and TRIXsig < TRIXsig[1] and SMIS < SMIS[1] and TSI < TSI[1] and mav < mav[1] and mav1 < mav1[1] Then { MessageLog("%s %s %.f",Condition1,Condition2,entry); if entry == 0 or (entry >= 1 and MarketPosition == 1) or (entry >= 1 and MarketPosition == 0 and Condition2 == false) or (entry >= 1 and MarketPosition == 0 and Condition2 == true and countif(TSI > TSI[1] or mav > mav[1] ,BarsSinceExit(1)) >= 1) Then { Sell(); if MarketPosition >= 0 Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } } 청산조건도 마찬가지로 할수있게 부탁드립니다. 또, 매매시간을 당일12시~ 다음날 02 까지 변수로 부탁드립니다. ** countif(TSI > TSI[1] or mav > mav[1] or SMIS > SMIS[1] ,BarsSinceExit(1)) >= 1) Then 상기조건은 청산후 다시 지표의 방향이 하나라도 반대로 변했다 신호방향으로 돌아서면 신호 발생이 되는 조건으로 알고있는데... 신호 조건이 되어도 신호 발생이 안되는것 같은데... 혹, 오류가 있는지 검토부탁드립니다. 2.data1은 틱봉이고 data2는 5분봉 data3는 30분봉을 참조하고있읍니다. 근데 지표발표나 급등락이 있을때 5, 30분동안 틱봉의 봉이 갯수가 많아도 신호발생이 되질않는데.. 이를 보정할 방법이 있는지요? data2의 5분봉이 완성이 되기 전이라도 조건이 맞으면 신호발생이 되게 부탁드립니다. ( 청산조건도 같이 부탁드립니다.)
프로필 이미지

vmfha

2015-11-09 15:31:55

제가 설명이 부족했나 보네요... If SROCsig2 < SROCsig2[1] and SonarSig2 < SonarSig2[1] and TSI2 < TSI2[1] and TRIXsig < TRIXsig[1] and SMIS < SMIS[1] and TSI < TSI[1] and mav < mav[1] and mav1 < mav1[1] Then 상기 매도 수식이 1가지 조건입니다. 예스님이 해주신대로 if SROCsig2 < SROCsig2[1] and SonarSig2 < SonarSig2[1] and TSI2 < TSI2[1] and TRIXsig < TRIXsig[1] and SMIS < SMIS[1] and TSI < TSI[1] and mav < mav[1] and mav1 < mav1[1] Then Sellcnt = Sellcnt+1; 이런식으로 조건문을 적용해도 괜찬은지요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다. > 안녕하세요 예스스탁입니다. 1. 올리신 내용에는 매수조건으로 언급하셨는데 수식은 매도식이고 조건도 7가지 입니다. 아래 카운트 하는 내용 참고하셔서 수정보완해 사용하시기 바랍니다. input : 시작시간(120000),끝시간(20000); var : TimeCond(false),Sellcnt(0),Sxcnt(0); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then TimeCond = true; if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then TimeCond = false; #매도 조건만족 횟수 카운트 Sellcnt = 0; if SROCsig2 < SROCsig2[1] Then Sellcnt = Sellcnt+1; if SonarSig2 < SonarSig2[1] Then Sellcnt = Sellcnt+1; if TSI2 < TSI2[1] Then Sellcnt = Sellcnt+1; if TRIXsig < TRIXsig[1] Then Sellcnt = Sellcnt+1; if SMIS < SMIS[1] Then Sellcnt = Sellcnt+1; #매수청산 조건만족 횟수 카운트 SXcnt = 0; if SROCsig2 > SROCsig2[1] Then SXcnt = SXcnt+1; if SonarSig2 > SonarSig2[1] Then SXcnt = SXcnt+1; if TSI2 > TSI2[1] Then SXcnt = SXcnt+1; if TRIXsig > TRIXsig[1] Then SXcnt = SXcnt+1; if SMIS > SMIS[1] Then SXcnt = SXcnt+1; if Sellcnt >= 3 Then{ if entry == 0 or (entry >= 1 and MarketPosition == 1) or (entry >= 1 and MarketPosition == 0 and Condition2 == false) or (entry >= 1 and MarketPosition == 0 and Condition2 == true and countif(TSI > TSI[1] or mav > mav[1],BarsSinceExit(1)) >= 1) Then{ Sell(); } } if SXcnt >= 3 Then ExitShort(); 2 문의하신 내용은 가능하지 않습니다. 수식에서 데이터는 완성봉의 데이터만 사용가능합니다. 즐거운 하루되세요 > vmfha 님이 쓴 글입니다. > 제목 : 문의드립니다. > 1.아래수식은 매수조건입니다. 이와같은방식으로( 지표를 여러개 and 조건)) 조건을 5가지정도 만들어 그중 3가지 조건이 맞으면( 5가지중 아무거나 3가지 이상) 매수신호 발생되게 부탁드립니다. If SROCsig2 < SROCsig2[1] and SonarSig2 < SonarSig2[1] and TSI2 < TSI2[1] and TRIXsig < TRIXsig[1] and SMIS < SMIS[1] and TSI < TSI[1] and mav < mav[1] and mav1 < mav1[1] Then { MessageLog("%s %s %.f",Condition1,Condition2,entry); if entry == 0 or (entry >= 1 and MarketPosition == 1) or (entry >= 1 and MarketPosition == 0 and Condition2 == false) or (entry >= 1 and MarketPosition == 0 and Condition2 == true and countif(TSI > TSI[1] or mav > mav[1] ,BarsSinceExit(1)) >= 1) Then { Sell(); if MarketPosition >= 0 Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } } 청산조건도 마찬가지로 할수있게 부탁드립니다. 또, 매매시간을 당일12시~ 다음날 02 까지 변수로 부탁드립니다. ** countif(TSI > TSI[1] or mav > mav[1] or SMIS > SMIS[1] ,BarsSinceExit(1)) >= 1) Then 상기조건은 청산후 다시 지표의 방향이 하나라도 반대로 변했다 신호방향으로 돌아서면 신호 발생이 되는 조건으로 알고있는데... 신호 조건이 되어도 신호 발생이 안되는것 같은데... 혹, 오류가 있는지 검토부탁드립니다. 2.data1은 틱봉이고 data2는 5분봉 data3는 30분봉을 참조하고있읍니다. 근데 지표발표나 급등락이 있을때 5, 30분동안 틱봉의 봉이 갯수가 많아도 신호발생이 되질않는데.. 이를 보정할 방법이 있는지요? data2의 5분봉이 완성이 되기 전이라도 조건이 맞으면 신호발생이 되게 부탁드립니다. ( 청산조건도 같이 부탁드립니다.)
프로필 이미지

예스스탁 예스스탁 답변

2015-11-09 15:54:34

안녕하세요 예스스탁입니다. 예 맞습니다. 아래와 같은 구조로 작성하시면 됩니다. Sellcnt = 0; if SROCsig2 < SROCsig2[1] and SonarSig2 < SonarSig2[1] and TSI2 < TSI2[1] and TRIXsig < TRIXsig[1] and SMIS < SMIS[1] and TSI < TSI[1] and mav < mav[1] and mav1 < mav1[1] then Sellcnt = Sellcnt +1; if 매도조건2 then Sellcnt = Sellcnt +1; if 매도조건3 then Sellcnt = Sellcnt +1; if 매도조건4 then Sellcnt = Sellcnt +1; if 매도조건5 then Sellcnt = Sellcnt +1; 즐거운 하루되세요 > vmfha 님이 쓴 글입니다. > 제목 : Re : Re : 문의드립니다. > 제가 설명이 부족했나 보네요... If SROCsig2 < SROCsig2[1] and SonarSig2 < SonarSig2[1] and TSI2 < TSI2[1] and TRIXsig < TRIXsig[1] and SMIS < SMIS[1] and TSI < TSI[1] and mav < mav[1] and mav1 < mav1[1] Then 상기 매도 수식이 1가지 조건입니다. 예스님이 해주신대로 if SROCsig2 < SROCsig2[1] and SonarSig2 < SonarSig2[1] and TSI2 < TSI2[1] and TRIXsig < TRIXsig[1] and SMIS < SMIS[1] and TSI < TSI[1] and mav < mav[1] and mav1 < mav1[1] Then Sellcnt = Sellcnt+1; 이런식으로 조건문을 적용해도 괜찬은지요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다. > 안녕하세요 예스스탁입니다. 1. 올리신 내용에는 매수조건으로 언급하셨는데 수식은 매도식이고 조건도 7가지 입니다. 아래 카운트 하는 내용 참고하셔서 수정보완해 사용하시기 바랍니다. input : 시작시간(120000),끝시간(20000); var : TimeCond(false),Sellcnt(0),Sxcnt(0); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then TimeCond = true; if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then TimeCond = false; #매도 조건만족 횟수 카운트 Sellcnt = 0; if SROCsig2 < SROCsig2[1] Then Sellcnt = Sellcnt+1; if SonarSig2 < SonarSig2[1] Then Sellcnt = Sellcnt+1; if TSI2 < TSI2[1] Then Sellcnt = Sellcnt+1; if TRIXsig < TRIXsig[1] Then Sellcnt = Sellcnt+1; if SMIS < SMIS[1] Then Sellcnt = Sellcnt+1; #매수청산 조건만족 횟수 카운트 SXcnt = 0; if SROCsig2 > SROCsig2[1] Then SXcnt = SXcnt+1; if SonarSig2 > SonarSig2[1] Then SXcnt = SXcnt+1; if TSI2 > TSI2[1] Then SXcnt = SXcnt+1; if TRIXsig > TRIXsig[1] Then SXcnt = SXcnt+1; if SMIS > SMIS[1] Then SXcnt = SXcnt+1; if Sellcnt >= 3 Then{ if entry == 0 or (entry >= 1 and MarketPosition == 1) or (entry >= 1 and MarketPosition == 0 and Condition2 == false) or (entry >= 1 and MarketPosition == 0 and Condition2 == true and countif(TSI > TSI[1] or mav > mav[1],BarsSinceExit(1)) >= 1) Then{ Sell(); } } if SXcnt >= 3 Then ExitShort(); 2 문의하신 내용은 가능하지 않습니다. 수식에서 데이터는 완성봉의 데이터만 사용가능합니다. 즐거운 하루되세요 > vmfha 님이 쓴 글입니다. > 제목 : 문의드립니다. > 1.아래수식은 매수조건입니다. 이와같은방식으로( 지표를 여러개 and 조건)) 조건을 5가지정도 만들어 그중 3가지 조건이 맞으면( 5가지중 아무거나 3가지 이상) 매수신호 발생되게 부탁드립니다. If SROCsig2 < SROCsig2[1] and SonarSig2 < SonarSig2[1] and TSI2 < TSI2[1] and TRIXsig < TRIXsig[1] and SMIS < SMIS[1] and TSI < TSI[1] and mav < mav[1] and mav1 < mav1[1] Then { MessageLog("%s %s %.f",Condition1,Condition2,entry); if entry == 0 or (entry >= 1 and MarketPosition == 1) or (entry >= 1 and MarketPosition == 0 and Condition2 == false) or (entry >= 1 and MarketPosition == 0 and Condition2 == true and countif(TSI > TSI[1] or mav > mav[1] ,BarsSinceExit(1)) >= 1) Then { Sell(); if MarketPosition >= 0 Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } } 청산조건도 마찬가지로 할수있게 부탁드립니다. 또, 매매시간을 당일12시~ 다음날 02 까지 변수로 부탁드립니다. ** countif(TSI > TSI[1] or mav > mav[1] or SMIS > SMIS[1] ,BarsSinceExit(1)) >= 1) Then 상기조건은 청산후 다시 지표의 방향이 하나라도 반대로 변했다 신호방향으로 돌아서면 신호 발생이 되는 조건으로 알고있는데... 신호 조건이 되어도 신호 발생이 안되는것 같은데... 혹, 오류가 있는지 검토부탁드립니다. 2.data1은 틱봉이고 data2는 5분봉 data3는 30분봉을 참조하고있읍니다. 근데 지표발표나 급등락이 있을때 5, 30분동안 틱봉의 봉이 갯수가 많아도 신호발생이 되질않는데.. 이를 보정할 방법이 있는지요? data2의 5분봉이 완성이 되기 전이라도 조건이 맞으면 신호발생이 되게 부탁드립니다. ( 청산조건도 같이 부탁드립니다.)