커뮤니티

시스템식 부탁드립니다.

프로필 이미지
양치기
2024-01-05 11:01:08
942
글번호 175462
답변완료
항상 도움 주셔서 감사합니다. 종목 : 해외선물 요청사항 : 아래식은 매수인 경우 가격이 하락 할때마다 추가 매수가 들어가는 로직입니다. 추가 매수가 들어갈 때마다 해당 매수가격을 수평라인으로 표시하고 싶습니다. 청산되면 매수 라인을 지우고 싶습니다. 시스템식 수정 부탁드립니다. input : Pst(1); // 매수,매도 input : gap(10), pt(20), multi(0.7); var : vol(0),v1(0),T(0); value1 = gap/PointValue; //최초 진입간격 value2 = pt/PointValue; if pst == 1 Then { if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then { vol = 1; Buy("b",OnClose,Def,vol); } if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then { v1 = CurrentContracts-CurrentContracts[1]; if MaxEntries == 1 Then T = value1; Else T = T+Round(T*0.5,0); MessageLog("%.2f",T); } vol = Round(v1+v1*multi,0); Buy("bb",AtLimit,EntryPrice(0)-PriceScale*T,vol); ExitLong("bp",AtLimit,AvgEntryPrice+PriceScale*Value2); } } 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-05 15:51:50

안녕하세요 예스스탁입니다. input : Pst(1); // 매수,매도 input : gap(10), pt(20), multi(0.7); var : vol(0),v1(0),T(0),cnt(0); Array : TL[50](0),EP[50](0);; value1 = gap/PointValue; //최초 진입간격 value2 = pt/PointValue; if pst == 1 Then { if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then { vol = 1; Buy("b",OnClose,Def,vol); } if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then { v1 = CurrentContracts-CurrentContracts[1]; if MaxEntries == 1 Then T = value1; Else T = T+Round(T*0.5,0); MessageLog("%.2f",T); EP[MaxEntries] = LatestEntryPrice(0); TL[MaxEntries] = TL_New(sDate,sTime,EP[MaxEntries],NextBarSdate,NextBarStime,EP[MaxEntries]); } Else { For cnt = 1 to MaxEntries { TL_SetEnd(TL[cnt],NextBarSdate,NextBarStime,EP[cnt]); } } vol = Round(v1+v1*multi,0); Buy("bb",AtLimit,EntryPrice(0)-PriceScale*T,vol); ExitLong("bp",AtLimit,AvgEntryPrice+PriceScale*Value2); } Else { For cnt = 0 to 49 { TL_Delete(TL[cnt]); } } } 즐거운 하루되세요 > 양치기 님이 쓴 글입니다. > 제목 : 시스템식 부탁드립니다. > 항상 도움 주셔서 감사합니다. 종목 : 해외선물 요청사항 : 아래식은 매수인 경우 가격이 하락 할때마다 추가 매수가 들어가는 로직입니다. 추가 매수가 들어갈 때마다 해당 매수가격을 수평라인으로 표시하고 싶습니다. 청산되면 매수 라인을 지우고 싶습니다. 시스템식 수정 부탁드립니다. input : Pst(1); // 매수,매도 input : gap(10), pt(20), multi(0.7); var : vol(0),v1(0),T(0); value1 = gap/PointValue; //최초 진입간격 value2 = pt/PointValue; if pst == 1 Then { if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then { vol = 1; Buy("b",OnClose,Def,vol); } if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then { v1 = CurrentContracts-CurrentContracts[1]; if MaxEntries == 1 Then T = value1; Else T = T+Round(T*0.5,0); MessageLog("%.2f",T); } vol = Round(v1+v1*multi,0); Buy("bb",AtLimit,EntryPrice(0)-PriceScale*T,vol); ExitLong("bp",AtLimit,AvgEntryPrice+PriceScale*Value2); } } 감사합니다.