커뮤니티

시스템식 요청드립니다.

프로필 이미지
맴맴잉
2023-05-02 00:44:31
813
글번호 168620
답변완료
질문이 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 이건 무슨 뜻인가요??