커뮤니티

수식 청산 로직좀 부탁 드립니다.(1028)

프로필 이미지
요타
2020-10-29 07:18:35
753
글번호 143466
답변완료
* 변화 많은 선물시장에 어려움이 많습니다.^^ * 그래도 도와 주시니까 조금식 나아가고 있습니다. VAR1 = MA(C,5) ; VAR2 = MA(C,20) ; IF CrossUp(VAR1,VAR2) Then BUY(); IF CrossDown(VAR1,VAR2) Then Sell(); 위수식으로 진입후 아래 청산 수식 좀 요청드립니다. * 청산식 기준 # 공통사항 : 진입후 10봉 단위로 최대수익, 손실을 계산 합니다. Input: 최대수익(50), 최대손실(50); 1. 진입후 10봉이 지나면 최대 수익 과 최대 손실 틱수를 먼저 체크 합니다. EX) 10봉간 최대수익틱수: 12틱 10봉간 최대손실틱수: 8틱 이 나왔다고 가정 하면 2. 이제 11봉 부터 20봉 사이 비교 체크 합니다. 이전 최대 수익(12틱)+ PriceScale*10 을 초과 하면 바로 수익청산 이전 최대 손실(8틱) - PriceScale*10 을 하락 하면 바로 손실청산 3. 2번 수익청산이 아니라면 (진입후 계속 10봉 단위로 비교 체크 해서) 진입후 현재까지 변경된 최대 수익+ PriceScale*10 을 초과 되면 수익청산 진입후 현재까지 변경된 최대 손실- PriceScale*10 을 하락 되면 손실청산 즉 수익청산은 12틱+10틱 = 22틱 이면 바로 청산인데 만약에 11 ~ 20봉 사이에 새로운 최대 수익이 15틱 이었다면 21 ~ 30봉 사이는 15틱 + PriceScale*10 바로 청산 되는것입니다. 4. 위 3번 조건이 아니면 계속 진행 5. 촤대 수익 청산 : SetStopProfittarget(PriceScale*50,PointStop) ; 최대 손실 청산 : SetStopLoss(PriceScale*50,PointStop); * 고맙습니다 수고하십시요.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-10-29 10:07:45

안녕하세요 예스스탁입니다. input : N(10); var : hh(0),ll(0); VAR1 = MA(C,5) ; VAR2 = MA(C,20) ; IF CrossUp(VAR1,VAR2) Then BUY(); #IF CrossDown(VAR1,VAR2) Then Sell(); if MarketPosition == 1 Then { value1 = BarsSinceEntry%10; MessageLog("%.f %.2f",BarsSinceEntry,value1); if BarsSinceEntry >= N Then { if value1 < value1[1] Then { hh = Highest(H,N); ll = lowest(L,N); } ExitLong("bp",AtLimit,hh+PriceScale*10); ExitLong("bl",AtStop,ll-PriceScale*10); } } if MarketPosition == -1 Then { value1 = BarsSinceEntry%10; if BarsSinceEntry >= N Then { if value1 < value1[1] Then { hh = Highest(H,N); ll = lowest(L,N); } ExitShort("sp",AtLimit,ll-PriceScale*10); ExitShort("sl",AtStop,hh+PriceScale*10); } } SetStopProfittarget(PriceScale*50,PointStop) ; SetStopLoss(PriceScale*50,PointStop); 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 수식 청산 로직좀 부탁 드립니다.(1028) > * 변화 많은 선물시장에 어려움이 많습니다.^^ * 그래도 도와 주시니까 조금식 나아가고 있습니다. VAR1 = MA(C,5) ; VAR2 = MA(C,20) ; IF CrossUp(VAR1,VAR2) Then BUY(); IF CrossDown(VAR1,VAR2) Then Sell(); 위수식으로 진입후 아래 청산 수식 좀 요청드립니다. * 청산식 기준 # 공통사항 : 진입후 10봉 단위로 최대수익, 손실을 계산 합니다. Input: 최대수익(50), 최대손실(50); 1. 진입후 10봉이 지나면 최대 수익 과 최대 손실 틱수를 먼저 체크 합니다. EX) 10봉간 최대수익틱수: 12틱 10봉간 최대손실틱수: 8틱 이 나왔다고 가정 하면 2. 이제 11봉 부터 20봉 사이 비교 체크 합니다. 이전 최대 수익(12틱)+ PriceScale*10 을 초과 하면 바로 수익청산 이전 최대 손실(8틱) - PriceScale*10 을 하락 하면 바로 손실청산 3. 2번 수익청산이 아니라면 (진입후 계속 10봉 단위로 비교 체크 해서) 진입후 현재까지 변경된 최대 수익+ PriceScale*10 을 초과 되면 수익청산 진입후 현재까지 변경된 최대 손실- PriceScale*10 을 하락 되면 손실청산 즉 수익청산은 12틱+10틱 = 22틱 이면 바로 청산인데 만약에 11 ~ 20봉 사이에 새로운 최대 수익이 15틱 이었다면 21 ~ 30봉 사이는 15틱 + PriceScale*10 바로 청산 되는것입니다. 4. 위 3번 조건이 아니면 계속 진행 5. 촤대 수익 청산 : SetStopProfittarget(PriceScale*50,PointStop) ; 최대 손실 청산 : SetStopLoss(PriceScale*50,PointStop); * 고맙습니다 수고하십시요.