커뮤니티

질문드립니다.

프로필 이미지
stockric
2017-07-01 19:34:29
153
글번호 110895
답변완료

첨부 이미지

if MarketPosition == -1 then{ if Low <= k60 Then ExitShort(); if countif(CrossDown(c,m3),BarsSinceEntry) >= 1 and CrossUp(C,m3) Then ExitShort(); If ExitName(-1) == "L1매도청산" Then; if countif(CrossDown(c,r1+m4),BarsSinceEntry) >= 1 and CrossUp(C,m5) Then ExitShort(); If ExitName(-1) == "L2매도청산" Then; SetStopLoss(PriceScale*4,PointStop); if stime == 050000 then{ exitlong(); exitshort(); } 1. 이렇게짜면 최종목표가인 k60에서 청산은 되는데 밑 L1매도청산과 L2매도청산이 되질않습니다. 각 선이 밑으로 점점있으면 새로 청산해야하는 선이 갱신되야하는데 말이지요 2. 그리고 시스템 신호에서 매도신호중이고 틱값으로 4틱 절대손절값을 주었을때 매도포지션 보유중에 손절값이 오지않았는데 매수신호가오면 포지션을 정리하고 매수로 들어가버립니다. 3. exitname은 저렇게쓰는게 맞는지요 4. 당일청산 수식을 넣었는데 왜 안되는지요. 시스템 설정에서 설정하면 시그널이 안뜨네요.
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2017-07-03 10:51:35

안녕하세요 예스스탁입니다. 1 가장 최근의 청산명은 ExitName(1)입니다. 매개변수의 설정에 오류가 있습니다. 2 해당 부분은 단순히 반대신호로 리버스되는 것입니다. 매도진입 중 매수신호로, 매수진입중 매도신호로 리버스 되지 않게 하고자 하시면 각 진입식에 MarketPosition == 0 조건 추가하셔야 합니다. 3 청산이나 진입함수등에 -1이라는 매개변수는 없습니다. 가장최근 청산명은 (1)입니다. 예스랭귀지 도움말 다운받으셔서 기본함수들 설명 참고하시기 바랍니다. 4 당일청산은 아래와 같이 별로로 적성하시면 됩니다. 설정창의 강제청산 중 당일청산은 지정한 시간이후에 밤 0시까지 진입을 막게 됩니다. 해외선물이나 국내선물 야간장 포함 거래를 할경우에는 해당 설정사용하지 않고, 아래와 같이 변도로 시간 지정해 if문으로 청산해야 합니다. if MarketPosition == -1 then{ if Low <= k60 Then ExitShort(); if countif(CrossDown(c,m3),BarsSinceEntry) >= 1 and CrossUp(C,m3) Then ExitShort(); If ExitName(1) == "L1매도청산" Then; if countif(CrossDown(c,r1+m4),BarsSinceEntry) >= 1 and CrossUp(C,m5) Then ExitShort(); } SetStopLoss(PriceScale*4,PointStop); if stime == 050000 or (stime > 050000 and stime< 050000) then{ exitlong(); exitshort(); } 즐거운 하루되세요 > stockric 님이 쓴 글입니다. > 제목 : 질문드립니다. > if MarketPosition == -1 then{ if Low <= k60 Then ExitShort(); if countif(CrossDown(c,m3),BarsSinceEntry) >= 1 and CrossUp(C,m3) Then ExitShort(); If ExitName(-1) == "L1매도청산" Then; if countif(CrossDown(c,r1+m4),BarsSinceEntry) >= 1 and CrossUp(C,m5) Then ExitShort(); If ExitName(-1) == "L2매도청산" Then; SetStopLoss(PriceScale*4,PointStop); if stime == 050000 then{ exitlong(); exitshort(); } 1. 이렇게짜면 최종목표가인 k60에서 청산은 되는데 밑 L1매도청산과 L2매도청산이 되질않습니다. 각 선이 밑으로 점점있으면 새로 청산해야하는 선이 갱신되야하는데 말이지요 2. 그리고 시스템 신호에서 매도신호중이고 틱값으로 4틱 절대손절값을 주었을때 매도포지션 보유중에 손절값이 오지않았는데 매수신호가오면 포지션을 정리하고 매수로 들어가버립니다. 3. exitname은 저렇게쓰는게 맞는지요 4. 당일청산 수식을 넣었는데 왜 안되는지요. 시스템 설정에서 설정하면 시그널이 안뜨네요.
프로필 이미지

stockric

2017-07-03 11:38:25

> 예스스탁 님이 쓴 글입니다. > 제목 : Re : 질문드립니다. > 안녕하세요 예스스탁입니다. 1 가장 최근의 청산명은 ExitName(1)입니다. 매개변수의 설정에 오류가 있습니다. 2 해당 부분은 단순히 반대신호로 리버스되는 것입니다. 매도진입 중 매수신호로, 매수진입중 매도신호로 리버스 되지 않게 하고자 하시면 각 진입식에 MarketPosition == 0 조건 추가하셔야 합니다. 3 청산이나 진입함수등에 -1이라는 매개변수는 없습니다. 가장최근 청산명은 (1)입니다. 예스랭귀지 도움말 다운받으셔서 기본함수들 설명 참고하시기 바랍니다. 4 당일청산은 아래와 같이 별로로 적성하시면 됩니다. 설정창의 강제청산 중 당일청산은 지정한 시간이후에 밤 0시까지 진입을 막게 됩니다. 해외선물이나 국내선물 야간장 포함 거래를 할경우에는 해당 설정사용하지 않고, 아래와 같이 변도로 시간 지정해 if문으로 청산해야 합니다. if MarketPosition == -1 then{ if Low <= k60 Then ExitShort(); if countif(CrossDown(c,m3),BarsSinceEntry) >= 1 and CrossUp(C,m3) Then ExitShort(); If ExitName(1) == "L1매도청산" Then; if countif(CrossDown(c,r1+m4),BarsSinceEntry) >= 1 and CrossUp(C,m5) Then ExitShort(); } SetStopLoss(PriceScale*4,PointStop); if stime == 050000 or (stime > 050000 and stime< 050000) then{ exitlong(); exitshort(); } 즐거운 하루되세요 답변 잘 받았습니다. 질문1에 문제는 로직을 어떻게짜야 해결 가능한가요 매개변수에 문제가있다면요? 마켓포지션은 매도는 -1 매수는 1로 받아내지않습니까? 질문1의 요지는 각 라인마다 갱신이 되지않는다는 것이었습니다
프로필 이미지

예스스탁 예스스탁 답변

2017-07-03 13:44:09

안녕하세요 예스스탁입니다. 1 0,1,-1은 리턴값입니다. 매개변수 지정이 아닙니다. MarketPosition도 현재 포지션은 (0),직전은 (1), 전전은 (2)와 같이 지정합니다. 매개변수 지정시 (0)은 생략이 가능합니다. 2 if MarketPosition == -1 then{ if Low <= k60 Then ExitShort(); if countif(CrossDown(c,m3),BarsSinceEntry) >= 1 and CrossUp(C,m3) Then ExitShort(); If ExitName(1) == "L1매도청산" Then{ if countif(CrossDown(c,r1+m4),BarsSinceEntry) >= 1 and CrossUp(C,m5) Then ExitShort(); } If ExitName(1) == "L2매도청산" Then ExitShort("sl",atstop,entryprice+PriceScale*4); } if stime == 050000 or (stime > 050000 and stime< 050000) then{ exitlong(); exitshort(); } 즐거운 하루되세요 > stockric 님이 쓴 글입니다. > 제목 : Re : Re : 질문드립니다. > > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 질문드립니다. > 안녕하세요 예스스탁입니다. 1 가장 최근의 청산명은 ExitName(1)입니다. 매개변수의 설정에 오류가 있습니다. 2 해당 부분은 단순히 반대신호로 리버스되는 것입니다. 매도진입 중 매수신호로, 매수진입중 매도신호로 리버스 되지 않게 하고자 하시면 각 진입식에 MarketPosition == 0 조건 추가하셔야 합니다. 3 청산이나 진입함수등에 -1이라는 매개변수는 없습니다. 가장최근 청산명은 (1)입니다. 예스랭귀지 도움말 다운받으셔서 기본함수들 설명 참고하시기 바랍니다. 4 당일청산은 아래와 같이 별로로 적성하시면 됩니다. 설정창의 강제청산 중 당일청산은 지정한 시간이후에 밤 0시까지 진입을 막게 됩니다. 해외선물이나 국내선물 야간장 포함 거래를 할경우에는 해당 설정사용하지 않고, 아래와 같이 변도로 시간 지정해 if문으로 청산해야 합니다. if MarketPosition == -1 then{ if Low <= k60 Then ExitShort(); if countif(CrossDown(c,m3),BarsSinceEntry) >= 1 and CrossUp(C,m3) Then ExitShort(); If ExitName(1) == "L1매도청산" Then; if countif(CrossDown(c,r1+m4),BarsSinceEntry) >= 1 and CrossUp(C,m5) Then ExitShort(); } SetStopLoss(PriceScale*4,PointStop); if stime == 050000 or (stime > 050000 and stime< 050000) then{ exitlong(); exitshort(); } 즐거운 하루되세요 답변 잘 받았습니다. 질문1에 문제는 로직을 어떻게짜야 해결 가능한가요 매개변수에 문제가있다면요? 마켓포지션은 매도는 -1 매수는 1로 받아내지않습니까? 질문1의 요지는 각 라인마다 갱신이 되지않는다는 것이었습니다