커뮤니티
궁금한게 있습니다~
2012-03-29 13:54:31
391
글번호 49483
Condition1 = ExitDate(1) == sdate and IsExitName("StopProfittarget",1) == true;
if dayindex == 0 Then{
if data2(c) > 7000 Then
buy();
if data2(c) < -7000 Then
sell();
}
if Condition1 == false or (Condition1 == true and countif(CrossDown(data2(c),0) or Crossup(data2(c),0),BarsSinceExit(1)) >= 1) Then{
if crossup(data2(c),7000) Then
buy();
if CrossDown(data2(c),-7000) Then
sell();
}
SetStopLoss(1,PointStop);
SetStopProfittarget(2,PointStop);
SetStopEndofday(150430);
여기서 손절도 익절도 안 난 상태에서 반대신호가 나면 모든걸 청산하고 반대신호를 따라서 재진입되게 부탁을 드렸는데, 적용을 해보니 되기는하는데 코드상에서는 찾아볼수가없습니다. ㅜㅡ
그냥 buy();를 하면 매도 포지션도 청산하고 매수도 하는건가요?
그냥 sell();를 하면 매수 포지션도 모두 청산하고 매도 하는거구요?
몇계약을 돌리건 실전으로 시뮬레이션으로 돌리건 아무 상관없이 반대신호를 따라 전량일괄청산하고 반대방향으로 전량 재진입하나요?
========================================================================
그리고 SetStopEndofday(150430); 으로 장마지막에 청산을 했는데
동시만기날에는 어떻게 하나요? 저절로 청산되면 시스템에서 오류가 나지않을까요?
만기날 마감 한시간 전에 매수주문이 들어갔다고 가정하면 장이 마감하면서 청산이 자동으로 되었다고 쳐도, 다음날 장이 시작할때 시스템은 아직도 매수포지션을 가지고있다고 알고 오류를 내지않을까요?
========================================================================
마지막으로, 하루 매매 횟수를 제한하는 방법을 알고싶습니다!
답변 1
예스스탁 예스스탁 답변
2012-03-29 15:19:12
안녕하세요
예스스탁입니다.
1.
buy와 sell은 반대포지션 상태에서 발동하면
자동으로 반대포지션을 전량청산하고 자기 진입을 합니다.
2.
만기일에 대비해서 아래와 같이 당일청산식 사용하시면 됩니다.
var : va1(0),va2(0),va3(0);
va1 = int(date/100)-int(date/10000)*100;
va2 = date - int(date/100)*100;
va3 = DayOfWeek(date);
if va1%3 == 0 and
va2 >= 8 and va2 <= 14 and
va3 == 4 then
SetStopEndofday(144000);#선물만기일
Else
SetStopEndofday(144000);#만기일이 아닐때
3,
아래는 당일진입횟수 제한 추가한 식입니다. 당일 N회까지 진입합니다.
input : N(3);
var : va1(0),va2(0),va3(0);
var : count(0);
#당일진입횟수계산
Count = 0 ;
for Value1 = 0 to 10 {
if EntryDate( Value1 ) == sdate then
Count = Count + 1;
}
Condition1 = ExitDate(1) == sdate and IsExitName("StopProfittarget",1) == true;
if dayindex == 0 Then{
if data2(c) > 7000 Then
buy();
if data2(c) < -7000 Then
sell();
}
if Condition1 == false or (Condition1 == true and countif(CrossDown(data2(c),0) or Crossup(data2(c),0),BarsSinceExit(1)) >= 1) Then{
if crossup(data2(c),7000) and count < N Then
buy();
if CrossDown(data2(c),-7000) and Count < N Then
sell();
}
SetStopLoss(1,PointStop);
SetStopProfittarget(2,PointStop);
va1 = int(date/100)-int(date/10000)*100;
va2 = date - int(date/100)*100;
va3 = DayOfWeek(date);
if va1%3 == 0 and
va2 >= 8 and va2 <= 14 and
va3 == 4 then
SetStopEndofday(144000);#선물만기일
Else
SetStopEndofday(150430);#만기일이 아닐때
즐거운 하루되세요
> 연어초밥 님이 쓴 글입니다.
> 제목 : 궁금한게 있습니다~
> Condition1 = ExitDate(1) == sdate and IsExitName("StopProfittarget",1) == true;
if dayindex == 0 Then{
if data2(c) > 7000 Then
buy();
if data2(c) < -7000 Then
sell();
}
if Condition1 == false or (Condition1 == true and countif(CrossDown(data2(c),0) or Crossup(data2(c),0),BarsSinceExit(1)) >= 1) Then{
if crossup(data2(c),7000) Then
buy();
if CrossDown(data2(c),-7000) Then
sell();
}
SetStopLoss(1,PointStop);
SetStopProfittarget(2,PointStop);
SetStopEndofday(150430);
여기서 손절도 익절도 안 난 상태에서 반대신호가 나면 모든걸 청산하고 반대신호를 따라서 재진입되게 부탁을 드렸는데, 적용을 해보니 되기는하는데 코드상에서는 찾아볼수가없습니다. ㅜㅡ
그냥 buy();를 하면 매도 포지션도 청산하고 매수도 하는건가요?
그냥 sell();를 하면 매수 포지션도 모두 청산하고 매도 하는거구요?
몇계약을 돌리건 실전으로 시뮬레이션으로 돌리건 아무 상관없이 반대신호를 따라 전량일괄청산하고 반대방향으로 전량 재진입하나요?
========================================================================
그리고 SetStopEndofday(150430); 으로 장마지막에 청산을 했는데
동시만기날에는 어떻게 하나요? 저절로 청산되면 시스템에서 오류가 나지않을까요?
만기날 마감 한시간 전에 매수주문이 들어갔다고 가정하면 장이 마감하면서 청산이 자동으로 되었다고 쳐도, 다음날 장이 시작할때 시스템은 아직도 매수포지션을 가지고있다고 알고 오류를 내지않을까요?
========================================================================
마지막으로, 하루 매매 횟수를 제한하는 방법을 알고싶습니다!
다음글
이전글