커뮤니티

추가 문의요~ ^^

프로필 이미지
스카스카
2022-02-14 17:32:08
1610
글번호 156280
답변완료
1. 문한반복 진입 아닌거죠? 1회만 추가 진입하는거죠? 어쩔 때 보니까 무한반복 주문 나가던데.. 1회만 추가 진입으로 강제하고 싶어요 2번째 손절후 추가 진입시 반대로는 진입이 되는거 같은데요 추가 진입 시점부터 50포인트(특정포인트) 이익후 본전이면 청산이 가능할까요? 추가 진입은 손절이 있는듯한데 익절 목표가 없는듯 합니다. 익절가도 입력하고 싶습니다. ^^ 감사합니다.~ ----------------------------------------------- 안녕하세요 예스스탁입니다. 1 손절은 틱수로 지정되게 작성해 드립니다. 설정창의 강제청산에서 손절매를 설정하시면 안됩니다. input: position(1),ntime(160000),vol(1),xtime(55800),손절틱수(30); var : ST(0); if Bdate != Bdate[1] Then { ST = sTime; } if ST > 0 then { if (sdate != sdate[1] and stime >= ntime) or (sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then { if position == 1 Then Buy("매수",OnClose,DEf,vol); if position == -1 Then Sell("매도",OnClose,DEf,vol); } } IF Xtime > ST Then SetStopEndofday(Xtime); Else { if sDate != sDate[1] Then SetStopEndofday(Xtime); } if (sdate != sdate[1] and stime >= ST) or (sdate == sdate[1] and stime >= ST and stime[1] < ST) Then { IF Xtime <= ST Then { SetStopEndofday(0); } } if MarketPosition == 1 Then Sell("bs",AtStop,EntryPrice-PriceScale*손절틱수); if MarketPosition == -1 Then Buy("sb",AtStop,EntryPrice+PriceScale*손절틱수); 2 2번 손절후 동일방향 즉시 재진입은 가능하지 않습니다. 랭귀지 체계상 청산후 바로 동일방향 진입이 발생하면 해당 진입이 다시 청산됩니다. 랭귀지 도움말의 예스랭귀지 활용--> 신호체계 내용을 확인하시기 바랍니다. 이에 따라 2번과 연계된 3번,4번도 가능하지 않습니다. 3 당일청산과 관련해서는 4가지를 확인하셔야 합니다. 별도로 수식적으로 수정하거나 할 부분은 없습니다. 3-1. 당일청산신호가 발생하지 않은 경우 당일청산은 지정한 시간이후에 첫 시세가 발생하면 신호가 발생합니다. 당일청산 신호 자체가 발생하지 않았다면 지정한 시간이후에 시세가 없는 경우입니다. 랭귀지에서 시간은 수신되는 데이타의 시간으로 판별합니다. 지정한 시간이후에 시세가 없으면 당일청산이 발생하지 못합니다. 3-2. 당일청산신호가 발생하고 주문은 집행되었지만 체결이 안된 경우 해당 부분은 신호가 발생하고 주문도 정상적으로 수행된 상태입니다. 다만 주문이 미체결된 내용이므로 시스템 트레이딩 설정창의 부가기능에 시간자동정정기능을 이용해 대응해 보실수 있습니다. 시간자동정정은 신호발생후 N초뒤에 정정하는 내용으로 1차,2차 설정이 가능합니다. 3-3. 당일청산신호가 발생하고 주문은 집행되었지만 주문거부된 경우 해당 부분은 신호가 발생하고 주문도 정상적으로 수행했지만 증거금등의 이유로 거부난 경우입니다. 주문거부 내용을 확인하셔야 합니다. 3-4. 당일청산신호는 발생했지만 주문은 집행안된 경우 해당부분은 주로 설정창의 주문시작신호 때문에 발생합니다. 설정창의 주문시작신호는 [모든신호], [진입신호] 중 택1해서 설정이 됩니다. [모든신호]는 적용이후 발생하는 모든 신호에 대해 주문을 집행하지만 [진입신호]는 시스템 적용 후 진입신호가 발생한 이후부터 주문을 집행하게 됩니다. 즉 [진입신호]는 실제 잔고에 포지션이 없을때 새로운 진입부터 주문을 하기 위한 설정입니다. 주문시작신호를 [진입신호]로 설정한 상태에서 자동매매 중에 설정창을 다시 띄운후에 확인버튼을 클릭하면 이후 다시 다음 진입부터 주문이 집행되므로 적용이후 첫신호가 청산신호이면 신호는 표시되지만 주문집행은 하지 않게 됩니다 그러므로 주문시작신호가 [진입신호]로 설정된 상태에서 자동매매 중에 시스템 트레이딩 설정창을 다시 띄워을 경우에는 주문시작신호를 상황에 따라 [모든신호]나 [진입신호]로 변경하고 적용하셔야 합니다. 즐거운 하루되세요 > 스카스카 님이 쓴 글입니다. > 제목 : 수식 도움 요청드립니다. ^^ > 감사합니다. 아래와 같이 특정시간 진입 수식으로 잘 사용하고 있습니다. input: position(1),ntime(160000),vol(1),xtime(55800); var : ST(0); if Bdate != Bdate[1] Then { ST = sTime; } if ST > 0 then { if (sdate != sdate[1] and stime >= ntime) or (sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then { if position == 1 Then Buy("매수",OnClose,DEf,vol); if position == -1 Then Sell("매도",OnClose,DEf,vol); } } IF Xtime > ST Then SetStopEndofday(Xtime); Else { if sDate != sDate[1] Then SetStopEndofday(Xtime); } if (sdate != sdate[1] and stime >= ST) or (sdate == sdate[1] and stime >= ST and stime[1] < ST) Then { IF Xtime <= ST Then { SetStopEndofday(0); } } 여기에 추가를 부탁드립니다. ^^ 1. 손절매(손절)가 나면 즉시 반대 포지션 진입 (매수 진입 후 청산되면 바로 매도 진입) 2. 손절매(손절)가 나면 즉시 같은 포지션으로 진입 (매수 진입 후 청산되면 바로 같은 방향 진입) 3. 추가 진입은 손익절 포인트가 조절되었으면 좋겠습니다. 4. 추가 진입시 목표가에 도달하지 못하고 정해진 포인트 이상 갔다가 떨어지면 청산 (예: 청산후 재 진입시 50포인트 이익이였다가 본전으로 오면 강제청산) 마지막으로 가끔 청산이 안되던데 무슨 이유가 있을까요? (컴퓨터는 꺼지지 않았습니다) 가끔 xtime(55800) 장 종료시에 청산이 안되는데 무슨 이유가 있을까요? 위 2가지가 안되면서 큰 손실을 입었는데요.. 너무 프로그램을 믿은 탓도 있구요 ㅎㅎ 2000만원 손해(2022년 1월 13일 나스닥)를 보았습니다. 혹시 주의 사항이 있는지 알려주세요~ ^^ 감사합니다~
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-02-15 09:20:22

안녕하세요 예스스탁입니다. 1. 손절매(손절)가 나면 즉시 반대 포지션 진입 (매수 진입 후 청산되면 바로 매도 진입) 질문하신 내용 중 1번 내용으로만 작성해 드린 수식입니다. 진입후 손절되면 계속적으로 반대로 진입합니다. 1회이면 기존의 "매수","매도"라는 이름으로 진입하고 손절일때만 스위칭하게 수정해 드립니다. 스위칭된 진입은 별도로 익절/손절/최소수익을 지정해 청산하게 수정해 드립니다. input: position(1),ntime(160000),vol(1),xtime(55800),손절틱수(30); var : 추가진입익절틱수(100),추가진입최소수익틱수(50),추가진입손절틱수(30); var : ST(0); if Bdate != Bdate[1] Then { ST = sTime; } if ST > 0 then { if (sdate != sdate[1] and stime >= ntime) or (sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then { if position == 1 Then Buy("매수",OnClose,DEf,vol); if position == -1 Then Sell("매도",OnClose,DEf,vol); } } IF Xtime > ST Then SetStopEndofday(Xtime); Else { if sDate != sDate[1] Then SetStopEndofday(Xtime); } if (sdate != sdate[1] and stime >= ST) or (sdate == sdate[1] and stime >= ST and stime[1] < ST) Then { IF Xtime <= ST Then { SetStopEndofday(0); } } if MarketPosition == 1 Then { if IsEntryName("매수") == true Then Sell("bs",AtStop,EntryPrice-PriceScale*손절틱수); if IsEntryName("sb") == true Then { ExitLong("bx1",AtLimit,EntryPrice+PriceScale*추가진입익절틱수); ExitLong("bx2",AtStop,EntryPrice+PriceScale*추가진입손절틱수); if Highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*추가진입최소수익틱수 Then ExitLong("bx3",AtStop,EntryPrice); } } if MarketPosition == -1 Then { if IsEntryName("매도") == true Then Buy("sb",AtStop,EntryPrice+PriceScale*손절틱수); if IsEntryName("bs") == true Then { ExitShort("sx1",AtLimit,EntryPrice-PriceScale*추가진입익절틱수); ExitShort("sx2",AtStop,EntryPrice+PriceScale*추가진입손절틱수); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*추가진입최소수익틱수 Then ExitShort("sx3",AtStop,EntryPrice); } } 즐거운 하루되세요 > 스카스카 님이 쓴 글입니다. > 제목 : 추가 문의요~ ^^ > 1. 문한반복 진입 아닌거죠? 1회만 추가 진입하는거죠? 어쩔 때 보니까 무한반복 주문 나가던데.. 1회만 추가 진입으로 강제하고 싶어요 2번째 손절후 추가 진입시 반대로는 진입이 되는거 같은데요 추가 진입 시점부터 50포인트(특정포인트) 이익후 본전이면 청산이 가능할까요? 추가 진입은 손절이 있는듯한데 익절 목표가 없는듯 합니다. 익절가도 입력하고 싶습니다. ^^ 감사합니다.~ ----------------------------------------------- 안녕하세요 예스스탁입니다. 1 손절은 틱수로 지정되게 작성해 드립니다. 설정창의 강제청산에서 손절매를 설정하시면 안됩니다. input: position(1),ntime(160000),vol(1),xtime(55800),손절틱수(30); var : ST(0); if Bdate != Bdate[1] Then { ST = sTime; } if ST > 0 then { if (sdate != sdate[1] and stime >= ntime) or (sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then { if position == 1 Then Buy("매수",OnClose,DEf,vol); if position == -1 Then Sell("매도",OnClose,DEf,vol); } } IF Xtime > ST Then SetStopEndofday(Xtime); Else { if sDate != sDate[1] Then SetStopEndofday(Xtime); } if (sdate != sdate[1] and stime >= ST) or (sdate == sdate[1] and stime >= ST and stime[1] < ST) Then { IF Xtime <= ST Then { SetStopEndofday(0); } } if MarketPosition == 1 Then Sell("bs",AtStop,EntryPrice-PriceScale*손절틱수); if MarketPosition == -1 Then Buy("sb",AtStop,EntryPrice+PriceScale*손절틱수); 2 2번 손절후 동일방향 즉시 재진입은 가능하지 않습니다. 랭귀지 체계상 청산후 바로 동일방향 진입이 발생하면 해당 진입이 다시 청산됩니다. 랭귀지 도움말의 예스랭귀지 활용--> 신호체계 내용을 확인하시기 바랍니다. 이에 따라 2번과 연계된 3번,4번도 가능하지 않습니다. 3 당일청산과 관련해서는 4가지를 확인하셔야 합니다. 별도로 수식적으로 수정하거나 할 부분은 없습니다. 3-1. 당일청산신호가 발생하지 않은 경우 당일청산은 지정한 시간이후에 첫 시세가 발생하면 신호가 발생합니다. 당일청산 신호 자체가 발생하지 않았다면 지정한 시간이후에 시세가 없는 경우입니다. 랭귀지에서 시간은 수신되는 데이타의 시간으로 판별합니다. 지정한 시간이후에 시세가 없으면 당일청산이 발생하지 못합니다. 3-2. 당일청산신호가 발생하고 주문은 집행되었지만 체결이 안된 경우 해당 부분은 신호가 발생하고 주문도 정상적으로 수행된 상태입니다. 다만 주문이 미체결된 내용이므로 시스템 트레이딩 설정창의 부가기능에 시간자동정정기능을 이용해 대응해 보실수 있습니다. 시간자동정정은 신호발생후 N초뒤에 정정하는 내용으로 1차,2차 설정이 가능합니다. 3-3. 당일청산신호가 발생하고 주문은 집행되었지만 주문거부된 경우 해당 부분은 신호가 발생하고 주문도 정상적으로 수행했지만 증거금등의 이유로 거부난 경우입니다. 주문거부 내용을 확인하셔야 합니다. 3-4. 당일청산신호는 발생했지만 주문은 집행안된 경우 해당부분은 주로 설정창의 주문시작신호 때문에 발생합니다. 설정창의 주문시작신호는 [모든신호], [진입신호] 중 택1해서 설정이 됩니다. [모든신호]는 적용이후 발생하는 모든 신호에 대해 주문을 집행하지만 [진입신호]는 시스템 적용 후 진입신호가 발생한 이후부터 주문을 집행하게 됩니다. 즉 [진입신호]는 실제 잔고에 포지션이 없을때 새로운 진입부터 주문을 하기 위한 설정입니다. 주문시작신호를 [진입신호]로 설정한 상태에서 자동매매 중에 설정창을 다시 띄운후에 확인버튼을 클릭하면 이후 다시 다음 진입부터 주문이 집행되므로 적용이후 첫신호가 청산신호이면 신호는 표시되지만 주문집행은 하지 않게 됩니다 그러므로 주문시작신호가 [진입신호]로 설정된 상태에서 자동매매 중에 시스템 트레이딩 설정창을 다시 띄워을 경우에는 주문시작신호를 상황에 따라 [모든신호]나 [진입신호]로 변경하고 적용하셔야 합니다. 즐거운 하루되세요 > 스카스카 님이 쓴 글입니다. > 제목 : 수식 도움 요청드립니다. ^^ > 감사합니다. 아래와 같이 특정시간 진입 수식으로 잘 사용하고 있습니다. input: position(1),ntime(160000),vol(1),xtime(55800); var : ST(0); if Bdate != Bdate[1] Then { ST = sTime; } if ST > 0 then { if (sdate != sdate[1] and stime >= ntime) or (sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then { if position == 1 Then Buy("매수",OnClose,DEf,vol); if position == -1 Then Sell("매도",OnClose,DEf,vol); } } IF Xtime > ST Then SetStopEndofday(Xtime); Else { if sDate != sDate[1] Then SetStopEndofday(Xtime); } if (sdate != sdate[1] and stime >= ST) or (sdate == sdate[1] and stime >= ST and stime[1] < ST) Then { IF Xtime <= ST Then { SetStopEndofday(0); } } 여기에 추가를 부탁드립니다. ^^ 1. 손절매(손절)가 나면 즉시 반대 포지션 진입 (매수 진입 후 청산되면 바로 매도 진입) 2. 손절매(손절)가 나면 즉시 같은 포지션으로 진입 (매수 진입 후 청산되면 바로 같은 방향 진입) 3. 추가 진입은 손익절 포인트가 조절되었으면 좋겠습니다. 4. 추가 진입시 목표가에 도달하지 못하고 정해진 포인트 이상 갔다가 떨어지면 청산 (예: 청산후 재 진입시 50포인트 이익이였다가 본전으로 오면 강제청산) 마지막으로 가끔 청산이 안되던데 무슨 이유가 있을까요? (컴퓨터는 꺼지지 않았습니다) 가끔 xtime(55800) 장 종료시에 청산이 안되는데 무슨 이유가 있을까요? 위 2가지가 안되면서 큰 손실을 입었는데요.. 너무 프로그램을 믿은 탓도 있구요 ㅎㅎ 2000만원 손해(2022년 1월 13일 나스닥)를 보았습니다. 혹시 주의 사항이 있는지 알려주세요~ ^^ 감사합니다~