질문이 2개 있는데 부탁드리겠습니다.
질문 1)
아래의 해당식에서 조건을 추가하고 싶은 내용이 있는데 확인 부탁 드리겠습니다.
if MarketPosition == 0 and CrossDown(C,var3) Then
buy("매수1");
위 식에서는 포지션 가지고 있는게 없고, 변수3을 종가가 하향 돌파하면 매수하는 식인데,
추가하고 싶은 조건은
청산한지 30분 후 부터 적용 입니다.
예를들어
오후 11시 20분에 '익절청산' 이 되었다면, 11시 50분 전까지는
변수3을 종가가 하향 돌파하면 매수되지 않다가 50분 이후부터
적용하게 되도록 부탁드립니다.
질문 2)
if MarketPosition == 0 and CrossDown(C,var3) Then
buy("매수1");
if MarketPosition == 0 and CrossUp(C,var1) Then
Sell("매도2");
위의 식처럼 진입식이 있고,
ExitLong("매수-손절",AtStop,AvgEntryPrice-100);
ExitShort("매도-손절",AtStop,AvgEntryPrice+100);
위의 식처럼 손절청산 식이 있습니다.
매수 진입 후 매수-손절 로 청산 되었다면 그 다음은 매도 포지션으로 진입하고 싶어서
진입식을 아래와 같이 수정했습니다.
if MarketPosition == 0 and CrossDown(C,var3)
and IsExitName("매도-손절",1) == true Then
buy("매수1");
이렇게 수정하였더니, 가장 처음 시스템 적용했을때, 앞에 청산이 없어서
적용이 안됩니다.ㅜ.ㅜ
어떻게 적용해야 할까요??
번외) MarketPosition(1) == -1 이건 무슨 뜻인가요??
답변 1
예스스탁
예스스탁 답변
2023-05-02 17:58:45
안녕하세요
예스스탁입니다.
1
if MarketPosition == 0 and CrossDown(C,var3) and
(TotalTrades == 0 or (TotalTrades == 1 and TimeToMinutes(sTime) >= TimeToMinutes(ExitTime(1))+30)) Then
buy("매수1");
2
if MarketPosition == 0 and CrossDown(C,var3) and
(TotalTrades == 0 or (TotalTrades >= 1 and IsExitName("매도-손절",1) == true)) Then
buy("매수1");
if MarketPosition == 0 and CrossUp(C,var1) and
(TotalTrades == 0 or (TotalTrades >= 1 and IsExitName("매수-손절",1) == true)) Then
Sell("매도2");
ExitLong("매수-손절",AtStop,AvgEntryPrice-100);
ExitShort("매도-손절",AtStop,AvgEntryPrice+100);
3
MarketPosition(1)은 직전거래의 포지션방향입니다.
매수면 1, 매도면 -1입니다.
즐거운 하루되세요
> 맴맴잉 님이 쓴 글입니다.
> 제목 : 시스템식 요청드립니다.
> 질문이 2개 있는데 부탁드리겠습니다.
질문 1)
아래의 해당식에서 조건을 추가하고 싶은 내용이 있는데 확인 부탁 드리겠습니다.
if MarketPosition == 0 and CrossDown(C,var3) Then
buy("매수1");
위 식에서는 포지션 가지고 있는게 없고, 변수3을 종가가 하향 돌파하면 매수하는 식인데,
추가하고 싶은 조건은
청산한지 30분 후 부터 적용 입니다.
예를들어
오후 11시 20분에 '익절청산' 이 되었다면, 11시 50분 전까지는
변수3을 종가가 하향 돌파하면 매수되지 않다가 50분 이후부터
적용하게 되도록 부탁드립니다.
질문 2)
if MarketPosition == 0 and CrossDown(C,var3) Then
buy("매수1");
if MarketPosition == 0 and CrossUp(C,var1) Then
Sell("매도2");
위의 식처럼 진입식이 있고,
ExitLong("매수-손절",AtStop,AvgEntryPrice-100);
ExitShort("매도-손절",AtStop,AvgEntryPrice+100);
위의 식처럼 손절청산 식이 있습니다.
매수 진입 후 매수-손절 로 청산 되었다면 그 다음은 매도 포지션으로 진입하고 싶어서
진입식을 아래와 같이 수정했습니다.
if MarketPosition == 0 and CrossDown(C,var3)
and IsExitName("매도-손절",1) == true Then
buy("매수1");
이렇게 수정하였더니, 가장 처음 시스템 적용했을때, 앞에 청산이 없어서
적용이 안됩니다.ㅜ.ㅜ
어떻게 적용해야 할까요??
번외) MarketPosition(1) == -1 이건 무슨 뜻인가요??