커뮤니티

수식 요청드립니다.

프로필 이미지
비류천
2024-10-03 20:21:06
646
글번호 183951
답변완료
수식에 아래조건을 추가요청드립니다. 옵션매매에 사용합니다. 참고로 매수만 있고 매도는 없습니다. 추가1 옵션가격대별 매수수량 1) 가격이 0.01~0.1 일때 10개 2) 가격이 0.11~0.5 일때 6개 3) 가격이 0.51~1.0 일때 4개 4) 가격이 1.01 이상 일때 1개 추가2 익절조건 매수후 120% 수익시 절반익절 200% 수익시 나머지 모두청산 매수수량이 1개일때는 200% 에서 청산 추가3 진입횟수 변수로 설정 2번만 진입으로 변수설정 추가4 청산시 (손매매로 미리 청산 했으면 보유수량이 없을때는 매도되지 않게 가능한가요?) (가능하다면 청산수식에 넣어주세요.) ※ 각줄의 수식에 주석을 부탁드립니다. --------수식----------------------------------- Input:Multiplier(70),Period(2); #input : 당일진입횟수(3); Input:당일청산시간(151900),매수종료시간(141500) ; var : b(0),s(0); Var :atr_val(0),UpperBand(0),LowerBand(0),FinalUpperBand(0),FinalLowerBand(0),SuperTrend(0); var : entry(0),vv(0); If CurrentBar > 0 Then { atr_val = Ema(Max(C[1],H) - Min(C[1],L) , Period); UpperBand = (H + L) / 2 + Multiplier * atr_val; LowerBand = (H + L) / 2 - Multiplier * atr_val; If UpperBand < FinalUpperBand[1] or C[1] > FinalUpperBand[1] Then FinalUpperBand = UpperBand; If LowerBand > FinalLowerBand[1] or C[1] < FinalLowerBand[1] Then FinalLowerBand = LowerBand; If SuperTrend[1] == FinalUpperBand[1] and C <= FinalUpperBand Then SuperTrend = FinalUpperBand; Else If SuperTrend[1] == FinalUpperBand[1] and C > FinalUpperBand Then SuperTrend = FinalLowerBand; Else If SuperTrend[1] == FinalLowerBand[1] and C >= FinalLowerBand Then SuperTrend = FinalLowerBand; Else If SuperTrend[1] == FinalLowerBand[1] and C < FinalLowerBand Then SuperTrend = FinalUpperBand; #Plot1(SuperTrend,"Super Trend",IFF(SuperTrend > C,Blue,Red),Def,3); } # 매수/매도청산 If sTime < 매수종료시간 and SuperTrend < C Then { Buy(); } # 매도/매수청산 If sTime < 당일청산시간 and SuperTrend > C Then { ExitLong(); } #50%손실이면 전량청산 #SetStopLoss(Loss,PercentStop); #당일청산 SetStopEndofday(당일청산시간); -------------------------------------------------
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-10-07 10:30:55

안녕하세요 예스스탁입니다. 수동주문여부는 수식에서 알수 없습니다. Input:Multiplier(70),Period(2),Per1(120),per2(200); input : 당일진입횟수(2); Input:당일청산시간(151900),매수종료시간(141500) ; var : b(0),s(0); Var :atr_val(0),UpperBand(0),LowerBand(0),FinalUpperBand(0),FinalLowerBand(0),SuperTrend(0); var : entry(0),vv(0); if Bdate != Bdate[1] Then entry = 0; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; If CurrentBar > 0 Then { atr_val = Ema(Max(C[1],H) - Min(C[1],L) , Period); UpperBand = (H + L) / 2 + Multiplier * atr_val; LowerBand = (H + L) / 2 - Multiplier * atr_val; If UpperBand < FinalUpperBand[1] or C[1] > FinalUpperBand[1] Then FinalUpperBand = UpperBand; If LowerBand > FinalLowerBand[1] or C[1] < FinalLowerBand[1] Then FinalLowerBand = LowerBand; If SuperTrend[1] == FinalUpperBand[1] and C <= FinalUpperBand Then SuperTrend = FinalUpperBand; Else If SuperTrend[1] == FinalUpperBand[1] and C > FinalUpperBand Then SuperTrend = FinalLowerBand; Else If SuperTrend[1] == FinalLowerBand[1] and C >= FinalLowerBand Then SuperTrend = FinalLowerBand; Else If SuperTrend[1] == FinalLowerBand[1] and C < FinalLowerBand Then SuperTrend = FinalUpperBand; #Plot1(SuperTrend,"Super Trend",IFF(SuperTrend > C,Blue,Red),Def,3); } if c <= 0.1 Then vv = 10; Else if c > 0.1 and C <= 0.5 Then vv = 6; Else if c > 0.5 and C <= 1.0 Then vv = 4; Else vv = 1; # 매수/매도청산 If MarketPosition == 0 and entry < 당일진입횟수 and sTime < 매수종료시간 and SuperTrend < C Then { Buy("b",OnClose,Def,vv); } if MarketPosition == 1 Then { if MaxContracts > 1 Then { ExitLong("bx1",AtLimit,EntryPrice*(1+Per1/100),"",Floor(MaxContracts*0.5),1); } ExitLong("bx",AtLimit,EntryPrice*(1+Per2/100)); # 매도/매수청산 If sTime < 당일청산시간 and SuperTrend > C Then { ExitLong(); } } #50%손실이면 전량청산 #SetStopLoss(Loss,PercentStop); #당일청산 SetStopEndofday(당일청산시간); 즐거운 하루되세요 > 비류천 님이 쓴 글입니다. > 제목 : 수식 요청드립니다. > 수식에 아래조건을 추가요청드립니다. 옵션매매에 사용합니다. 참고로 매수만 있고 매도는 없습니다. 추가1 옵션가격대별 매수수량 1) 가격이 0.01~0.1 일때 10개 2) 가격이 0.11~0.5 일때 6개 3) 가격이 0.51~1.0 일때 4개 4) 가격이 1.01 이상 일때 1개 추가2 익절조건 매수후 120% 수익시 절반익절 200% 수익시 나머지 모두청산 매수수량이 1개일때는 200% 에서 청산 추가3 진입횟수 변수로 설정 2번만 진입으로 변수설정 추가4 청산시 (손매매로 미리 청산 했으면 보유수량이 없을때는 매도되지 않게 가능한가요?) (가능하다면 청산수식에 넣어주세요.) ※ 각줄의 수식에 주석을 부탁드립니다. --------수식----------------------------------- Input:Multiplier(70),Period(2); #input : 당일진입횟수(3); Input:당일청산시간(151900),매수종료시간(141500) ; var : b(0),s(0); Var :atr_val(0),UpperBand(0),LowerBand(0),FinalUpperBand(0),FinalLowerBand(0),SuperTrend(0); var : entry(0),vv(0); If CurrentBar > 0 Then { atr_val = Ema(Max(C[1],H) - Min(C[1],L) , Period); UpperBand = (H + L) / 2 + Multiplier * atr_val; LowerBand = (H + L) / 2 - Multiplier * atr_val; If UpperBand < FinalUpperBand[1] or C[1] > FinalUpperBand[1] Then FinalUpperBand = UpperBand; If LowerBand > FinalLowerBand[1] or C[1] < FinalLowerBand[1] Then FinalLowerBand = LowerBand; If SuperTrend[1] == FinalUpperBand[1] and C <= FinalUpperBand Then SuperTrend = FinalUpperBand; Else If SuperTrend[1] == FinalUpperBand[1] and C > FinalUpperBand Then SuperTrend = FinalLowerBand; Else If SuperTrend[1] == FinalLowerBand[1] and C >= FinalLowerBand Then SuperTrend = FinalLowerBand; Else If SuperTrend[1] == FinalLowerBand[1] and C < FinalLowerBand Then SuperTrend = FinalUpperBand; #Plot1(SuperTrend,"Super Trend",IFF(SuperTrend > C,Blue,Red),Def,3); } # 매수/매도청산 If sTime < 매수종료시간 and SuperTrend < C Then { Buy(); } # 매도/매수청산 If sTime < 당일청산시간 and SuperTrend > C Then { ExitLong(); } #50%손실이면 전량청산 #SetStopLoss(Loss,PercentStop); #당일청산 SetStopEndofday(당일청산시간); -------------------------------------------------