커뮤니티

수식 작성부탁드립니다.

프로필 이미지
머어얼
2020-05-27 05:46:53
2162
글번호 139245
답변완료
자꾸 번거롭게 해드려 죄송합니다~ 며칠전 특정 시간대 채널 설정해서 1일 2회 진입 청산하는걸 몇개 삭제하고, 1일 1회로 줄여서 검증하고했는데 제가 지워서는 안될걸 지웠는지 잘 안되는거같습니다.ㅠㅠ 새로 수식 부탁드립니다. 1. 1일 1회만 진입(조건 미충족시 거래없는 날도 있을 수 있음) 2. 특정시간대(09시~09시30분)내에서 단기이동평균선이 장기이동평균선을 상향 돌파시 매수, 하향 돌파시 매도. 3. 익절 30 손절 20 / 강제청산 05시40분 4. 가령 특정시간대가 09시~09시30분으로 설정되었을때 그 시간내에 이동평균선 간의 골든크로스 혹은 데드크로스가 형성되지 않아 신호 미발생 시, 0시가 넘어가면 설정된 특정시간대가 아님에도 불구하고 신호가 나오는 경우가 있고, 0시 이전에 포지션이 진입 된 후, 손절 익절 가격이 오지 않아 0시가 넘어갈 경우 익절 손절이 무시되고 05시40분에 강제청산 되는 경우가 있는데 이런 현상이 없도록 부탁드립니다. 5, 변수편집창에서 특정시간대, 익절, 손절, 강제청산 시간, 단기/장기 이동평균선 수치 편집가능하게 부탁드립니다. 감사합니다~ 좋은하루되세요~
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2020-05-27 11:48:14

안녕하세요 예스스탁입니다. input : P1(5),P2(20),익절(30),손절(20); input : 시작시간1(90000),끝시간1(93000),당일청산(054000); var : Tcond(false),entry(0); if (sdate != sdate[1] and stime >= 시작시간1) or (sdate == sdate[1] and stime >= 시작시간1 and stime[1] < 시작시간1) Then { Tcond = true; entry = 0; } if (sdate != sdate[1] and stime >= 끝시간1) or (sdate == sdate[1] and stime >= 끝시간1 and stime[1] < 끝시간1) Then Tcond = False; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; var1 = ma(C,P1); var2 = ma(C,P2); if MarketPosition == 0 and Tcond == true and entry < 1 Then { if crossup(var1,var2) Then buy("b"); if CrossDown(var1,var2) Then sell("s"); } SetStopProfittarget(익절,PointStop); SetStoploss(손절,PointStop); if sdate != sdate[1] Then SetStopEndofday(당일청산); if bdate != bdate[1] Then SetStopEndofday(0); 즐거운 하루되세요 > 머어얼 님이 쓴 글입니다. > 제목 : 수식 작성부탁드립니다. > 자꾸 번거롭게 해드려 죄송합니다~ 며칠전 특정 시간대 채널 설정해서 1일 2회 진입 청산하는걸 몇개 삭제하고, 1일 1회로 줄여서 검증하고했는데 제가 지워서는 안될걸 지웠는지 잘 안되는거같습니다.ㅠㅠ 새로 수식 부탁드립니다. 1. 1일 1회만 진입(조건 미충족시 거래없는 날도 있을 수 있음) 2. 특정시간대(09시~09시30분)내에서 단기이동평균선이 장기이동평균선을 상향 돌파시 매수, 하향 돌파시 매도. 3. 익절 30 손절 20 / 강제청산 05시40분 4. 가령 특정시간대가 09시~09시30분으로 설정되었을때 그 시간내에 이동평균선 간의 골든크로스 혹은 데드크로스가 형성되지 않아 신호 미발생 시, 0시가 넘어가면 설정된 특정시간대가 아님에도 불구하고 신호가 나오는 경우가 있고, 0시 이전에 포지션이 진입 된 후, 손절 익절 가격이 오지 않아 0시가 넘어갈 경우 익절 손절이 무시되고 05시40분에 강제청산 되는 경우가 있는데 이런 현상이 없도록 부탁드립니다. 5, 변수편집창에서 특정시간대, 익절, 손절, 강제청산 시간, 단기/장기 이동평균선 수치 편집가능하게 부탁드립니다. 감사합니다~ 좋은하루되세요~
프로필 이미지

머어얼

2020-05-27 21:24:13

답변 너무나 감사합니다!! 다름이 아니고 하나 궁금한게 있습니다. 가령 아래 조건으로 포지션이 진입됐을때 손절 및 익절청산도 청산이지만 포지션 진입 후 1시간 내 혹은 10개봉 이내에서 손절 및 익절가격에 도달하지 못하여 포지션 유지중일 경우 1시간 뒤 무조건 청산 혹은 10개 봉 이후에 무조건 청산할 수 있는 수식이 있는지요? 있다면 포지션 진입 뒤 1시간 이내 익절 및 손절 청산이 되지 않는 다면 1시간 뒤 청산, 혹은 진입 뒤 10개 이후에 청산가능하게 끔 각각 수정 부탁드립니다~ 수고하세요~ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 작성부탁드립니다. > 안녕하세요 예스스탁입니다. input : P1(5),P2(20),익절(30),손절(20); input : 시작시간1(90000),끝시간1(93000),당일청산(054000); var : Tcond(false),entry(0); if (sdate != sdate[1] and stime >= 시작시간1) or (sdate == sdate[1] and stime >= 시작시간1 and stime[1] < 시작시간1) Then { Tcond = true; entry = 0; } if (sdate != sdate[1] and stime >= 끝시간1) or (sdate == sdate[1] and stime >= 끝시간1 and stime[1] < 끝시간1) Then Tcond = False; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; var1 = ma(C,P1); var2 = ma(C,P2); if MarketPosition == 0 and Tcond == true and entry < 1 Then { if crossup(var1,var2) Then buy("b"); if CrossDown(var1,var2) Then sell("s"); } SetStopProfittarget(익절,PointStop); SetStoploss(손절,PointStop); if sdate != sdate[1] Then SetStopEndofday(당일청산); if bdate != bdate[1] Then SetStopEndofday(0); 즐거운 하루되세요 > 머어얼 님이 쓴 글입니다. > 제목 : 수식 작성부탁드립니다. > 자꾸 번거롭게 해드려 죄송합니다~ 며칠전 특정 시간대 채널 설정해서 1일 2회 진입 청산하는걸 몇개 삭제하고, 1일 1회로 줄여서 검증하고했는데 제가 지워서는 안될걸 지웠는지 잘 안되는거같습니다.ㅠㅠ 새로 수식 부탁드립니다. 1. 1일 1회만 진입(조건 미충족시 거래없는 날도 있을 수 있음) 2. 특정시간대(09시~09시30분)내에서 단기이동평균선이 장기이동평균선을 상향 돌파시 매수, 하향 돌파시 매도. 3. 익절 30 손절 20 / 강제청산 05시40분 4. 가령 특정시간대가 09시~09시30분으로 설정되었을때 그 시간내에 이동평균선 간의 골든크로스 혹은 데드크로스가 형성되지 않아 신호 미발생 시, 0시가 넘어가면 설정된 특정시간대가 아님에도 불구하고 신호가 나오는 경우가 있고, 0시 이전에 포지션이 진입 된 후, 손절 익절 가격이 오지 않아 0시가 넘어갈 경우 익절 손절이 무시되고 05시40분에 강제청산 되는 경우가 있는데 이런 현상이 없도록 부탁드립니다. 5, 변수편집창에서 특정시간대, 익절, 손절, 강제청산 시간, 단기/장기 이동평균선 수치 편집가능하게 부탁드립니다. 감사합니다~ 좋은하루되세요~
프로필 이미지

예스스탁 예스스탁 답변

2020-05-28 14:57:51

안녕하세요 예스스탁입니다. 진입후 N개봉과 N분 경과시 청산하는 내용을 추가해 드립니다. input : P1(5),P2(20),익절(30),손절(20),Nbars(10),Nminutes(60); input : 시작시간1(90000),끝시간1(93000),당일청산(054000); var : Tcond(false),entry(0); var : S1(0),D1(0),TM(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; } if (sdate != sdate[1] and stime >= 시작시간1) or (sdate == sdate[1] and stime >= 시작시간1 and stime[1] < 시작시간1) Then { Tcond = true; entry = 0; } if (sdate != sdate[1] and stime >= 끝시간1) or (sdate == sdate[1] and stime >= 끝시간1 and stime[1] < 끝시간1) Then Tcond = False; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; var1 = ma(C,P1); var2 = ma(C,P2); if MarketPosition == 0 and Tcond == true and entry < 1 Then { if crossup(var1,var2) Then buy("b"); if CrossDown(var1,var2) Then sell("s"); } if MarketPosition == 1 Then { if BarsSinceEntry == Nbars Then exitlong("N봉후매수청산"); if TM >= TM[BarsSinceEntry]+Nminutes Then exitlong("N분후매수청산"); } if MarketPosition == -1 Then { if BarsSinceEntry == Nbars Then ExitShort("N봉후매도청산"); if TM >= TM[BarsSinceEntry]+Nminutes Then ExitShort("N분후매도청산"); } SetStopProfittarget(익절,PointStop); SetStoploss(손절,PointStop); if sdate != sdate[1] Then SetStopEndofday(당일청산); if bdate != bdate[1] Then SetStopEndofday(0); 즐거운 하루되세요 > 머어얼 님이 쓴 글입니다. > 제목 : Re : Re : 수식 작성부탁드립니다. > 답변 너무나 감사합니다!! 다름이 아니고 하나 궁금한게 있습니다. 가령 아래 조건으로 포지션이 진입됐을때 손절 및 익절청산도 청산이지만 포지션 진입 후 1시간 내 혹은 10개봉 이내에서 손절 및 익절가격에 도달하지 못하여 포지션 유지중일 경우 1시간 뒤 무조건 청산 혹은 10개 봉 이후에 무조건 청산할 수 있는 수식이 있는지요? 있다면 포지션 진입 뒤 1시간 이내 익절 및 손절 청산이 되지 않는 다면 1시간 뒤 청산, 혹은 진입 뒤 10개 이후에 청산가능하게 끔 각각 수정 부탁드립니다~ 수고하세요~ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 작성부탁드립니다. > 안녕하세요 예스스탁입니다. input : P1(5),P2(20),익절(30),손절(20); input : 시작시간1(90000),끝시간1(93000),당일청산(054000); var : Tcond(false),entry(0); if (sdate != sdate[1] and stime >= 시작시간1) or (sdate == sdate[1] and stime >= 시작시간1 and stime[1] < 시작시간1) Then { Tcond = true; entry = 0; } if (sdate != sdate[1] and stime >= 끝시간1) or (sdate == sdate[1] and stime >= 끝시간1 and stime[1] < 끝시간1) Then Tcond = False; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; var1 = ma(C,P1); var2 = ma(C,P2); if MarketPosition == 0 and Tcond == true and entry < 1 Then { if crossup(var1,var2) Then buy("b"); if CrossDown(var1,var2) Then sell("s"); } SetStopProfittarget(익절,PointStop); SetStoploss(손절,PointStop); if sdate != sdate[1] Then SetStopEndofday(당일청산); if bdate != bdate[1] Then SetStopEndofday(0); 즐거운 하루되세요 > 머어얼 님이 쓴 글입니다. > 제목 : 수식 작성부탁드립니다. > 자꾸 번거롭게 해드려 죄송합니다~ 며칠전 특정 시간대 채널 설정해서 1일 2회 진입 청산하는걸 몇개 삭제하고, 1일 1회로 줄여서 검증하고했는데 제가 지워서는 안될걸 지웠는지 잘 안되는거같습니다.ㅠㅠ 새로 수식 부탁드립니다. 1. 1일 1회만 진입(조건 미충족시 거래없는 날도 있을 수 있음) 2. 특정시간대(09시~09시30분)내에서 단기이동평균선이 장기이동평균선을 상향 돌파시 매수, 하향 돌파시 매도. 3. 익절 30 손절 20 / 강제청산 05시40분 4. 가령 특정시간대가 09시~09시30분으로 설정되었을때 그 시간내에 이동평균선 간의 골든크로스 혹은 데드크로스가 형성되지 않아 신호 미발생 시, 0시가 넘어가면 설정된 특정시간대가 아님에도 불구하고 신호가 나오는 경우가 있고, 0시 이전에 포지션이 진입 된 후, 손절 익절 가격이 오지 않아 0시가 넘어갈 경우 익절 손절이 무시되고 05시40분에 강제청산 되는 경우가 있는데 이런 현상이 없도록 부탁드립니다. 5, 변수편집창에서 특정시간대, 익절, 손절, 강제청산 시간, 단기/장기 이동평균선 수치 편집가능하게 부탁드립니다. 감사합니다~ 좋은하루되세요~