커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2022-07-12 13:50:00
1414
글번호 160678
답변완료
안녕하세요? 계좌는 한개인데 시스템 A와 시스템 B를 동시에 돌리고 싶습니다. 전략 실행 차트를 각각 띄우고 각각 적용하는 거 말고 시스템 A와 시스템 B를 한개의 스트립트로 재작성해서 시스템 C를 만들고 싶습니다. 시스템 A와 시스템 B를 각각 동시에 돌린 것과 시스템 C 한개를 돌린 것과 신호와 손익이 같도록 작성 요청드립니다. 시스템 A = 글번호 77970번에서 작성주신 스크립트 시스템 B = 글번호 77955번에서 작성주신 스크립트입니다. /시스템 A 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); /시스템B var : T(0),S(0),mav(0); mav = ma(c,20); if Bdate != Bdate[1] Then { T = 0; S = 0; if L > mav Then T = -1; if H < mav Then T = 1; } if T == -1 and CrossDown(C,mav) Then { S = S+1; if S == 2 Then Sell(); } if T == 1 and CrossUp(C,mav) Then { S = S+1; if S == 2 Then Buy(); } if MarketPosition == 1 and Bdate == Bdate[1] and C < DayLow(0)[1] Then ExitLong("bx",AtMarket); if MarketPosition == -1 and Bdate == Bdate[1] and C > DayHigh(0)[1] Then ExitShort("sx",AtMarket); SetStopEndofday(151500);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-07-13 10:03:40

안녕하세요 예스스탁입니다. var : T(0),S(0),mav(0),t2(0),s2(0); mav = ma(c,20); if Bdate != Bdate[1] Then { T = 0; S = 0; if L[1] > mav[1] and H < mav Then Sell("s1",AtMarket); if H[1] < mav[1] and L > mav Then Buy("b1",AtMarket); T2 = 0; S2 = 0; if L > mav Then T2 = -1; if H < mav Then T2 = 1; } if MarketPosition == -1 Then { if CrossUp(c,mav) Then ExitShort("sx11",AtMarket,Def,"s1"); if L < DayLow(0)[1] and L[1] != DayLow(0)[1] Then { var1 = var1+1; if var1 == 3 Then ExitShort("sx12",OnClose,Def,"s1"); } } Else var1 = 0; if MarketPosition == 1 Then { if CrossDown(c,mav) Then ExitLong("bx11",AtMarket,Def,"b1"); if H > DayHigh(0)[1] and H[1] != DayHigh(0)[1] Then { var2 = var2+1; if var2 == 3 Then ExitLong("bx12",OnClose,Def,"b1"); } } Else Var2 = 0; if T2 == -1 and CrossDown(C,mav) Then { S2 = S2+1; if S2 == 2 Then Sell("s2"); } if T2 == 1 and CrossUp(C,mav) Then { S2 = S2+1; if S2 == 2 Then Buy("b2"); } if MarketPosition == 1 and Bdate == Bdate[1] and C < DayLow(0)[1] Then ExitLong("bx2",AtMarket,Def,"b2"); if MarketPosition == -1 and Bdate == Bdate[1] and C > DayHigh(0)[1] Then ExitShort("sx2",AtMarket,Def,"s2"); SetStopEndofday(151500); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 계좌는 한개인데 시스템 A와 시스템 B를 동시에 돌리고 싶습니다. 전략 실행 차트를 각각 띄우고 각각 적용하는 거 말고 시스템 A와 시스템 B를 한개의 스트립트로 재작성해서 시스템 C를 만들고 싶습니다. 시스템 A와 시스템 B를 각각 동시에 돌린 것과 시스템 C 한개를 돌린 것과 신호와 손익이 같도록 작성 요청드립니다. 시스템 A = 글번호 77970번에서 작성주신 스크립트 시스템 B = 글번호 77955번에서 작성주신 스크립트입니다. /시스템 A 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); /시스템B var : T(0),S(0),mav(0); mav = ma(c,20); if Bdate != Bdate[1] Then { T = 0; S = 0; if L > mav Then T = -1; if H < mav Then T = 1; } if T == -1 and CrossDown(C,mav) Then { S = S+1; if S == 2 Then Sell(); } if T == 1 and CrossUp(C,mav) Then { S = S+1; if S == 2 Then Buy(); } if MarketPosition == 1 and Bdate == Bdate[1] and C < DayLow(0)[1] Then ExitLong("bx",AtMarket); if MarketPosition == -1 and Bdate == Bdate[1] and C > DayHigh(0)[1] Then ExitShort("sx",AtMarket); SetStopEndofday(151500);