커뮤니티

부탁합니다

프로필 이미지
남산
2017-05-01 19:09:49
119
글번호 109306
답변완료
input : Period11(20),익절틱수(50),손절틱수(30); input : Period1(30),Period2(18),signal(20); Input : Period(50),sigPeriod(51); Input : Period50(50),maPeriod51(51); var : mav11(0),SROC(0),SROCsig(0),value1(0),value2(0),value50(0),value51(0); mav11 = ma(c, Period11); SROC = ema(C,Period1)/ema(c,Period1)[Period2]*100; SROCsig = ema(SROC,signal); value1 = TRIX(Period); value2 = ema(value1, sigPeriod); value50 = SONAR(Period50); value51 = ema(value50, maPeriod51); if MarketPosition <= 0 and (SROC > SROCsig and value1 > value2 and value50 > value51) Then buy("b",OnClose,def,1); if MarketPosition == 1 Then{ if mav11 > mav11[1] and CurrentContracts < 5 Then buy("bb",OnClose,def,1); if (CrossDown(SROC,SROCsig)) or (CrossDown(value1,value2)) or (CrossDown(value50, value51)) Then{ ExitLong("bx"); } ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수); ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수); } if MarketPosition >= 0 and (SROC < SROCsig and value1 < value2 and value50 < value51) Then sell("s",OnClose,def,1); if MarketPosition == -1 then{ if mav11 < mav11[1] and CurrentContracts < 5 Then sell("ss",OnClose,def,1); if (crossup(SROC,SROCsig)) or (crossup(value1,value2)) or (CrossUP(value50, value51)) Then{ ExitShort("sx"); } ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수); ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수); } 혼자 작성하였으나 도저히 수식작성이 안되네요 수식 부탁합니다 1. == 직전에 진입한 포지션과 반대 방향으로만 진입을 허용하는 식을 부탁합니다=== 즉 직전에 매수로 포지션에 들어 갔었으면 이번 거래는 매도로만 포지션 진입할 수 있고, 그 다음 거래는 매수로만 포지션 진입할 수 있도록 부탁합니다 최초 매수진입하면(SROC > SROCsig and value1 > value2 and value50 > value51) 이후 "bb" 또는 "bp" 또는 "bl"에 의거 진입청산되고 반드시 다음은 매도진입(SROC < SROCsig and value1 < value2 and value50 < value51)하고 이후 "sx" 또는 "sp" 또는 "sl"에 의거 매도청산순이 반복되도록 수식 부탁합니다 1번수식 삽입시 2번(최대수익대비 하락 또는 상승)도 넣어 주시기 바랍니다 2. 매수진입후 최대수익대비(평단가) 하락 하면 일괄청산(input : 최대수익대비청산 틱수 20틱) 매도진입후 최대수익대비(평단가) 상승 하면 일괄청산(input : 최대수익대비청산 틱수 20틱) 감사합니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-05-08 14:36:27

안녕하세요 예스스탁입니다. input : Period11(20),익절틱수(50),손절틱수(30); input : Period1(30),Period2(18),signal(20); Input : Period(50),sigPeriod(51); Input : Period50(50),maPeriod51(51); input : 최대수익대비청산틱수(20); var : mav11(0),SROC(0),SROCsig(0),value1(0),value2(0),value50(0),value51(0),T(0), HH(0),LL(0); mav11 = ma(c, Period11); SROC = ema(C,Period1)/ema(c,Period1)[Period2]*100; SROCsig = ema(SROC,signal); value1 = TRIX(Period); value2 = ema(value1, sigPeriod); value50 = SONAR(Period50); value51 = ema(value50, maPeriod51); if T <= 0 and SROC > SROCsig and value1 > value2 and value50 > value51 Then { T = 1; if MarketPosition <= 0 then buy("b",OnClose,def,1); } if T >= 0 and SROC < SROCsig and value1 < value2 and value50 < value51 Then { T = -1; if MarketPosition >= 0 then sell("s",OnClose,def,1); } if MarketPosition == 1 Then{ if mav11 > mav11[1] and CurrentContracts < 5 Then buy("bb",OnClose,def,1); if (CrossDown(SROC,SROCsig)) or (CrossDown(value1,value2)) or (CrossDown(value50, value51)) Then{ ExitLong("bx"); } ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수); ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수); if CurrentContracts > CurrentContracts[1] Then HH = H; if H > HH Then HH = H; exitlong("bxx",AtStop,HH-PriceScale*최대수익대비청산틱수); } if MarketPosition == -1 then{ if mav11 < mav11[1] and CurrentContracts < 5 Then sell("ss",OnClose,def,1); if (crossup(SROC,SROCsig)) or (crossup(value1,value2)) or (CrossUP(value50, value51)) Then{ ExitShort("sx"); } ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수); ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수); if CurrentContracts > CurrentContracts[1] Then LL = L; if L < LL Then LL = L; ExitShort("sxx",AtStop,LL+PriceScale*최대수익대비청산틱수); } 즐거운 하루되세요 > 남산 님이 쓴 글입니다. > 제목 : 부탁합니다 > input : Period11(20),익절틱수(50),손절틱수(30); input : Period1(30),Period2(18),signal(20); Input : Period(50),sigPeriod(51); Input : Period50(50),maPeriod51(51); var : mav11(0),SROC(0),SROCsig(0),value1(0),value2(0),value50(0),value51(0); mav11 = ma(c, Period11); SROC = ema(C,Period1)/ema(c,Period1)[Period2]*100; SROCsig = ema(SROC,signal); value1 = TRIX(Period); value2 = ema(value1, sigPeriod); value50 = SONAR(Period50); value51 = ema(value50, maPeriod51); if MarketPosition <= 0 and (SROC > SROCsig and value1 > value2 and value50 > value51) Then buy("b",OnClose,def,1); if MarketPosition == 1 Then{ if mav11 > mav11[1] and CurrentContracts < 5 Then buy("bb",OnClose,def,1); if (CrossDown(SROC,SROCsig)) or (CrossDown(value1,value2)) or (CrossDown(value50, value51)) Then{ ExitLong("bx"); } ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수); ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수); } if MarketPosition >= 0 and (SROC < SROCsig and value1 < value2 and value50 < value51) Then sell("s",OnClose,def,1); if MarketPosition == -1 then{ if mav11 < mav11[1] and CurrentContracts < 5 Then sell("ss",OnClose,def,1); if (crossup(SROC,SROCsig)) or (crossup(value1,value2)) or (CrossUP(value50, value51)) Then{ ExitShort("sx"); } ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수); ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수); } 혼자 작성하였으나 도저히 수식작성이 안되네요 수식 부탁합니다 1. == 직전에 진입한 포지션과 반대 방향으로만 진입을 허용하는 식을 부탁합니다=== 즉 직전에 매수로 포지션에 들어 갔었으면 이번 거래는 매도로만 포지션 진입할 수 있고, 그 다음 거래는 매수로만 포지션 진입할 수 있도록 부탁합니다 최초 매수진입하면(SROC > SROCsig and value1 > value2 and value50 > value51) 이후 "bb" 또는 "bp" 또는 "bl"에 의거 진입청산되고 반드시 다음은 매도진입(SROC < SROCsig and value1 < value2 and value50 < value51)하고 이후 "sx" 또는 "sp" 또는 "sl"에 의거 매도청산순이 반복되도록 수식 부탁합니다 1번수식 삽입시 2번(최대수익대비 하락 또는 상승)도 넣어 주시기 바랍니다 2. 매수진입후 최대수익대비(평단가) 하락 하면 일괄청산(input : 최대수익대비청산 틱수 20틱) 매도진입후 최대수익대비(평단가) 상승 하면 일괄청산(input : 최대수익대비청산 틱수 20틱) 감사합니다