커뮤니티

사용하고 있는 수식에서 하루에 1회만 거래될수 있는 수식 추가 부탁드림니다.

프로필 이미지
이형지
2019-04-08 10:59:38
226
글번호 127695
답변완료
쿠르드 오일입니다. 분봉 매매입니다. (30분봉) 아래수식에 하루에 매수-매도든 상관없이 1일 1회진입 하는 수식이 추가될수 있도록 부탁드릴께요~~ 이것저것 변수를 부치다보니 저도 수식이 관리가 안되네요.ㅠㅠ 지금 식은 하루에 많을때는 4-6번도 더 진입이 되네요~~ input : p1(3),p2(1),af(0.02), maxAF(0.2); input : 즉시익절1(85),봉완성익절1(58),올랐다본전틱수1(38),본전청산1(-32),즉시손절1(72),봉완성손절1(70); input : 즉시익절2(61),봉완성익절2(54),올랐다본전틱수2(31),본전청산2(-14),즉시손절2(84),봉완성손절2(58); input : N1(3),N2(4); Input :N3(5),N4(30),매수제한(0.1),매도제한(0.13); input : 즉시익절3(90),봉완성익절3(55),올랐다본전틱수3(19),본전청산3(-36),즉시손절3(84),봉완성손절3(74); input : 즉시익절4(94),봉완성익절4(45),올랐다본전틱수4(39),본전청산4(-25),즉시손절4(60),봉완성손절4(50); Input : RSIPeriod(10),SimPeriod(10); Input : RSI상한선1(93),RSI하한선1(21),Sim상한선1(91),Sim하한선1(1); Input : RSI상한선2(93),RSI하한선2(23),Sim상한선2(91),Sim하한선2(1); Input : P100(1000),P200(200),P300(600),P400(300); Input : MFIPeriod(20),P1000(32),P2000(91),P3000(24),P4000(90); Input : ADXP(2); Input : BBUPPeriod(4),dvUP(0.9),BBDOWNPeriod(4),dvDW(0.5); Input : EnvelopePeriod1(3),EnvelopePercent1(0.03),EnvelopePeriod2(5),EnvelopePercent2(0.02); Input : cciperiod(20),I1(6),I2(10),I3(9),I4(18); var : cnt(0),sum1(0),sum2(0),avg1(0),avg2(0),avg3(0),T(0),mav2(0),mav3(0),value(0),RSIV(0),Simri(0),value100(0),CCIO(0); var : sum3(0),Tcond(false),adxv(0); value100 = MFI(MFIPeriod); RSIV = RSI(RSIPeriod); Simri = Simrido(SimPeriod); CCIO = CCI(cciPeriod); var1 = CSar(af,maxAF); Var4 = highest(H,N3); Var5 = lowest(L,N3); var1 = CSar(af,maxAF); Var6 = highest(H,N4); Var7 = lowest(L,N4); Var8 = BollBandUp(BBUPPeriod,dvUP); Var9 = BollBandDown(BBDOWNPeriod,dvDW); Var10 = EnvelopeUp(EnvelopePeriod1,EnvelopePercent1); var11 = EnvelopeDown(EnvelopePeriod2,EnvelopePercent2); ADXV = ADX(ADXP); if DayClose(N2) > 0 Then { sum1 = 0; sum2 = 0; for cnt = 0 to N2-1 { if cnt < N1 Then sum1 = sum1 + DayClose(cnt); if cnt < N2 Then sum2 = sum2 + DayClose(cnt+1); } avg1 = sum1/N1; avg2 = sum2/N2; T = 0; if avg1 >= avg2 Then T = 1; if avg1 < avg2 Then T = -1; if T == 1 Then { #골드가 발생하면 if var1 > C Then { #value1에 봉번호 저장 value1 = index; #value2에 종가 저장 value2 = C; } #데드가 발생하면 If var1 < C Then { #value3에 봉번호 저장 value3 = index; #value4에 종가 저장 value4 = C; } #무포지션이고 #골드이후 10개봉이상 경과했고 #종가가 직전 10봉의 최고가보다 크고 #종가가 골드봉의 종가보다 크면 #매수 if MarketPosition == 0 and index >= value1+P1 and C > highest(H,P1)[1] and C <= Var4-(Var4-Var5)*매수제한 and RSIV < RSI상한선1 and Simri < Sim상한선1 and V > P100 and value100 >= P1000 and ADXV > ADXV[1] and c > Var8 and c > Var10 and CCIO > I1 and C > value2 then buy("매수",OnClose,def,1); #무포지션이고 #데드이후 10개봉이상 경과했고 #종가가 직전 10봉의 최저가보다 작고 #종가가 데드봉의 종가보다 작으면 #매도 if MarketPosition == 0 and index >= value3+P2 and C < Lowest(L,P2)[1] and C >= Var7+(Var6-Var7)*매도제한 and RSIV > RSI하한선1 and Simri > Sim하한선1 and V > P200 and value100 <= P2000 and ADXV > ADXV[1] and c < Var9 and c < Var11 and CCIO < I2 and C < value4 then Sell("매도",OnClose,def,1); if MarketPosition == 1 then { ExitLong("즉시익절1",AtLimit,EntryPrice+PriceScale*즉시익절1); if C >= EntryPrice+PriceScale*봉완성익절1 Then ExitLong("봉완성익절1"); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*올랐다본전틱수1 Then ExitLong("본전청산1",AtStop,EntryPrice+PriceScale*(본전청산1)); ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1); if c <= EntryPrice-PriceScale*봉완성손절1 Then ExitLong("봉완성손절1"); } if MarketPosition == -1 then { ExitShort("즉시익절2",AtLimit,EntryPrice-PriceScale*즉시익절2); if C <= EntryPrice-PriceScale*봉완성익절2 Then ExitShort("봉완성익절2"); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*올랐다본전틱수2 Then ExitShort("본전청산2",AtStop,EntryPrice-PriceScale*(본전청산2)); ExitShort("즉시손절2",AtStop,EntryPrice+PriceScale*즉시손절2); if c >= EntryPrice+PriceScale*봉완성손절2 Then ExitShort("봉완성손절2"); } } } if T == -1 Then { #골드가 발생하면 if var1 > C Then { #value1에 봉번호 저장 value1 = index; #value2에 종가 저장 value2 = C; } #데드가 발생하면 If var1 < C Then { #value3에 봉번호 저장 value3 = index; #value4에 종가 저장 value4 = C; } #무포지션이고 #골드이후 10개봉이상 경과했고 #종가가 직전 10봉의 최고가보다 크고 #종가가 골드봉의 종가보다 크면 #매수 if MarketPosition == 0 and index >= value1+P1 and C > highest(H,P1)[1] and C <= Var4-(Var4-Var5)*매수제한 and RSIV < RSI상한선2 and Simri < Sim상한선2 and V > P300 and value100 >= P3000 and ADXV > ADXV[1] and c > Var8 and c > Var10 and CCIO > I3 and C > value2 then buy("매수2",OnClose,def,1); #무포지션이고 #데드이후 10개봉이상 경과했고 #종가가 직전 10봉의 최저가보다 작고 #종가가 데드봉의 종가보다 작으면 #매도 if MarketPosition == 0 and index >= value3+P2 and C < Lowest(L,P2)[1] and C >= Var7+(Var6-Var7)*매도제한 and RSIV > RSI하한선2 and Simri > Sim하한선2 and V > P400 and value100 <= P4000 and ADXV > ADXV[1] and c < Var9 and c < Var11 and CCIO < I4 and C < value4 then Sell("매도2",OnClose,def,1); if MarketPosition == 1 then { ExitLong("즉시익절3",AtLimit,EntryPrice+PriceScale*즉시익절3); if C >= EntryPrice+PriceScale*봉완성익절3 Then ExitLong("봉완성익절3"); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*올랐다본전틱수3 Then ExitLong("본전청산3",AtStop,EntryPrice+PriceScale*(본전청산3)); ExitLong("즉시손절3",AtStop,EntryPrice-PriceScale*즉시손절3); if c <= EntryPrice-PriceScale*봉완성손절3 Then ExitLong("봉완성손절3"); } if MarketPosition == -1 then { ExitShort("즉시익절4",AtLimit,EntryPrice-PriceScale*즉시익절4); if C <= EntryPrice-PriceScale*봉완성익절4 Then ExitShort("봉완성익절4"); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*올랐다본전틱수4 Then ExitShort("본전청산4",AtStop,EntryPrice-PriceScale*(본전청산4)); ExitShort("즉시손절4",AtStop,EntryPrice+PriceScale*즉시손절4); if c >= EntryPrice+PriceScale*봉완성손절4 Then ExitShort("봉완성손절4"); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-04-09 15:06:09

안녕하세요 예스스탁입니다. input : p1(3),p2(1),af(0.02), maxAF(0.2); input : 즉시익절1(85),봉완성익절1(58),올랐다본전틱수1(38),본전청산1(-32),즉시손절1(72),봉완성손절1(70); input : 즉시익절2(61),봉완성익절2(54),올랐다본전틱수2(31),본전청산2(-14),즉시손절2(84),봉완성손절2(58); input : N1(3),N2(4); Input :N3(5),N4(30),매수제한(0.1),매도제한(0.13); input : 즉시익절3(90),봉완성익절3(55),올랐다본전틱수3(19),본전청산3(-36),즉시손절3(84),봉완성손절3(74); input : 즉시익절4(94),봉완성익절4(45),올랐다본전틱수4(39),본전청산4(-25),즉시손절4(60),봉완성손절4(50); Input : RSIPeriod(10),SimPeriod(10); Input : RSI상한선1(93),RSI하한선1(21),Sim상한선1(91),Sim하한선1(1); Input : RSI상한선2(93),RSI하한선2(23),Sim상한선2(91),Sim하한선2(1); Input : P100(1000),P200(200),P300(600),P400(300); Input : MFIPeriod(20),P1000(32),P2000(91),P3000(24),P4000(90); Input : ADXP(2); Input : BBUPPeriod(4),dvUP(0.9),BBDOWNPeriod(4),dvDW(0.5); Input : EnvelopePeriod1(3),EnvelopePercent1(0.03),EnvelopePeriod2(5),EnvelopePercent2(0.02); Input : cciperiod(20),I1(6),I2(10),I3(9),I4(18); input : 당일최대진입횟수(1); var : cnt(0),sum1(0),sum2(0),avg1(0),avg2(0),avg3(0),T(0),mav2(0),mav3(0),value(0),RSIV(0),Simri(0),value100(0),CCIO(0); var : sum3(0),Tcond(false),adxv(0),entry(0); if bdate != bdate[1] Then Entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then Entry = Entry+1; value100 = MFI(MFIPeriod); RSIV = RSI(RSIPeriod); Simri = Simrido(SimPeriod); CCIO = CCI(cciPeriod); var1 = CSar(af,maxAF); Var4 = highest(H,N3); Var5 = lowest(L,N3); var1 = CSar(af,maxAF); Var6 = highest(H,N4); Var7 = lowest(L,N4); Var8 = BollBandUp(BBUPPeriod,dvUP); Var9 = BollBandDown(BBDOWNPeriod,dvDW); Var10 = EnvelopeUp(EnvelopePeriod1,EnvelopePercent1); var11 = EnvelopeDown(EnvelopePeriod2,EnvelopePercent2); ADXV = ADX(ADXP); if DayClose(N2) > 0 Then { sum1 = 0; sum2 = 0; for cnt = 0 to N2-1 { if cnt < N1 Then sum1 = sum1 + DayClose(cnt); if cnt < N2 Then sum2 = sum2 + DayClose(cnt+1); } avg1 = sum1/N1; avg2 = sum2/N2; T = 0; if avg1 >= avg2 Then T = 1; if avg1 < avg2 Then T = -1; if T == 1 Then { #골드가 발생하면 if var1 > C Then { #value1에 봉번호 저장 value1 = index; #value2에 종가 저장 value2 = C; } #데드가 발생하면 If var1 < C Then { #value3에 봉번호 저장 value3 = index; #value4에 종가 저장 value4 = C; } #무포지션이고 #골드이후 10개봉이상 경과했고 #종가가 직전 10봉의 최고가보다 크고 #종가가 골드봉의 종가보다 크면 #매수 if MarketPosition == 0 and Entry < 당일최대진입횟수 and index >= value1+P1 and C > highest(H,P1)[1] and C <= Var4-(Var4-Var5)*매수제한 and RSIV < RSI상한선1 and Simri < Sim상한선1 and V > P100 and value100 >= P1000 and ADXV > ADXV[1] and c > Var8 and c > Var10 and CCIO > I1 and C > value2 then buy("매수",OnClose,def,1); #무포지션이고 #데드이후 10개봉이상 경과했고 #종가가 직전 10봉의 최저가보다 작고 #종가가 데드봉의 종가보다 작으면 #매도 if MarketPosition == 0 and Entry < 당일최대진입횟수 and index >= value3+P2 and C < Lowest(L,P2)[1] and C >= Var7+(Var6-Var7)*매도제한 and RSIV > RSI하한선1 and Simri > Sim하한선1 and V > P200 and value100 <= P2000 and ADXV > ADXV[1] and c < Var9 and c < Var11 and CCIO < I2 and C < value4 then Sell("매도",OnClose,def,1); if MarketPosition == 1 then { ExitLong("즉시익절1",AtLimit,EntryPrice+PriceScale*즉시익절1); if C >= EntryPrice+PriceScale*봉완성익절1 Then ExitLong("봉완성익절1"); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*올랐다본전틱수1 Then ExitLong("본전청산1",AtStop,EntryPrice+PriceScale*(본전청산1)); ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1); if c <= EntryPrice-PriceScale*봉완성손절1 Then ExitLong("봉완성손절1"); } if MarketPosition == -1 then { ExitShort("즉시익절2",AtLimit,EntryPrice-PriceScale*즉시익절2); if C <= EntryPrice-PriceScale*봉완성익절2 Then ExitShort("봉완성익절2"); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*올랐다본전틱수2 Then ExitShort("본전청산2",AtStop,EntryPrice-PriceScale*(본전청산2)); ExitShort("즉시손절2",AtStop,EntryPrice+PriceScale*즉시손절2); if c >= EntryPrice+PriceScale*봉완성손절2 Then ExitShort("봉완성손절2"); } } } if T == -1 Then { #골드가 발생하면 if var1 > C Then { #value1에 봉번호 저장 value1 = index; #value2에 종가 저장 value2 = C; } #데드가 발생하면 If var1 < C Then { #value3에 봉번호 저장 value3 = index; #value4에 종가 저장 value4 = C; } #무포지션이고 #골드이후 10개봉이상 경과했고 #종가가 직전 10봉의 최고가보다 크고 #종가가 골드봉의 종가보다 크면 #매수 if MarketPosition == 0 and Entry < 당일최대진입횟수 and index >= value1+P1 and C > highest(H,P1)[1] and C <= Var4-(Var4-Var5)*매수제한 and RSIV < RSI상한선2 and Simri < Sim상한선2 and V > P300 and value100 >= P3000 and ADXV > ADXV[1] and c > Var8 and c > Var10 and CCIO > I3 and C > value2 then buy("매수2",OnClose,def,1); #무포지션이고 #데드이후 10개봉이상 경과했고 #종가가 직전 10봉의 최저가보다 작고 #종가가 데드봉의 종가보다 작으면 #매도 if MarketPosition == 0 and Entry < 당일최대진입횟수 and index >= value3+P2 and C < Lowest(L,P2)[1] and C >= Var7+(Var6-Var7)*매도제한 and RSIV > RSI하한선2 and Simri > Sim하한선2 and V > P400 and value100 <= P4000 and ADXV > ADXV[1] and c < Var9 and c < Var11 and CCIO < I4 and C < value4 then Sell("매도2",OnClose,def,1); if MarketPosition == 1 then { ExitLong("즉시익절3",AtLimit,EntryPrice+PriceScale*즉시익절3); if C >= EntryPrice+PriceScale*봉완성익절3 Then ExitLong("봉완성익절3"); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*올랐다본전틱수3 Then ExitLong("본전청산3",AtStop,EntryPrice+PriceScale*(본전청산3)); ExitLong("즉시손절3",AtStop,EntryPrice-PriceScale*즉시손절3); if c <= EntryPrice-PriceScale*봉완성손절3 Then ExitLong("봉완성손절3"); } if MarketPosition == -1 then { ExitShort("즉시익절4",AtLimit,EntryPrice-PriceScale*즉시익절4); if C <= EntryPrice-PriceScale*봉완성익절4 Then ExitShort("봉완성익절4"); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*올랐다본전틱수4 Then ExitShort("본전청산4",AtStop,EntryPrice-PriceScale*(본전청산4)); ExitShort("즉시손절4",AtStop,EntryPrice+PriceScale*즉시손절4); if c >= EntryPrice+PriceScale*봉완성손절4 Then ExitShort("봉완성손절4"); } } 즐거운 하루되세요 > 이형지 님이 쓴 글입니다. > 제목 : 사용하고 있는 수식에서 하루에 1회만 거래될수 있는 수식 추가 부탁드림니다. > 쿠르드 오일입니다. 분봉 매매입니다. (30분봉) 아래수식에 하루에 매수-매도든 상관없이 1일 1회진입 하는 수식이 추가될수 있도록 부탁드릴께요~~ 이것저것 변수를 부치다보니 저도 수식이 관리가 안되네요.ㅠㅠ 지금 식은 하루에 많을때는 4-6번도 더 진입이 되네요~~ input : p1(3),p2(1),af(0.02), maxAF(0.2); input : 즉시익절1(85),봉완성익절1(58),올랐다본전틱수1(38),본전청산1(-32),즉시손절1(72),봉완성손절1(70); input : 즉시익절2(61),봉완성익절2(54),올랐다본전틱수2(31),본전청산2(-14),즉시손절2(84),봉완성손절2(58); input : N1(3),N2(4); Input :N3(5),N4(30),매수제한(0.1),매도제한(0.13); input : 즉시익절3(90),봉완성익절3(55),올랐다본전틱수3(19),본전청산3(-36),즉시손절3(84),봉완성손절3(74); input : 즉시익절4(94),봉완성익절4(45),올랐다본전틱수4(39),본전청산4(-25),즉시손절4(60),봉완성손절4(50); Input : RSIPeriod(10),SimPeriod(10); Input : RSI상한선1(93),RSI하한선1(21),Sim상한선1(91),Sim하한선1(1); Input : RSI상한선2(93),RSI하한선2(23),Sim상한선2(91),Sim하한선2(1); Input : P100(1000),P200(200),P300(600),P400(300); Input : MFIPeriod(20),P1000(32),P2000(91),P3000(24),P4000(90); Input : ADXP(2); Input : BBUPPeriod(4),dvUP(0.9),BBDOWNPeriod(4),dvDW(0.5); Input : EnvelopePeriod1(3),EnvelopePercent1(0.03),EnvelopePeriod2(5),EnvelopePercent2(0.02); Input : cciperiod(20),I1(6),I2(10),I3(9),I4(18); var : cnt(0),sum1(0),sum2(0),avg1(0),avg2(0),avg3(0),T(0),mav2(0),mav3(0),value(0),RSIV(0),Simri(0),value100(0),CCIO(0); var : sum3(0),Tcond(false),adxv(0); value100 = MFI(MFIPeriod); RSIV = RSI(RSIPeriod); Simri = Simrido(SimPeriod); CCIO = CCI(cciPeriod); var1 = CSar(af,maxAF); Var4 = highest(H,N3); Var5 = lowest(L,N3); var1 = CSar(af,maxAF); Var6 = highest(H,N4); Var7 = lowest(L,N4); Var8 = BollBandUp(BBUPPeriod,dvUP); Var9 = BollBandDown(BBDOWNPeriod,dvDW); Var10 = EnvelopeUp(EnvelopePeriod1,EnvelopePercent1); var11 = EnvelopeDown(EnvelopePeriod2,EnvelopePercent2); ADXV = ADX(ADXP); if DayClose(N2) > 0 Then { sum1 = 0; sum2 = 0; for cnt = 0 to N2-1 { if cnt < N1 Then sum1 = sum1 + DayClose(cnt); if cnt < N2 Then sum2 = sum2 + DayClose(cnt+1); } avg1 = sum1/N1; avg2 = sum2/N2; T = 0; if avg1 >= avg2 Then T = 1; if avg1 < avg2 Then T = -1; if T == 1 Then { #골드가 발생하면 if var1 > C Then { #value1에 봉번호 저장 value1 = index; #value2에 종가 저장 value2 = C; } #데드가 발생하면 If var1 < C Then { #value3에 봉번호 저장 value3 = index; #value4에 종가 저장 value4 = C; } #무포지션이고 #골드이후 10개봉이상 경과했고 #종가가 직전 10봉의 최고가보다 크고 #종가가 골드봉의 종가보다 크면 #매수 if MarketPosition == 0 and index >= value1+P1 and C > highest(H,P1)[1] and C <= Var4-(Var4-Var5)*매수제한 and RSIV < RSI상한선1 and Simri < Sim상한선1 and V > P100 and value100 >= P1000 and ADXV > ADXV[1] and c > Var8 and c > Var10 and CCIO > I1 and C > value2 then buy("매수",OnClose,def,1); #무포지션이고 #데드이후 10개봉이상 경과했고 #종가가 직전 10봉의 최저가보다 작고 #종가가 데드봉의 종가보다 작으면 #매도 if MarketPosition == 0 and index >= value3+P2 and C < Lowest(L,P2)[1] and C >= Var7+(Var6-Var7)*매도제한 and RSIV > RSI하한선1 and Simri > Sim하한선1 and V > P200 and value100 <= P2000 and ADXV > ADXV[1] and c < Var9 and c < Var11 and CCIO < I2 and C < value4 then Sell("매도",OnClose,def,1); if MarketPosition == 1 then { ExitLong("즉시익절1",AtLimit,EntryPrice+PriceScale*즉시익절1); if C >= EntryPrice+PriceScale*봉완성익절1 Then ExitLong("봉완성익절1"); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*올랐다본전틱수1 Then ExitLong("본전청산1",AtStop,EntryPrice+PriceScale*(본전청산1)); ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1); if c <= EntryPrice-PriceScale*봉완성손절1 Then ExitLong("봉완성손절1"); } if MarketPosition == -1 then { ExitShort("즉시익절2",AtLimit,EntryPrice-PriceScale*즉시익절2); if C <= EntryPrice-PriceScale*봉완성익절2 Then ExitShort("봉완성익절2"); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*올랐다본전틱수2 Then ExitShort("본전청산2",AtStop,EntryPrice-PriceScale*(본전청산2)); ExitShort("즉시손절2",AtStop,EntryPrice+PriceScale*즉시손절2); if c >= EntryPrice+PriceScale*봉완성손절2 Then ExitShort("봉완성손절2"); } } } if T == -1 Then { #골드가 발생하면 if var1 > C Then { #value1에 봉번호 저장 value1 = index; #value2에 종가 저장 value2 = C; } #데드가 발생하면 If var1 < C Then { #value3에 봉번호 저장 value3 = index; #value4에 종가 저장 value4 = C; } #무포지션이고 #골드이후 10개봉이상 경과했고 #종가가 직전 10봉의 최고가보다 크고 #종가가 골드봉의 종가보다 크면 #매수 if MarketPosition == 0 and index >= value1+P1 and C > highest(H,P1)[1] and C <= Var4-(Var4-Var5)*매수제한 and RSIV < RSI상한선2 and Simri < Sim상한선2 and V > P300 and value100 >= P3000 and ADXV > ADXV[1] and c > Var8 and c > Var10 and CCIO > I3 and C > value2 then buy("매수2",OnClose,def,1); #무포지션이고 #데드이후 10개봉이상 경과했고 #종가가 직전 10봉의 최저가보다 작고 #종가가 데드봉의 종가보다 작으면 #매도 if MarketPosition == 0 and index >= value3+P2 and C < Lowest(L,P2)[1] and C >= Var7+(Var6-Var7)*매도제한 and RSIV > RSI하한선2 and Simri > Sim하한선2 and V > P400 and value100 <= P4000 and ADXV > ADXV[1] and c < Var9 and c < Var11 and CCIO < I4 and C < value4 then Sell("매도2",OnClose,def,1); if MarketPosition == 1 then { ExitLong("즉시익절3",AtLimit,EntryPrice+PriceScale*즉시익절3); if C >= EntryPrice+PriceScale*봉완성익절3 Then ExitLong("봉완성익절3"); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*올랐다본전틱수3 Then ExitLong("본전청산3",AtStop,EntryPrice+PriceScale*(본전청산3)); ExitLong("즉시손절3",AtStop,EntryPrice-PriceScale*즉시손절3); if c <= EntryPrice-PriceScale*봉완성손절3 Then ExitLong("봉완성손절3"); } if MarketPosition == -1 then { ExitShort("즉시익절4",AtLimit,EntryPrice-PriceScale*즉시익절4); if C <= EntryPrice-PriceScale*봉완성익절4 Then ExitShort("봉완성익절4"); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*올랐다본전틱수4 Then ExitShort("본전청산4",AtStop,EntryPrice-PriceScale*(본전청산4)); ExitShort("즉시손절4",AtStop,EntryPrice+PriceScale*즉시손절4); if c >= EntryPrice+PriceScale*봉완성손절4 Then ExitShort("봉완성손절4"); } }