커뮤니티

수식작성 부탁드립니다

프로필 이미지
팅키
2019-12-09 17:55:06
277
글번호 134224
답변완료
항상 친절한 도움에 감사드립니다. 다음 수식작성을 부탁드립니다. 종목: 해외선물 오일 주기: data1 - 1분봉 data2 - 5분봉 조건: 5분봉 기준, 거래량 10,000개 이상, 현재봉기준 고가-저가가 30틱 이상일때 양봉이면 매수진입, 음봉이면 매도진입 (1분봉에서 진입) 청산: 두가지로 작성요망 1) 25틱 수익청산, 20틱 손절 2) 손절은 25틱 즉시청산, 손절이 안되었으면 30분 경과후 수익청산 65188번 추가문의사항도 검토 부탁드립니다. 65188번 문의내용 항상 친절한 도움에 감사드립니다. 답변내용중 당일변동폭 관련하여, 다음 내용으로 수정부탁드립니다. 오전8시 봉부터 당일이 시작된다면, 당일진폭이 50틱이 되는 시점의 가격을 52.80 이라고 하면, (이 가격이 유효한 기간은 당일진폭이 최초로 50틱을 돌파한 순간부터 한시간동안 유효함,) 현재가가 52.81이 되면 매수, 52.79가 되면 매도 이렇게 반복진입하도록 가능한지요? 아니면, 1분봉 봉완성기준 현재가가 52.80보다 크면 매수, 작으면 매도 이렇게 반복하도록 검토 부탁드립니다. 또 한가지는 손절 10틱 설정후, 손절되면 반대방향 진입으로 부탁드립니다. 수익청산은 40틱, 손절은 10틱 당일수익 60틱이면 당일 추가진입 금지 당일손실 50틱이면 당일 추가진입 금지 이상과 같이 수식 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 시스템 문의드립니다. > 안녕하세요 예스스탁입니다. 1 input : DayRange(50); var1 = daylow+PriceScale*DayRange; var2 = DayHigh-PriceScale*DayRange; if MarketPosition <= 0 and H <= var1 Then buy("b1",AtStop,var1+PriceScale*1); if MarketPosition <= 0 and H <= var2 Then buy("b2",AtStop,var2+PriceScale*1); if MarketPosition >= 0 and L >= var1 Then sell("s1",AtStop,var1-PriceScale*1); if MarketPosition >= 0 and L >= var2 Then sell("s2",AtStop,var2-PriceScale*1); 2 input : DayRange(50); var1 = daylow+PriceScale*DayRange; var2 = DayHigh-PriceScale*DayRange; if MarketPosition <= 0 and H <= var1 Then buy("b1",AtStop,var1+PriceScale*1); if MarketPosition <= 0 and H <= var2 Then buy("b2",AtStop,var2+PriceScale*1); if MarketPosition >= 0 and L >= var1 Then sell("s1",AtStop,var1-PriceScale*1); if MarketPosition >= 0 and L >= var2 Then sell("s2",AtStop,var2-PriceScale*1); if MarketPosition == 1 Then sell("bs",AtStop,EntryPrice-PriceScale*5); if MarketPosition == -1 Then buy("sb",AtStop,EntryPrice+PriceScale*5); 즐거운 하루되세요 > 팅키 님이 쓴 글입니다. > 제목 : 시스템 문의드립니다. > 항상 친철한 도움에 감사드립니다. 다음 내용으로 시스템 문의드립니다. 1. 당일 변동폭을 계산해서 당일폭이 50틱 (변수로 지정) 이 되는 시점을 기준하여 (상승하면서 50틱이 되는 경우) 당일폭 51틱이 되면서 상승방향이면 매수진입, 당일 49틱 가격으로 가면서 하락방향이면 매도진입. 또는 당일폭이 50틱이 되는 시점을 기준하여 (하락하면서 50틱이 되는 경우) 당일폭 51틱이 되면서 하락방향이면 매도진입, 당일 49틱 가격으로 가면서 하락방향이면 매도진입. 당일폭이 51틱에서 다시 49틱가격으로 되면, 청산후 진행방향 진입 당일폭이 49틱에서 51틱 가격으로 되면, 청산후 진행방향으로 진입 (청산 및 재진입 계속반복) 봉완성전에도 진입가능하면, 봉완성전 진입으로 수식부탁드립니다 2. " 당일 변동폭을 계산해서 당일폭이 50틱 (변수로 지정) 이 되는 시점을 기준하여 (상승하면서 50틱이 되는 경우) 당일폭 51틱이 되면서 상승방향이면 매수진입, 당일 49틱 가격으로 가면서 하락방향이면 매도진입. 또는 당일폭이 50틱이 되는 시점을 기준하여 (하락하면서 50틱이 되는 경우) 당일폭 51틱이 되면서 하락방향이면 매도진입, 당일 49틱 가격으로 가면서 하락방향이면 매도진입. " 까지는 1번과 동일 손절기준 5틱을 기준으로 손절되면, 기존포지션 반대방향으로 재진입 이상 2가지 시스템 수식을 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-12-10 13:48:22

안녕하세요 예스스탁입니다. 1 input : 익절틱수(25),손절틱수(20); if data2(V>= 10000 and H-L >= PriceScale*30 and C > O) Then buy("b"); if data2(V>= 10000 and H-L >= PriceScale*30 and C < O) Then sell("s"); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 2 input : 손절틱수(25); var : S1(0,data1),D1(0,data1),TM(0,data1); if data1(Bdate != Bdate[1]) Then { S1 = data1(TimeToMinutes(stime)); D1 = data1(sdate); } if D1 > 0 then { if sdate == D1 Then TM = data1(TimeToMinutes(stime)-S1); Else TM = data1(TimeToMinutes(stime)+1440-S1); } if data2(V>= 10000 and H-L >= PriceScale*30 and C > O) Then buy("b"); if data2(V>= 10000 and H-L >= PriceScale*30 and C < O) Then sell("s"); if MarketPosition == 1 and TM >= TM[BarsSinceEntry]+30 Then ExitLong("bx"); if MarketPosition == -1 and TM >= TM[BarsSinceEntry]+30 Then ExitShort("sx"); SetStopLoss(PriceScale*손절틱수,PointStop); 3 input : DayRange(50); input : 익절틱수(40),손절틱수(10); Input : 당일수익틱수(60),당일손실틱수(50); var : S1(0),D1(0),TM(0),cond(false),TT(0); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); if data1(Bdate != Bdate[1]) Then { S1 = TimeToMinutes(stime); D1 = sdate; Cond = true; Xcond = false; N1 = NetProfit; } if D1 > 0 then { 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 or daypl <= -당일손실 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; } if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; if Cond == false and DayHigh-DayLow >= PriceScale*DayRange Then { Cond = true; TT = TM; var1 = DayHigh; var2 = DayLow; } if cond == true and TM >= TT and TM < TT+60 and xcond == false then { if MarketPosition <= 0 and H <= var1 Then buy("b1",AtStop,var1+PriceScale*1); if MarketPosition <= 0 and H <= var2 Then buy("b2",AtStop,var2+PriceScale*1); if MarketPosition >= 0 and L >= var1 Then sell("s1",AtStop,var1-PriceScale*1); if MarketPosition >= 0 and L >= var2 Then sell("s2",AtStop,var2-PriceScale*1); } if MarketPosition == 1 Then sell("bs",AtStop,EntryPrice-PriceScale*손절틱수); if MarketPosition == -1 Then Buy("sb",AtStop,EntryPrice+PriceScale*손절틱수); if MarketPosition == 1 then{ ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } } SetStopProfittarget(PriceScale*익절틱수,PointStop); 즐거운 하루되세요 > 팅키 님이 쓴 글입니다. > 제목 : 수식작성 부탁드립니다 > 항상 친절한 도움에 감사드립니다. 다음 수식작성을 부탁드립니다. 종목: 해외선물 오일 주기: data1 - 1분봉 data2 - 5분봉 조건: 5분봉 기준, 거래량 10,000개 이상, 현재봉기준 고가-저가가 30틱 이상일때 양봉이면 매수진입, 음봉이면 매도진입 (1분봉에서 진입) 청산: 두가지로 작성요망 1) 25틱 수익청산, 20틱 손절 2) 손절은 25틱 즉시청산, 손절이 안되었으면 30분 경과후 수익청산 65188번 추가문의사항도 검토 부탁드립니다. 65188번 문의내용 항상 친절한 도움에 감사드립니다. 답변내용중 당일변동폭 관련하여, 다음 내용으로 수정부탁드립니다. 오전8시 봉부터 당일이 시작된다면, 당일진폭이 50틱이 되는 시점의 가격을 52.80 이라고 하면, (이 가격이 유효한 기간은 당일진폭이 최초로 50틱을 돌파한 순간부터 한시간동안 유효함,) 현재가가 52.81이 되면 매수, 52.79가 되면 매도 이렇게 반복진입하도록 가능한지요? 아니면, 1분봉 봉완성기준 현재가가 52.80보다 크면 매수, 작으면 매도 이렇게 반복하도록 검토 부탁드립니다. 또 한가지는 손절 10틱 설정후, 손절되면 반대방향 진입으로 부탁드립니다. 수익청산은 40틱, 손절은 10틱 당일수익 60틱이면 당일 추가진입 금지 당일손실 50틱이면 당일 추가진입 금지 이상과 같이 수식 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 시스템 문의드립니다. > 안녕하세요 예스스탁입니다. 1 input : DayRange(50); var1 = daylow+PriceScale*DayRange; var2 = DayHigh-PriceScale*DayRange; if MarketPosition <= 0 and H <= var1 Then buy("b1",AtStop,var1+PriceScale*1); if MarketPosition <= 0 and H <= var2 Then buy("b2",AtStop,var2+PriceScale*1); if MarketPosition >= 0 and L >= var1 Then sell("s1",AtStop,var1-PriceScale*1); if MarketPosition >= 0 and L >= var2 Then sell("s2",AtStop,var2-PriceScale*1); 2 input : DayRange(50); var1 = daylow+PriceScale*DayRange; var2 = DayHigh-PriceScale*DayRange; if MarketPosition <= 0 and H <= var1 Then buy("b1",AtStop,var1+PriceScale*1); if MarketPosition <= 0 and H <= var2 Then buy("b2",AtStop,var2+PriceScale*1); if MarketPosition >= 0 and L >= var1 Then sell("s1",AtStop,var1-PriceScale*1); if MarketPosition >= 0 and L >= var2 Then sell("s2",AtStop,var2-PriceScale*1); if MarketPosition == 1 Then sell("bs",AtStop,EntryPrice-PriceScale*5); if MarketPosition == -1 Then buy("sb",AtStop,EntryPrice+PriceScale*5); 즐거운 하루되세요 > 팅키 님이 쓴 글입니다. > 제목 : 시스템 문의드립니다. > 항상 친철한 도움에 감사드립니다. 다음 내용으로 시스템 문의드립니다. 1. 당일 변동폭을 계산해서 당일폭이 50틱 (변수로 지정) 이 되는 시점을 기준하여 (상승하면서 50틱이 되는 경우) 당일폭 51틱이 되면서 상승방향이면 매수진입, 당일 49틱 가격으로 가면서 하락방향이면 매도진입. 또는 당일폭이 50틱이 되는 시점을 기준하여 (하락하면서 50틱이 되는 경우) 당일폭 51틱이 되면서 하락방향이면 매도진입, 당일 49틱 가격으로 가면서 하락방향이면 매도진입. 당일폭이 51틱에서 다시 49틱가격으로 되면, 청산후 진행방향 진입 당일폭이 49틱에서 51틱 가격으로 되면, 청산후 진행방향으로 진입 (청산 및 재진입 계속반복) 봉완성전에도 진입가능하면, 봉완성전 진입으로 수식부탁드립니다 2. " 당일 변동폭을 계산해서 당일폭이 50틱 (변수로 지정) 이 되는 시점을 기준하여 (상승하면서 50틱이 되는 경우) 당일폭 51틱이 되면서 상승방향이면 매수진입, 당일 49틱 가격으로 가면서 하락방향이면 매도진입. 또는 당일폭이 50틱이 되는 시점을 기준하여 (하락하면서 50틱이 되는 경우) 당일폭 51틱이 되면서 하락방향이면 매도진입, 당일 49틱 가격으로 가면서 하락방향이면 매도진입. " 까지는 1번과 동일 손절기준 5틱을 기준으로 손절되면, 기존포지션 반대방향으로 재진입 이상 2가지 시스템 수식을 부탁드립니다. 감사합니다.