커뮤니티

문의드립니다

프로필 이미지
사이버
2023-03-06 11:05:22
910
글번호 166930
답변완료
안녕하세요? 코딩부탁합니다.. 현재 운용계약수가 4계약이라할때 매매하다가 수익나면 계약수 50프로증가, 손실나면 계약수 50프로감소.. 매수는 스토케스틱(5,3,3)이 골드날때 매도는 스토게스틱(5,3,3)이 데드날때 청산은 트레일링 청산 감사합니다..
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-03-06 14:32:39

안녕하세요 예스스탁입니다. 연속손실시 수량이 1미만이 될수 있습니다.최소값은 1이되게 작성해 드립니다. 또한 1계약에서 1.5배하면 수량이 1.5입니다. 소숫점을 잘라나면 이후 계속 1계약으로만 들어가게 됩니다. 소숫점 이하가 있으면 모두 올림하게 작성해 드립니다. Input : Period(12), Period1(5), Period2(5),기본수량(4); input : 최소수익틱수(20),수익감소틱수(10); var : SK(0),SD(0),vol(0); SK = StochasticsK(Period,Period1); SD = StochasticsD(Period,Period1,Period2); If CrossUP(SK,SD) Then { if MarketPosition == 0 Then { if TotalTrades == 0 Then vol = 기본수량; Else { if PositionProfit(1) > 0 Then vol = vol*1.5; Else if PositionProfit(1) < 0 Then vol = max(1,vol*0.5); Else vol = vol; } } Else { if PositionProfit(0) > 0 Then vol = vol*1.5; Else if PositionProfit(0) < 0 Then vol = max(1,vol*0.5); Else vol = vol; } Buy("b",OnClose,Def,vol); } If CrossDown(SK,SD) Then { if MarketPosition == 0 Then { if TotalTrades == 0 Then vol = 기본수량; Else { if PositionProfit(1) > 0 Then vol = Ceiling(vol*1.5); Else if PositionProfit(1) < 0 Then vol = max(1,Ceiling(vol*0.5)); Else vol = vol; } } Else { if PositionProfit(0) > 0 Then vol = Ceiling(vol*1.5); Else if PositionProfit(0) < 0 Then vol = max(1,Ceiling(vol*0.5)); Else vol = vol; } sell("s",OnClose,Def,vol); } SetStopTrailing(수익감소틱수, 최소수익틱수,PointStop); 즐거운 하루되세요 > 사이버 님이 쓴 글입니다. > 제목 : 문의드립니다 > 안녕하세요? 코딩부탁합니다.. 현재 운용계약수가 4계약이라할때 매매하다가 수익나면 계약수 50프로증가, 손실나면 계약수 50프로감소.. 매수는 스토케스틱(5,3,3)이 골드날때 매도는 스토게스틱(5,3,3)이 데드날때 청산은 트레일링 청산 감사합니다..