커뮤니티

수식. 자동거래가 안됩니다. 부탁드립니다.

프로필 이미지
바바큰
2017-01-25 14:05:43
125
글번호 106280
답변완료
조건이 되도 거래가 안됩니다. 문제가 무엇인지 확인좀 부탁드립니다. 매수진입: 이동평균 120일선이 상승하고있고, MACD가 MACDSignal을 Crossup 하면, 봉기준 하나의 캔들내 가격이 2일선 아래로 떨어지면 매수진입, 단 차트 봉기준 10개 캔들까지만. 10개째 이후는 매수진입 안함 (매수청산): 매수 후 30틱 상승 또는 5일선이 10일선을 Crossdowm하면 (매수)청산 매도진입: 이동평균 120일선이 하락하고 있고, MACD가 MACDSignal을 Crossdown 하면, 봉기준 하나의 캔들내 가격이 2일선 위로 올라가면 매도진입, 단 차트 봉기준 10개 캔들까지만. 10개째 이후는 매도진입 안함 (매도청산): 매도후 30틱 상승 또는 5일선이 10일선을 Crossup하면 (매도)청산 * 매수진입(매도진입)후 다시 매도진입(매수진입) 신호가 나와도 청산시까지 기존 계약 유지 * 당일누적 이익 + 손실 = -50틱 이상이면 진입된 계약 모두 청산 및 거래종료 * 거래시간: 09:00(거래시작) ~ 06:00(진입된 계약 모두 청산) 설정: 시장가, 모든신호 input : P(2),P1(5),P2(10),P3(120),short(12),long(26),sig(9),시작시간(90000),종료시간(60000),당일누적손실틱수(50); var : mav1(0),mav2(0),mav3(0),macdv(0),macds(0),T(0),Tcond(false),Xcond(false),ii(0),당일손실(0); var : N1(0),daypl(0),mav(0); mav = ma(c,P); mav1 = ma(c,P1); mav2 = ma(c,P2); mav3 = ma(c,P3); MACDV = MACD(short,long); MACDS = ema(MACDv,sig); 당일손실 = -PriceScale*당일누적손실틱수; if stime == 시작시간 or (stime > 시작시간[1] and stime[1] < 시작시간) Then { T = 0; Tcond = true; Xcond = false; N1 = NetProfit; } if stime == 종료시간 or (stime > 종료시간[1] and stime[1] < 종료시간) Then { Tcond = false; if MarketPosition == 1 Then ExitLong("종료시간 매수청산"); if MarketPosition == -1 Then ExitShort("종료시간 매도청산"); } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbx",1) or IsExitName("dsx",1)) Then Xcond = true; if mav3 > mav3[1] and crossup(macdv,macds) Then{ T = 1; ii = index; } if mav3 < mav3[1] and CrossDown(macdv,macds) Then{ T = -1; ii = index; } if Tcond == true and Xcond == false then{ if MarketPosition == 0 and T == 1 and index <= ii+10 and CrossDown(c,mav) Then buy("매수"); if MarketPosition == 0 and T == -1 and index <= ii+10 and CrossUp(c,mav) Then sell("매도"); } if MarketPosition == 1 then{ ExitLong("30틱상승매수청산",atlimit,EntryPrice+PriceScale*30); ExitLong("누적손실매수청산",atlimit,EntryPrice-당일손실-daypl ); if CrossDown(mav1,mav2) Then exitlong("10일선하향청산"); } if MarketPosition == -1 then{ ExitShort("30틱상승매도청산",atlimit,EntryPrice-PriceScale*30); ExitShort("누적손실매도청산",atlimit,EntryPrice+당일손실+daypl ); if CrossUp(mav1,mav2) Then ExitShort("10일선상향청산"); }
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2017-01-25 15:20:35

안녕하세요 예스스탁입니다. 1 해당식 시간파악을 시작시간과 종료시간을 최초 달성하는 봉입니다. 예를 들어 국내선물과 같이 야간장이 05시에 끝나면 06시봉이 없으므로 6시이후의 첫봉이 주간장 시작봉이 9시 봉입니다. 시작시간조건과 종료시간 조건이 동일하게 되므로 tcond가 false만 나오게 됩니다. 수식은 위에서 아래로 읽어 내려가므로 종료시간먼저 체크하고 시작시간을 이후에 체크하게 수정했습니다. 또한 종료시간도 국내선물 기준으로해서 4시 30분으로 수정했습니다. 해당 부분은 사용자분이 아래 시간 지표 적용하셔서 겹치지 않는 시간대로 지정해 주셔야 합니다. plot1(stime); 2 당일손실청산을 하는 청산식의 이름을 변경하시면 당일손실청산이 발생했다는 것을 파악하는 if문에서 동일한 이름을 지정해 주셔야 합니다. 3 아래는 수정한 식입니다. input : P(2),P1(5),P2(10),P3(120),short(12),long(26),sig(9),시작시간(90000),종료시간(43000),당일누적손실틱수(50); var : mav1(0),mav2(0),mav3(0),macdv(0),macds(0),T(0),Tcond(false),Xcond(false),ii(0),당일손실(0); var : N1(0),daypl(0),mav(0); mav = ma(c,P); mav1 = ma(c,P1); mav2 = ma(c,P2); mav3 = ma(c,P3); MACDV = MACD(short,long); MACDS = ema(MACDv,sig); 당일손실 = -PriceScale*당일누적손실틱수; if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then { Tcond = false; if MarketPosition == 1 Then ExitLong("종료시간 매수청산"); if MarketPosition == -1 Then ExitShort("종료시간 매도청산"); } if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then { T = 0; Tcond = true; Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("누적손실매수청산",1) or IsExitName("누적손실매도청산",1)) Then Xcond = true; if mav3 > mav3[1] and crossup(macdv,macds) Then{ T = 1; ii = index; } if mav3 < mav3[1] and CrossDown(macdv,macds) Then{ T = -1; ii = index; } if Tcond == true and Xcond == false then{ if MarketPosition == 0 and T == 1 and index <= ii+10 and CrossDown(c,mav) Then buy("매수"); if MarketPosition == 0 and T == -1 and index <= ii+10 and CrossUp(c,mav) Then sell("매도"); } if MarketPosition == 1 then{ ExitLong("30틱상승매수청산",atlimit,EntryPrice+PriceScale*30); ExitLong("누적손실매수청산",atlimit,EntryPrice-당일손실-daypl ); if CrossDown(mav1,mav2) Then exitlong("10일선하향청산"); } if MarketPosition == -1 then{ ExitShort("30틱상승매도청산",atlimit,EntryPrice-PriceScale*30); ExitShort("누적손실매도청산",atlimit,EntryPrice+당일손실+daypl ); if CrossUp(mav1,mav2) Then ExitShort("10일선상향청산"); } 즐거운 하루되세요 > 바바큰 님이 쓴 글입니다. > 제목 : 수식. 자동거래가 안됩니다. 부탁드립니다. > 조건이 되도 거래가 안됩니다. 문제가 무엇인지 확인좀 부탁드립니다. 매수진입: 이동평균 120일선이 상승하고있고, MACD가 MACDSignal을 Crossup 하면, 봉기준 하나의 캔들내 가격이 2일선 아래로 떨어지면 매수진입, 단 차트 봉기준 10개 캔들까지만. 10개째 이후는 매수진입 안함 (매수청산): 매수 후 30틱 상승 또는 5일선이 10일선을 Crossdowm하면 (매수)청산 매도진입: 이동평균 120일선이 하락하고 있고, MACD가 MACDSignal을 Crossdown 하면, 봉기준 하나의 캔들내 가격이 2일선 위로 올라가면 매도진입, 단 차트 봉기준 10개 캔들까지만. 10개째 이후는 매도진입 안함 (매도청산): 매도후 30틱 상승 또는 5일선이 10일선을 Crossup하면 (매도)청산 * 매수진입(매도진입)후 다시 매도진입(매수진입) 신호가 나와도 청산시까지 기존 계약 유지 * 당일누적 이익 + 손실 = -50틱 이상이면 진입된 계약 모두 청산 및 거래종료 * 거래시간: 09:00(거래시작) ~ 06:00(진입된 계약 모두 청산) 설정: 시장가, 모든신호 input : P(2),P1(5),P2(10),P3(120),short(12),long(26),sig(9),시작시간(90000),종료시간(60000),당일누적손실틱수(50); var : mav1(0),mav2(0),mav3(0),macdv(0),macds(0),T(0),Tcond(false),Xcond(false),ii(0),당일손실(0); var : N1(0),daypl(0),mav(0); mav = ma(c,P); mav1 = ma(c,P1); mav2 = ma(c,P2); mav3 = ma(c,P3); MACDV = MACD(short,long); MACDS = ema(MACDv,sig); 당일손실 = -PriceScale*당일누적손실틱수; if stime == 시작시간 or (stime > 시작시간[1] and stime[1] < 시작시간) Then { T = 0; Tcond = true; Xcond = false; N1 = NetProfit; } if stime == 종료시간 or (stime > 종료시간[1] and stime[1] < 종료시간) Then { Tcond = false; if MarketPosition == 1 Then ExitLong("종료시간 매수청산"); if MarketPosition == -1 Then ExitShort("종료시간 매도청산"); } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbx",1) or IsExitName("dsx",1)) Then Xcond = true; if mav3 > mav3[1] and crossup(macdv,macds) Then{ T = 1; ii = index; } if mav3 < mav3[1] and CrossDown(macdv,macds) Then{ T = -1; ii = index; } if Tcond == true and Xcond == false then{ if MarketPosition == 0 and T == 1 and index <= ii+10 and CrossDown(c,mav) Then buy("매수"); if MarketPosition == 0 and T == -1 and index <= ii+10 and CrossUp(c,mav) Then sell("매도"); } if MarketPosition == 1 then{ ExitLong("30틱상승매수청산",atlimit,EntryPrice+PriceScale*30); ExitLong("누적손실매수청산",atlimit,EntryPrice-당일손실-daypl ); if CrossDown(mav1,mav2) Then exitlong("10일선하향청산"); } if MarketPosition == -1 then{ ExitShort("30틱상승매도청산",atlimit,EntryPrice-PriceScale*30); ExitShort("누적손실매도청산",atlimit,EntryPrice+당일손실+daypl ); if CrossUp(mav1,mav2) Then ExitShort("10일선상향청산"); }
프로필 이미지

바바큰

2017-01-25 15:37:41

해외선물 거래의 경우 아래와 같이 해도 되는건가요? 한국시간 09시부터 새벽6시까지 시작시간(90000),종료시간(60000) > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식. 자동거래가 안됩니다. 부탁드립니다. > 안녕하세요 예스스탁입니다. 1 해당식 시간파악을 시작시간과 종료시간을 최초 달성하는 봉입니다. 예를 들어 국내선물과 같이 야간장이 05시에 끝나면 06시봉이 없으므로 6시이후의 첫봉이 주간장 시작봉이 9시 봉입니다. 시작시간조건과 종료시간 조건이 동일하게 되므로 tcond가 false만 나오게 됩니다. 수식은 위에서 아래로 읽어 내려가므로 종료시간먼저 체크하고 시작시간을 이후에 체크하게 수정했습니다. 또한 종료시간도 국내선물 기준으로해서 4시 30분으로 수정했습니다. 해당 부분은 사용자분이 아래 시간 지표 적용하셔서 겹치지 않는 시간대로 지정해 주셔야 합니다. plot1(stime); 2 당일손실청산을 하는 청산식의 이름을 변경하시면 당일손실청산이 발생했다는 것을 파악하는 if문에서 동일한 이름을 지정해 주셔야 합니다. 3 아래는 수정한 식입니다. input : P(2),P1(5),P2(10),P3(120),short(12),long(26),sig(9),시작시간(90000),종료시간(43000),당일누적손실틱수(50); var : mav1(0),mav2(0),mav3(0),macdv(0),macds(0),T(0),Tcond(false),Xcond(false),ii(0),당일손실(0); var : N1(0),daypl(0),mav(0); mav = ma(c,P); mav1 = ma(c,P1); mav2 = ma(c,P2); mav3 = ma(c,P3); MACDV = MACD(short,long); MACDS = ema(MACDv,sig); 당일손실 = -PriceScale*당일누적손실틱수; if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then { Tcond = false; if MarketPosition == 1 Then ExitLong("종료시간 매수청산"); if MarketPosition == -1 Then ExitShort("종료시간 매도청산"); } if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then { T = 0; Tcond = true; Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("누적손실매수청산",1) or IsExitName("누적손실매도청산",1)) Then Xcond = true; if mav3 > mav3[1] and crossup(macdv,macds) Then{ T = 1; ii = index; } if mav3 < mav3[1] and CrossDown(macdv,macds) Then{ T = -1; ii = index; } if Tcond == true and Xcond == false then{ if MarketPosition == 0 and T == 1 and index <= ii+10 and CrossDown(c,mav) Then buy("매수"); if MarketPosition == 0 and T == -1 and index <= ii+10 and CrossUp(c,mav) Then sell("매도"); } if MarketPosition == 1 then{ ExitLong("30틱상승매수청산",atlimit,EntryPrice+PriceScale*30); ExitLong("누적손실매수청산",atlimit,EntryPrice-당일손실-daypl ); if CrossDown(mav1,mav2) Then exitlong("10일선하향청산"); } if MarketPosition == -1 then{ ExitShort("30틱상승매도청산",atlimit,EntryPrice-PriceScale*30); ExitShort("누적손실매도청산",atlimit,EntryPrice+당일손실+daypl ); if CrossUp(mav1,mav2) Then ExitShort("10일선상향청산"); } 즐거운 하루되세요 > 바바큰 님이 쓴 글입니다. > 제목 : 수식. 자동거래가 안됩니다. 부탁드립니다. > 조건이 되도 거래가 안됩니다. 문제가 무엇인지 확인좀 부탁드립니다. 매수진입: 이동평균 120일선이 상승하고있고, MACD가 MACDSignal을 Crossup 하면, 봉기준 하나의 캔들내 가격이 2일선 아래로 떨어지면 매수진입, 단 차트 봉기준 10개 캔들까지만. 10개째 이후는 매수진입 안함 (매수청산): 매수 후 30틱 상승 또는 5일선이 10일선을 Crossdowm하면 (매수)청산 매도진입: 이동평균 120일선이 하락하고 있고, MACD가 MACDSignal을 Crossdown 하면, 봉기준 하나의 캔들내 가격이 2일선 위로 올라가면 매도진입, 단 차트 봉기준 10개 캔들까지만. 10개째 이후는 매도진입 안함 (매도청산): 매도후 30틱 상승 또는 5일선이 10일선을 Crossup하면 (매도)청산 * 매수진입(매도진입)후 다시 매도진입(매수진입) 신호가 나와도 청산시까지 기존 계약 유지 * 당일누적 이익 + 손실 = -50틱 이상이면 진입된 계약 모두 청산 및 거래종료 * 거래시간: 09:00(거래시작) ~ 06:00(진입된 계약 모두 청산) 설정: 시장가, 모든신호 input : P(2),P1(5),P2(10),P3(120),short(12),long(26),sig(9),시작시간(90000),종료시간(60000),당일누적손실틱수(50); var : mav1(0),mav2(0),mav3(0),macdv(0),macds(0),T(0),Tcond(false),Xcond(false),ii(0),당일손실(0); var : N1(0),daypl(0),mav(0); mav = ma(c,P); mav1 = ma(c,P1); mav2 = ma(c,P2); mav3 = ma(c,P3); MACDV = MACD(short,long); MACDS = ema(MACDv,sig); 당일손실 = -PriceScale*당일누적손실틱수; if stime == 시작시간 or (stime > 시작시간[1] and stime[1] < 시작시간) Then { T = 0; Tcond = true; Xcond = false; N1 = NetProfit; } if stime == 종료시간 or (stime > 종료시간[1] and stime[1] < 종료시간) Then { Tcond = false; if MarketPosition == 1 Then ExitLong("종료시간 매수청산"); if MarketPosition == -1 Then ExitShort("종료시간 매도청산"); } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbx",1) or IsExitName("dsx",1)) Then Xcond = true; if mav3 > mav3[1] and crossup(macdv,macds) Then{ T = 1; ii = index; } if mav3 < mav3[1] and CrossDown(macdv,macds) Then{ T = -1; ii = index; } if Tcond == true and Xcond == false then{ if MarketPosition == 0 and T == 1 and index <= ii+10 and CrossDown(c,mav) Then buy("매수"); if MarketPosition == 0 and T == -1 and index <= ii+10 and CrossUp(c,mav) Then sell("매도"); } if MarketPosition == 1 then{ ExitLong("30틱상승매수청산",atlimit,EntryPrice+PriceScale*30); ExitLong("누적손실매수청산",atlimit,EntryPrice-당일손실-daypl ); if CrossDown(mav1,mav2) Then exitlong("10일선하향청산"); } if MarketPosition == -1 then{ ExitShort("30틱상승매도청산",atlimit,EntryPrice-PriceScale*30); ExitShort("누적손실매도청산",atlimit,EntryPrice+당일손실+daypl ); if CrossUp(mav1,mav2) Then ExitShort("10일선상향청산"); }
프로필 이미지

예스스탁 예스스탁 답변

2017-01-25 16:16:36

안녕하세요 예스스탁입니다. 해외선물은 사용자분이 거래하시는 종목의 시간대를 확인하시고 시간을 설정하셔야 합니다. 종목별로 거래시간이 다릅니다. 첨부된 그림의 유로fx와 같이 해당 종목의 영업일 마지막봉이 6시가 아니고 새로운 영업일 시작시간이 9시가 아니면 해당 설정 사용하셔도 됩니다. 즐거운 하루되세요 > 바바큰 님이 쓴 글입니다. > 제목 : Re : Re : 수식. 자동거래가 안됩니다. 부탁드립니다. > 해외선물 거래의 경우 아래와 같이 해도 되는건가요? 한국시간 09시부터 새벽6시까지 시작시간(90000),종료시간(60000) > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식. 자동거래가 안됩니다. 부탁드립니다. > 안녕하세요 예스스탁입니다. 1 해당식 시간파악을 시작시간과 종료시간을 최초 달성하는 봉입니다. 예를 들어 국내선물과 같이 야간장이 05시에 끝나면 06시봉이 없으므로 6시이후의 첫봉이 주간장 시작봉이 9시 봉입니다. 시작시간조건과 종료시간 조건이 동일하게 되므로 tcond가 false만 나오게 됩니다. 수식은 위에서 아래로 읽어 내려가므로 종료시간먼저 체크하고 시작시간을 이후에 체크하게 수정했습니다. 또한 종료시간도 국내선물 기준으로해서 4시 30분으로 수정했습니다. 해당 부분은 사용자분이 아래 시간 지표 적용하셔서 겹치지 않는 시간대로 지정해 주셔야 합니다. plot1(stime); 2 당일손실청산을 하는 청산식의 이름을 변경하시면 당일손실청산이 발생했다는 것을 파악하는 if문에서 동일한 이름을 지정해 주셔야 합니다. 3 아래는 수정한 식입니다. input : P(2),P1(5),P2(10),P3(120),short(12),long(26),sig(9),시작시간(90000),종료시간(43000),당일누적손실틱수(50); var : mav1(0),mav2(0),mav3(0),macdv(0),macds(0),T(0),Tcond(false),Xcond(false),ii(0),당일손실(0); var : N1(0),daypl(0),mav(0); mav = ma(c,P); mav1 = ma(c,P1); mav2 = ma(c,P2); mav3 = ma(c,P3); MACDV = MACD(short,long); MACDS = ema(MACDv,sig); 당일손실 = -PriceScale*당일누적손실틱수; if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then { Tcond = false; if MarketPosition == 1 Then ExitLong("종료시간 매수청산"); if MarketPosition == -1 Then ExitShort("종료시간 매도청산"); } if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then { T = 0; Tcond = true; Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("누적손실매수청산",1) or IsExitName("누적손실매도청산",1)) Then Xcond = true; if mav3 > mav3[1] and crossup(macdv,macds) Then{ T = 1; ii = index; } if mav3 < mav3[1] and CrossDown(macdv,macds) Then{ T = -1; ii = index; } if Tcond == true and Xcond == false then{ if MarketPosition == 0 and T == 1 and index <= ii+10 and CrossDown(c,mav) Then buy("매수"); if MarketPosition == 0 and T == -1 and index <= ii+10 and CrossUp(c,mav) Then sell("매도"); } if MarketPosition == 1 then{ ExitLong("30틱상승매수청산",atlimit,EntryPrice+PriceScale*30); ExitLong("누적손실매수청산",atlimit,EntryPrice-당일손실-daypl ); if CrossDown(mav1,mav2) Then exitlong("10일선하향청산"); } if MarketPosition == -1 then{ ExitShort("30틱상승매도청산",atlimit,EntryPrice-PriceScale*30); ExitShort("누적손실매도청산",atlimit,EntryPrice+당일손실+daypl ); if CrossUp(mav1,mav2) Then ExitShort("10일선상향청산"); } 즐거운 하루되세요 > 바바큰 님이 쓴 글입니다. > 제목 : 수식. 자동거래가 안됩니다. 부탁드립니다. > 조건이 되도 거래가 안됩니다. 문제가 무엇인지 확인좀 부탁드립니다. 매수진입: 이동평균 120일선이 상승하고있고, MACD가 MACDSignal을 Crossup 하면, 봉기준 하나의 캔들내 가격이 2일선 아래로 떨어지면 매수진입, 단 차트 봉기준 10개 캔들까지만. 10개째 이후는 매수진입 안함 (매수청산): 매수 후 30틱 상승 또는 5일선이 10일선을 Crossdowm하면 (매수)청산 매도진입: 이동평균 120일선이 하락하고 있고, MACD가 MACDSignal을 Crossdown 하면, 봉기준 하나의 캔들내 가격이 2일선 위로 올라가면 매도진입, 단 차트 봉기준 10개 캔들까지만. 10개째 이후는 매도진입 안함 (매도청산): 매도후 30틱 상승 또는 5일선이 10일선을 Crossup하면 (매도)청산 * 매수진입(매도진입)후 다시 매도진입(매수진입) 신호가 나와도 청산시까지 기존 계약 유지 * 당일누적 이익 + 손실 = -50틱 이상이면 진입된 계약 모두 청산 및 거래종료 * 거래시간: 09:00(거래시작) ~ 06:00(진입된 계약 모두 청산) 설정: 시장가, 모든신호 input : P(2),P1(5),P2(10),P3(120),short(12),long(26),sig(9),시작시간(90000),종료시간(60000),당일누적손실틱수(50); var : mav1(0),mav2(0),mav3(0),macdv(0),macds(0),T(0),Tcond(false),Xcond(false),ii(0),당일손실(0); var : N1(0),daypl(0),mav(0); mav = ma(c,P); mav1 = ma(c,P1); mav2 = ma(c,P2); mav3 = ma(c,P3); MACDV = MACD(short,long); MACDS = ema(MACDv,sig); 당일손실 = -PriceScale*당일누적손실틱수; if stime == 시작시간 or (stime > 시작시간[1] and stime[1] < 시작시간) Then { T = 0; Tcond = true; Xcond = false; N1 = NetProfit; } if stime == 종료시간 or (stime > 종료시간[1] and stime[1] < 종료시간) Then { Tcond = false; if MarketPosition == 1 Then ExitLong("종료시간 매수청산"); if MarketPosition == -1 Then ExitShort("종료시간 매도청산"); } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbx",1) or IsExitName("dsx",1)) Then Xcond = true; if mav3 > mav3[1] and crossup(macdv,macds) Then{ T = 1; ii = index; } if mav3 < mav3[1] and CrossDown(macdv,macds) Then{ T = -1; ii = index; } if Tcond == true and Xcond == false then{ if MarketPosition == 0 and T == 1 and index <= ii+10 and CrossDown(c,mav) Then buy("매수"); if MarketPosition == 0 and T == -1 and index <= ii+10 and CrossUp(c,mav) Then sell("매도"); } if MarketPosition == 1 then{ ExitLong("30틱상승매수청산",atlimit,EntryPrice+PriceScale*30); ExitLong("누적손실매수청산",atlimit,EntryPrice-당일손실-daypl ); if CrossDown(mav1,mav2) Then exitlong("10일선하향청산"); } if MarketPosition == -1 then{ ExitShort("30틱상승매도청산",atlimit,EntryPrice-PriceScale*30); ExitShort("누적손실매도청산",atlimit,EntryPrice+당일손실+daypl ); if CrossUp(mav1,mav2) Then ExitShort("10일선상향청산"); }