커뮤니티

문의드립니다.

프로필 이미지
카르마다
2020-12-28 10:46:05
657
글번호 144930
답변완료
1. 5/20 이평선 골든 또는 데드클로스시 2계약 선물매수 또는 매도 진입후 1개는 빠른 분할익절 또는 손절을 하는데 이후 남은 1계약은 트레일링스탑으로 매수/매도 진입후 30틱 수익후 15틱 밀리면 익절청산으로 하되 30틱 수익후 15틱 밀리지않고 계속 상승하여 50틱 이상 수익이 나면 그뒤부터는 25틱이 밀리면 익절청산하고 싶습니다. 2. 선물매매에서 2계약 진입후 N봉뒤에 var1와 var2의 상하 위치에 따라 전량 청산을 하고 싶습니다. 즉 var1이 var2보다 N봉뒤에 아래에 가있고 Value1 < Value1[1]이면 전량 청산하라. 반대도 마찬가지인 수식을 만들고 싶어 아래처럼 만들었더니 Value1 < Value1[1]만 적용되어 올청되어 버립니다. 한번 봐주시면 감사하겠습니다. // 진입후 몇봉(N2)뒤 조건을 만족하면 바로 올청 var : N(3); if CountIf(Var1 < var2,N) == N and Value1 < Value1[1] Then ExitLong("매수올청" ,AtStop ,def); if CountIf(Var1 > var2,N) == N and Value1 > Value1[1] Then ExitShort("매도올청" ,AtStop ,def); 늘 노고에 감사드립니다. 그리고 새해 복많이 받으시기 바랍니다!
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-12-28 15:07:36

안녕하세요 예스스탁입니다. 1 input : P1(5),P2(20),익절틱(20),손절틱(20); input : 최소수익틱1(30),수익감소틱1(15); input : 최소수익틱2(50),수익감소틱2(25); var : HH(0),LL(0); var1 = ma(C,P1); Var2 = ma(C,P2); if CrossUp(var1,Var2) Then Buy("b",OnClose,DEF,2); if CrossDown(var1,Var2) Then Sell("s",OnClose,DEF,2); if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,EntryPrice+PriceScale*익절틱,"",1,1); ExitLong("Bl",AtLimit,EntryPrice-PriceScale*손절틱,"",1,1); hh = Highest(H,BarsSinceEntry); if hh >= EntryPrice+PriceScale*최소수익틱1 and hh < EntryPrice+PriceScale*최소수익틱2 Then ExitLong("bx1",AtStop,hh-PriceScale*수익감소틱1); if hh >= EntryPrice+PriceScale*50 Then ExitLong("bx2",AtStop,hh-PriceScale*수익감소틱2); } if MarketPosition == -1 Then { ExitShort("Sp",AtLimit,EntryPrice-PriceScale*익절틱,"",1,1); ExitShort("Sl",AtLimit,EntryPrice+PriceScale*손절틱,"",1,1); ll = lowest(l,BarsSinceEntry); if ll <= EntryPrice-PriceScale*최소수익틱1 and ll > EntryPrice-PriceScale*최소수익틱2 Then ExitShort("sx1",AtStop,ll+PriceScale*수익감소틱1); if ll <= EntryPrice-PriceScale*50 Then ExitShort("sx2",AtStop,ll+PriceScale*수익감소틱2); } 2 진입후 n봉뒤이면 아래와 같이 작성하셔야 합니다. // 진입후 몇봉(N2)뒤 조건을 만족하면 바로 올청 var : N(3); if MarketPosition == 1 and BarsSinceEntry >= n and Var1 < var2 and Value1 < Value1[1] Then ExitLong("매수올청"); if MarketPosition == -1 and BarsSinceEntry >= n and Var1 > var2 and Value1 > Value1[1] Then ExitShort("매도올청"); 진입후 n봉뒤 var1과 var2가 연속으로 n봉 만족해야 하면 아래와 같습니다. // 진입후 몇봉(N2)뒤 조건을 만족하면 바로 올청 var : N(3); if MarketPosition == 1 and BarsSinceEntry >= n and CountIf(Var1 < var2,N) == N and Value1 < Value1[1] Then ExitLong("매수올청"); if MarketPosition == -1 and BarsSinceEntry >= n and CountIf(Var1 > var2,N) == Nand Value1 > Value1[1] Then ExitShort("매도올청"); 즐거운 하루되세요 > 카르마다 님이 쓴 글입니다. > 제목 : 문의드립니다. > 1. 5/20 이평선 골든 또는 데드클로스시 2계약 선물매수 또는 매도 진입후 1개는 빠른 분할익절 또는 손절을 하는데 이후 남은 1계약은 트레일링스탑으로 매수/매도 진입후 30틱 수익후 15틱 밀리면 익절청산으로 하되 30틱 수익후 15틱 밀리지않고 계속 상승하여 50틱 이상 수익이 나면 그뒤부터는 25틱이 밀리면 익절청산하고 싶습니다. 2. 선물매매에서 2계약 진입후 N봉뒤에 var1와 var2의 상하 위치에 따라 전량 청산을 하고 싶습니다. 즉 var1이 var2보다 N봉뒤에 아래에 가있고 Value1 < Value1[1]이면 전량 청산하라. 반대도 마찬가지인 수식을 만들고 싶어 아래처럼 만들었더니 Value1 < Value1[1]만 적용되어 올청되어 버립니다. 한번 봐주시면 감사하겠습니다. // 진입후 몇봉(N2)뒤 조건을 만족하면 바로 올청 var : N(3); if CountIf(Var1 < var2,N) == N and Value1 < Value1[1] Then ExitLong("매수올청" ,AtStop ,def); if CountIf(Var1 > var2,N) == N and Value1 > Value1[1] Then ExitShort("매도올청" ,AtStop ,def); 늘 노고에 감사드립니다. 그리고 새해 복많이 받으시기 바랍니다!