커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2022-08-17 15:42:05
1206
글번호 161564
답변완료
안녕하세요? 글번호 78483번 재질문입니다. 글번호 77970번에서 작성주신 스크립트 var : T(0),S(0),mav(0); mav = ma(c,20); if Bdate != Bdate[1] Then { T = 0; S = 0; if L[1] > mav[1] and H < mav Then Sell("s",AtMarket); if H[1] < mav[1] and L > mav Then Buy("b",AtMarket); } if MarketPosition == -1 Then { if CrossUp(c,mav) Then ExitShort("sx",AtMarket); if L < DayLow(0)[1] and L[1] != DayLow(0)[1] Then { var1 = var1+1; if var1 == 3 Then ExitShort("sx1"); } } Else var1 = 0; if MarketPosition == 1 Then { if CrossDown(c,mav) Then ExitLong("bx",AtMarket); if H > DayHigh(0)[1] and H[1] != DayHigh(0)[1] Then { var2 = var2+1; if var2 == 3 Then ExitLong("bx1"); } } Else Var2 = 0; SetStopEndofday(151500); 에 글번호 78483번 2번에서 작성 주신 함수를 적용하여 스크립트로 작성 요청드립니다. 2 만약 MACD오실레이터 조건은 첫봉에서만 조건을 체크하는게 아니면 아래와 같이 진입식 변경하시면 됩니다. if Bdate != Bdate[1] Then { T = 0; if L[1] > mav[1] and H < mav Then T = -1; if H[1] < mav[1] and L > mav Then T = 1; } if T == -1 and MACDO > 0 and MACDO < MACDO[1] Then Sell("s",AtMarket); if T == 1 and MACDO < 0 and MACDO > MACDO[1] Then Buy("b",AtMarket);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-08-18 08:58:30

안녕하세요 예스스탁입니다. input : short(12),long(26),sig(9); var : t(0),mav(0),macdo(0); mav = ma(c,20); macdo = MACD_OSC(short,long,sig); if Bdate != Bdate[1] Then { T = 0; if L[1] > mav[1] and H < mav Then T = -1; if H[1] < mav[1] and L > mav Then T = 1; } if T == -1 and MACDO > 0 and MACDO < MACDO[1] Then Sell("s",AtMarket); if T == 1 and MACDO < 0 and MACDO > MACDO[1] Then Buy("b",AtMarket); if MarketPosition == -1 Then { if CrossUp(c,mav) Then ExitShort("sx",AtMarket); if L < DayLow(0)[1] and L[1] != DayLow(0)[1] Then { var1 = var1+1; if var1 == 3 Then ExitShort("sx1"); } } Else var1 = 0; if MarketPosition == 1 Then { if CrossDown(c,mav) Then ExitLong("bx",AtMarket); if H > DayHigh(0)[1] and H[1] != DayHigh(0)[1] Then { var2 = var2+1; if var2 == 3 Then ExitLong("bx1"); } } Else Var2 = 0; SetStopEndofday(151500); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 글번호 78483번 재질문입니다. 글번호 77970번에서 작성주신 스크립트 var : T(0),S(0),mav(0); mav = ma(c,20); if Bdate != Bdate[1] Then { T = 0; S = 0; if L[1] > mav[1] and H < mav Then Sell("s",AtMarket); if H[1] < mav[1] and L > mav Then Buy("b",AtMarket); } if MarketPosition == -1 Then { if CrossUp(c,mav) Then ExitShort("sx",AtMarket); if L < DayLow(0)[1] and L[1] != DayLow(0)[1] Then { var1 = var1+1; if var1 == 3 Then ExitShort("sx1"); } } Else var1 = 0; if MarketPosition == 1 Then { if CrossDown(c,mav) Then ExitLong("bx",AtMarket); if H > DayHigh(0)[1] and H[1] != DayHigh(0)[1] Then { var2 = var2+1; if var2 == 3 Then ExitLong("bx1"); } } Else Var2 = 0; SetStopEndofday(151500); 에 글번호 78483번 2번에서 작성 주신 함수를 적용하여 스크립트로 작성 요청드립니다. 2 만약 MACD오실레이터 조건은 첫봉에서만 조건을 체크하는게 아니면 아래와 같이 진입식 변경하시면 됩니다. if Bdate != Bdate[1] Then { T = 0; if L[1] > mav[1] and H < mav Then T = -1; if H[1] < mav[1] and L > mav Then T = 1; } if T == -1 and MACDO > 0 and MACDO < MACDO[1] Then Sell("s",AtMarket); if T == 1 and MACDO < 0 and MACDO > MACDO[1] Then Buy("b",AtMarket);