답변완료
질문 올립니다.
안녕하세요. 항상 감사 드립니다.
1.
시스템을 작동시킨 후,
가령 매수 신호가 나왔을 때 실제로 매수 진입되어 현재 롱포지션 1계약 보유 중이라고 할 때,
가격이 잘 올라 가다가 내려 오기 시작하여 수동으로 청산을 해서,
실제로는 이제 무포지션이 되었지만, 시스템 모니터 상에서는 아직도 매수 포지션 보유상태로 유지가 됩니다. ((즉 이 다음에는, 이 가상의 매수 포지션을 청산하는 ExitLong 신호가 나와서, 매도 주문이 나가게 될 상황입니다...))
이 때, 이 것을 수동이나 여하튼 어떤 방법으로든, 무포지션 상태로 환원(=변경)시킬 수 있는 방법이 있는지요?
((그래야 새로운 상황에서 또 매수 신호든 매도 신호든 새로운 신호가 나오면, 새롭게 그 때부터 그에 맞는 포지션이 구축될 수 있도록요...))
2. 거의 같은 질문입니다만,
시스템을 켜자 마자 시스템 모니터 상에서 현재 가령 매도포지션 1계약 이렇게 표시될 때, 실제로는 진입이 안 되어 있어서 현재 실제 무포지션이므로,
시스템 모니터 상으로도 무포지션으로 지금 시작될 수 있도록 하는 방법이 있을까요?
감사합니다!
2020-02-25
398
글번호 136322
시스템
답변완료
수식 수정 부탁드려요~
해외선물 나스닥 1분봉 기준입니다
사진에 보시는것처럼
매주 월요일마다 진입과 청산이 안되고요
휴장다음날 또한 진입과 청산이 안되네요
한번 돌려보시고 수식 수정 부탁드립니다
//써머타임 변수
var : Summer(False),Year(0);
var : V1(0),V2(0),V3(0),V4(0);
var: Tcond(False);
//써머타임 변수
input: p(20);
var1 = ma(c,20);
// 써머타임
if sdate != sdate[1] Then
{
Year = Floor(sdate/10000);
V1 = (10000 * Year) + (100 * 3) + 1;
V2 = 15 - dayofweek(v1); // 3월 두번째 일요일 날짜
v3 = (10000 * Year) + (100 * 11) + 1;
v4 = 8 - dayofweek(v3); // 11월 첫번째 일요일 날짜
Summer = (sdate > (10000 * Year) + (100 * 3) + v2) And (sdate < (10000 * Year) + (100 * 11) + v4);
}
// 써머타임
// 써머타임 3월~11월
if Summer == true then{
if (sdate != sdate[1] and stime >= 070000) or
(sdate == sdate[1] and stime >= 070000 and stime[1] < 070000) then
{
Tcond = true;
}
if sdate == 20190419 then { //써머 휴일청산
if (sdate != sdate[1] and stime >= 054500) or
(sdate == sdate[1] and stime >= 054500 and stime[1] < 054500) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("써머휴일매수청");
if MarketPosition == -1 Then
ExitShort("써머휴일매도청");
}
}
else if sdate == 20190528 or sdate == 20190704 or sdate == 20190705 or sdate == 20190903 then { //써머 조기장
if (sdate != sdate[1] and stime >= 014500) or
(sdate == sdate[1] and stime >= 014500 and stime[1] < 014500) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("써머조기장매수청");
if MarketPosition == -1 Then
ExitShort("써머조기장매도청");
}
}
else {
if (sdate != sdate[1] and stime >= 054500 ) or
(sdate == sdate[1] and stime >= 054500 and stime[1] < 054500 ) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("써머매수청");
if MarketPosition == -1 Then
ExitShort("써머매도청");
}
}
}
Else { //11월~3월까지
if (sdate != sdate[1] and stime >= 080000) or
(sdate == sdate[1] and stime >= 080000 and stime[1] < 080000) then
{
Tcond = true;
}
if sdate == 20190101 or sdate == 20200101 then { //노써머 휴일청산
if (sdate != sdate[1] and stime >= 064500) or
(sdate == sdate[1] and stime >= 064500 and stime[1] < 064500) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("노써머휴일매수청");
if MarketPosition == -1 Then
ExitShort("노써머휴일매도청");
}
}
else if sdate == 20190122 or sdate == 20190219 or sdate == 20191129 or sdate == 20191130 or sdate == 20191225
or sdate == 20200121 or sdate == 20200218 then { //노써머 조기장
if (sdate != sdate[1] and stime >= 024500) or
(sdate == sdate[1] and stime >= 024500 and stime[1] < 024500) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("노써머조기장매수청");
if MarketPosition == -1 Then
ExitShort("노써머조기장매도청");
}
}
else{
if (sdate != sdate[1] and stime >= 064500 ) or
(sdate == sdate[1] and stime >= 064500 and stime[1] < 064500 ) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("노써머매수청");
if MarketPosition == -1 Then
ExitShort("노써머매도청");
}
}
}
// 써머타임
//--------- 진입 로직 ---------//
If Tcond == true Then
{
if CrossUp(c,var1) Then
buy();
if CrossDown(c,var1) Then
sell();
}
2020-02-25
302
글번호 136319
시스템