커뮤니티

질문있습니다.

프로필 이미지
가마기
2018-01-11 11:48:55
137
글번호 115664
답변완료
1. 질문 1 1번째 특정조건을 만족할 경우 1차매수(매수시 매수량 지정, 매수가는 atlimit함수 사용) 2번째 특정조건을 만족할 경우 2차매수(매수시 매수량 지정, 매수가는 atlimit함수 사용) 이때 1차매수와 2차매수가 된 후 1차매수와 2차매수의 평균가보다 10프로 하락시 청산을 하고 싶어서, ExitLong("stoploss", Atstop, AvgEntryPrice*(1-0.1)); 로 코딩을 하였는데, 1차매수와 2차매수의 평균가에 청산이 되지 않고 엉뚱한 값에서 청산이 되는데, 어떻게 하여야 (1차매수와 2차매수의 평균가)에 청산이 되려면 어떻게 청산관련한 코딩을 하여야 할까요? 2. 질문2 과거 10일간의 거래대금을 알고싶은데, 이것의 변수를 value : DM1(0), DM(1), ....... DM(10) 까지 해서 코딩을 하지 않고, ARRAY : DM[10](0); 의 변수를 사용하여 코딩하는 방법이 있을까요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-01-11 16:46:10

안녕하세요 예스스탁입니다. 1 작성하신 식이 평단가-10% 이하의 시세가 발생하면 청산하는 식이 맞습니다. 수식상으로는 수정해 드릴부분이 없습니다. 1차 매수만 된 상태이면 1차매수가에서 -10% 이하의 시세 2차 매수까지 된 상태이면 평단가에서 -10% 이하의 시세가 발생하면 청산합니다. 2차까지 진입된 이후에만 발생하고자 하시면 아래와 같이 지정해 주시면 됩니다. if MarketPosition == 1 and MaxEntries == 1 Then ExitLong("stoploss", Atstop, AvgEntryPrice*(1-0.1)); 평단가-10%가 아닌 평단가에서 터치시 청산이시면 아래와 같이 작성하시면 됩니다. if MarketPosition == 1 Then{ if NextBarOpen < AvgEntryPrice Then ExitLong("bx1",Atlimit,AvgEntryPrice); Else ExitLong("bx2",AtStop,AvgEntryPrice); } 2 var : cnt(0); ARRAY : DM[10](0); if Bdate != Bdate[1] Then{ DM[0] = 0; for cnt = 1 to 9{ DM[cnt] = DM[cnt-1][1]; } } DM[0] = DM[0]+m; plot1(DM[0],"당일"); plot2(DM[1],"1일전"); plot3(DM[2],"2일전"); 즐거운 하루되세요 > 가마기 님이 쓴 글입니다. > 제목 : 질문있습니다. > 1. 질문 1 1번째 특정조건을 만족할 경우 1차매수(매수시 매수량 지정, 매수가는 atlimit함수 사용) 2번째 특정조건을 만족할 경우 2차매수(매수시 매수량 지정, 매수가는 atlimit함수 사용) 이때 1차매수와 2차매수가 된 후 1차매수와 2차매수의 평균가보다 10프로 하락시 청산을 하고 싶어서, ExitLong("stoploss", Atstop, AvgEntryPrice*(1-0.1)); 로 코딩을 하였는데, 1차매수와 2차매수의 평균가에 청산이 되지 않고 엉뚱한 값에서 청산이 되는데, 어떻게 하여야 (1차매수와 2차매수의 평균가)에 청산이 되려면 어떻게 청산관련한 코딩을 하여야 할까요? 2. 질문2 과거 10일간의 거래대금을 알고싶은데, 이것의 변수를 value : DM1(0), DM(1), ....... DM(10) 까지 해서 코딩을 하지 않고, ARRAY : DM[10](0); 의 변수를 사용하여 코딩하는 방법이 있을까요?