커뮤니티

시스템식 문의드립니다.

프로필 이미지
bigdeal
2015-07-24 14:23:37
114
글번호 88876
답변완료
안녕하세요.. 다음과 같은 시스템식 부탁드립니다. 해외선물(오일) 거래용 입니다 1.진입후 연속손실 2회 이상이면 진입하지 않다가 매수조건, 매도조건을 카운트하여 n번째 부터 진입하는 수식입니다. 2. 진입가격 기준하여 + - 0.1포인트를 구간으로 정하고 이 구간에서 연속손실이 2회이면 이 구간에서는 더이상 진입 금지하고 다음구간으로 상승하거나 하락하면 진입하는 수식입니다.. 수고하세요..
시스템
답변 5
프로필 이미지

예스스탁 예스스탁 답변

2015-07-24 16:55:59

안녕하세요 예스스탁입니다. 1. input : N(3); var : Bcond(false),Scond(false); Bcond = 매수진입조건; Scond = 매도진입조건; Condition1 = false; if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then Condition1 = true; if MarketPosition != 0 and PositionProfit < 0 and PositionProfit(1) < 0 Then Condition1 = true; #매수조건 만족 if Bcond == true and Bcond[1] == false Then{ #무포지션이고 직전거래가 2회연속 손실이 아니면 매수 if MarketPosition == 0 and Condition1 == false Then buy(); #매도포지션이고 직전거래가 2회연속 손실이 아니면 매수 if MarketPosition == -1 and Condition1 == false Then buy(); #매도포지션이고 직전거래가 2회연속 손실이면 매도포지션 청산만 if MarketPosition == -1 and Condition1 == true Then ExitShort(); } #매도조건 만족 if scond == true and Scond[1] == false Then{ #무포지션이고 직전거래가 2회연속 손실이 아니면 매도 if MarketPosition == 0 and Condition1 == false Then Sell(); #매수포지션이고 직전거래가 2회연속 손실이 아니면 매도 if MarketPosition == 1 and Condition1 == false Then sell(); #매수포지션이고 직전거래가 2회연속 손실이면 매수포지션 청산만 if MarketPosition == 1 and Condition1 == true Then ExitLong(); } #무포지션이고 직전거래가 2회연속 손실이면 #현재 매수조건 만족했고 #직전 청산이후에 매수/매도 총 3번째 만족했으면 매수 if MarketPosition == 0 and Condition1 == false and Bcond == true and Bcond[1] == false and countif((Bcond == true and Bcond[1] == false) or (Scond == true and Scond[1] == false),BarsSinceExit(1)) == N Then{ buy(); } #무포지션이고 직전거래가 2회연속 손실이면 #현재 매도조건 만족했고 #직전 청산이후에 매수/매도 총 3번째 만족했으면 매도 if MarketPosition == 0 and Condition1 == false and Scond == true And Scond[1] == false and countif((Bcond == true and Bcond[1] == false) or (Scond == true and Scond[1] == false),BarsSinceExit(1)) == N Then{ buy(); } 2. 2번내용은 내용을 정확히 이하해지 못했습니다. 좀더 자세한 내용 올려주시기 바랍니다. 즐거운 하루되세요 > bigdeal 님이 쓴 글입니다. > 제목 : 시스템식 문의드립니다. > 안녕하세요.. 다음과 같은 시스템식 부탁드립니다. 해외선물(오일) 거래용 입니다 1.진입후 연속손실 2회 이상이면 진입하지 않다가 매수조건, 매도조건을 카운트하여 n번째 부터 진입하는 수식입니다. 2. 진입가격 기준하여 + - 0.1포인트를 구간으로 정하고 이 구간에서 연속손실이 2회이면 이 구간에서는 더이상 진입 금지하고 다음구간으로 상승하거나 하락하면 진입하는 수식입니다.. 수고하세요..
프로필 이미지

bigdeal

2015-07-24 17:18:48

안녕하세요. 빠른답변감사드립니다. 2. 진입가격 기준하여 + - 0.1포인트를 구간으로 정하고 이 구간에서 연속손실이 2회이면 이 구간에서는 더이상 진입 금지하고 다음구간으로 상승하거나 하락하면 진입하는 수식이란 - 예를들어 첫 진입가격이 50 이면 진입가격을 기준하여 49.9 에서 50.1 까지 진입된 포지션이 연속 2회 손실이 나면 이 구간에서는 더이상 진입을 하지 않고 이 구간을 벗어나는 경우 다시 매매를 재개하는 수식입니다. 매번 첫 진입가격을 기준하여 위 아래로 진폭을 만들어 2번이상 손실이 발생하는 구간에서는 매매를 안하는 식입니다. 수고하세요..
프로필 이미지

bigdeal

2015-07-26 21:25:26

안녕하세요. 빠르 답변감사드립니다. 답변주신내용대로 식을 작성하여 시물레이션해 본 결과값이 좀 이상합니다 처음 신호만 발생하고 이후에는 신호가 나오지 않습니다. 죄송하지만 다시한번 수식을 검토 부탁드리겠습니다. 매수진입조건은 crossup(c,ma(c,5)) 매도진입조건은crossdown(c,ma(c,5))으로 한 결과입니다. 수고하세요
프로필 이미지

예스스탁 예스스탁 답변

2015-07-27 09:19:11

안녕하세요 예스스탁입니다. 1. 죄송합니다. 식을 수정했습니다. 변수값을 잘못지정했습니다. input : N(3); var : Bcond(false),Scond(false); Bcond = crossup(ma(c,5),ma(c,20)); //매수진입조건 Scond = CrossDown(ma(c,5),ma(c,20)); //매도진입조건 Condition1 = false; if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then Condition1 = true; if MarketPosition != 0 and PositionProfit < 0 and PositionProfit(1) < 0 Then Condition1 = true; #매수조건 만족 if Bcond == true and Bcond[1] == false Then{ #무포지션이고 직전거래가 2회연속 손실이 아니면 매수 if MarketPosition == 0 and Condition1 == false Then buy("b1"); #매도포지션이고 직전거래가 2회연속 손실이 아니면 매수 if MarketPosition == -1 and Condition1 == false Then buy("b2"); #매도포지션이고 직전거래가 2회연속 손실이면 매도포지션 청산만 if MarketPosition == -1 and Condition1 == true Then ExitShort(); } #매도조건 만족 if scond == true and Scond[1] == false Then{ #무포지션이고 직전거래가 2회연속 손실이 아니면 매도 if MarketPosition == 0 and Condition1 == false Then Sell("s1"); #매수포지션이고 직전거래가 2회연속 손실이 아니면 매도 if MarketPosition == 1 and Condition1 == false Then sell("s2"); #매수포지션이고 직전거래가 2회연속 손실이면 매수포지션 청산만 if MarketPosition == 1 and Condition1 == true Then ExitLong(); } #무포지션이고 직전거래가 2회연속 손실이면 #현재 매수조건 만족했고 #직전 청산이후에 매수/매도 총 3번째 만족했으면 매수 if MarketPosition == 0 and Condition1 == true and Bcond == true and Bcond[1] == false and countif((Bcond == true and Bcond[1] == false) or (Scond == true and Scond[1] == false),BarsSinceExit(1)) == N Then{ buy("b3"); } #무포지션이고 직전거래가 2회연속 손실이면 #현재 매도조건 만족했고 #직전 청산이후에 매수/매도 총 3번째 만족했으면 매도 if MarketPosition == 0 and Condition1 == true and Scond == true And Scond[1] == false and countif((Bcond == true and Bcond[1] == false) or (Scond == true and Scond[1] == false),BarsSinceExit(1)) == N Then{ buy("s3"); } 2. 2번 내용은 조금 확인할 내용이 있습니다. 02-3453-1060으로 전화주시기 바랍니다. 즐거운 하루되세요 > bigdeal 님이 쓴 글입니다. > 제목 : Re : Re : 2번 내용입니다 > 안녕하세요. 빠른답변감사드립니다. 2. 진입가격 기준하여 + - 0.1포인트를 구간으로 정하고 이 구간에서 연속손실이 2회이면 이 구간에서는 더이상 진입 금지하고 다음구간으로 상승하거나 하락하면 진입하는 수식이란 - 예를들어 첫 진입가격이 50 이면 진입가격을 기준하여 49.9 에서 50.1 까지 진입된 포지션이 연속 2회 손실이 나면 이 구간에서는 더이상 진입을 하지 않고 이 구간을 벗어나는 경우 다시 매매를 재개하는 수식입니다. 매번 첫 진입가격을 기준하여 위 아래로 진폭을 만들어 2번이상 손실이 발생하는 구간에서는 매매를 안하는 식입니다. 수고하세요..
프로필 이미지

예스스탁 예스스탁 답변

2015-07-27 13:16:39

안녕하세요 예스스탁입니다. input : pt(0.1); var : Bcond(false),Scond(false); Bcond = crossup(ma(c,5),ma(c,20)); //매수진입조건 Scond = CrossDown(ma(c,5),ma(c,20)); //매도진입조건 #직전거래 2개가 모두 손실이고 #첫번째 청산가격과 두번째 청산가격이 #모두 첫번째 진입가격대비 +-pT이내이면 #Condition1은 TRUE 아니면 FALSE Condition1 = false; if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 and abs(EntryPrice(2)-ExitPrice(1)) <= Pt And abs(EntryPrice(2)-ExitPrice(2)) <= Pt Then Condition1 = true; if MarketPosition != 0 and PositionProfit < 0 and PositionProfit(1) < 0 and abs(EntryPrice(1)-ExitPrice(1)) <= Pt And abs(EntryPrice(1)-C) <= Pt Then Condition1 = true; #매수조건 만족 if Bcond == true and Bcond[1] == false Then{ #무포지션이고 Condition1이 false이면 매수 if MarketPosition == 0 and Condition1 == false Then buy("b1"); #매도포지션이고 Condition1이 false이면 매수 if MarketPosition == -1 and Condition1 == false Then buy("b2"); #매도포지션이고 condition1이 true이면 매도포지션 청산만 if MarketPosition == -1 and Condition1 == true Then ExitShort("sx"); } #매도조건 만족 if scond == true and Scond[1] == false Then{ #무포지션이고 Condition1이 false이면 매도 if MarketPosition == 0 and Condition1 == false Then Sell("s1"); #매수포지션이고 Condition1이 false이면 매도 if MarketPosition == 1 and Condition1 == false Then sell("s2"); #매수포지션이고 condition1이 true 이면 매수포지션 청산만 if MarketPosition == 1 and Condition1 == true Then ExitLong("bx"); } #무포지션이고 #현재 매수조건 만족했고 #condition1이 true이면 #현재 종가가 첫진입가격 +-pt 밖이면 매수 if MarketPosition == 0 and Bcond == true and Bcond[1] == false and Condition1 == true and (C >= EntryPrice(2)+Pt Or C <= EntryPrice(2)-Pt) Then{ buy("b3"); } #무포지션이고 #현재 매도조건 만족했고 #condition1이 true이면 #현재 종가가 첫진입가격 +-pt 밖이면 매도 if MarketPosition == 0 and Condition1 == true and Scond == true And Scond[1] == false and (C >= EntryPrice(2)+Pt Or C <= EntryPrice(2)-Pt) then{ buy("s3"); } 즐거운 하루되세요 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : Re : 2번 내용입니다 > 안녕하세요 예스스탁입니다. 1. 죄송합니다. 식을 수정했습니다. 변수값을 잘못지정했습니다. input : N(3); var : Bcond(false),Scond(false); Bcond = crossup(ma(c,5),ma(c,20)); //매수진입조건 Scond = CrossDown(ma(c,5),ma(c,20)); //매도진입조건 Condition1 = false; if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then Condition1 = true; if MarketPosition != 0 and PositionProfit < 0 and PositionProfit(1) < 0 Then Condition1 = true; #매수조건 만족 if Bcond == true and Bcond[1] == false Then{ #무포지션이고 직전거래가 2회연속 손실이 아니면 매수 if MarketPosition == 0 and Condition1 == false Then buy("b1"); #매도포지션이고 직전거래가 2회연속 손실이 아니면 매수 if MarketPosition == -1 and Condition1 == false Then buy("b2"); #매도포지션이고 직전거래가 2회연속 손실이면 매도포지션 청산만 if MarketPosition == -1 and Condition1 == true Then ExitShort(); } #매도조건 만족 if scond == true and Scond[1] == false Then{ #무포지션이고 직전거래가 2회연속 손실이 아니면 매도 if MarketPosition == 0 and Condition1 == false Then Sell("s1"); #매수포지션이고 직전거래가 2회연속 손실이 아니면 매도 if MarketPosition == 1 and Condition1 == false Then sell("s2"); #매수포지션이고 직전거래가 2회연속 손실이면 매수포지션 청산만 if MarketPosition == 1 and Condition1 == true Then ExitLong(); } #무포지션이고 직전거래가 2회연속 손실이면 #현재 매수조건 만족했고 #직전 청산이후에 매수/매도 총 3번째 만족했으면 매수 if MarketPosition == 0 and Condition1 == true and Bcond == true and Bcond[1] == false and countif((Bcond == true and Bcond[1] == false) or (Scond == true and Scond[1] == false),BarsSinceExit(1)) == N Then{ buy("b3"); } #무포지션이고 직전거래가 2회연속 손실이면 #현재 매도조건 만족했고 #직전 청산이후에 매수/매도 총 3번째 만족했으면 매도 if MarketPosition == 0 and Condition1 == true and Scond == true And Scond[1] == false and countif((Bcond == true and Bcond[1] == false) or (Scond == true and Scond[1] == false),BarsSinceExit(1)) == N Then{ buy("s3"); } 2. 2번 내용은 조금 확인할 내용이 있습니다. 02-3453-1060으로 전화주시기 바랍니다. 즐거운 하루되세요 > bigdeal 님이 쓴 글입니다. > 제목 : Re : Re : 2번 내용입니다 > 안녕하세요. 빠른답변감사드립니다. 2. 진입가격 기준하여 + - 0.1포인트를 구간으로 정하고 이 구간에서 연속손실이 2회이면 이 구간에서는 더이상 진입 금지하고 다음구간으로 상승하거나 하락하면 진입하는 수식이란 - 예를들어 첫 진입가격이 50 이면 진입가격을 기준하여 49.9 에서 50.1 까지 진입된 포지션이 연속 2회 손실이 나면 이 구간에서는 더이상 진입을 하지 않고 이 구간을 벗어나는 경우 다시 매매를 재개하는 수식입니다. 매번 첫 진입가격을 기준하여 위 아래로 진폭을 만들어 2번이상 손실이 발생하는 구간에서는 매매를 안하는 식입니다. 수고하세요..