커뮤니티

수식문의

프로필 이미지
softtoug
2019-05-02 00:14:06
215
글번호 128286
답변완료
안녕하세요 1. 하기 수식에서 진입을 그냥 한개만 하게끔 부탁드립니다. 2. 최초 매수 진입시 볼린져 밴드 하단에서 진입 하게 될 경우, 완성봉이 볼린져 밴드 상단으로 진입했다가 다시 하단으로 내려오면 청산하게 부탁드립니다. 매도는 반대로 부탁드립니다. 3. 매수진입시 볼린져 밴드 상단밖에서 진입해야 할 경우는 진입하지 못하게 부탁드립니다. 매도진입시 볼린져 밴드 하단밖에서 진입해야 할 경우는 진입하지 못하게 부탁드립니다. 4. 최초 매수 진입시 볼린져 밴드 이평과 상단 사이에서 진입하게 될 경우, 볼린져 밴드 하단에 완성봉이 생기면 청산 부탁 드립니다. 매도는 반대로 부탁드립니다. - 옵션으로 청산과 동시에 반대매매 진입하게 참고식도 부탁드립니다. 번거롭게해서 죄송합니다. 감사합니다. Input : short(12), long(26), signal(9); Var : MACDv1(0,data1), MACDs1(0,data1),macdo1(0,data1); Var : MACDv2(0,data2), MACDs2(0,data2),macdo2(0,data2); var : Bcond(false,data1),Scond(false,data1); MACDv1 = data1(MACD(short, long)); MACDs1 = data1(ema(MACDv1,signal)); macdo1 = data1(MACDv1-MACDs1); MACDv2 = data2(MACD(short, long)); MACDs2 = data2(ema(MACDv2,signal)); macdo2 = data2(MACDv2-MACDs2); Bcond = macdo1 > 0 and macdo2 > 0; Scond = macdo1 < 0 and macdo2 < 0; if Bcond == true and Bcond[1] == false then buy("b",OnClose,def,2); if Scond == true and Scond[1] == false Then sell("s",OnClose,def,2); if MarketPosition == 1 Then ExitLong("bx1",atlimit,EntryPrice+PriceScale*20,"",1,1); if MarketPosition == -1 Then ExitShort("sx1",atlimit,EntryPrice-PriceScale*20,"",1,1); 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-05-02 10:29:11

안녕하세요 예스스탁입니다. 기존수식이 스위칭이 되는 수식입니다. Input : short(12), long(26), signal(9); Input : Period(20), MultiD(2); var : BBmd(0,data1),BBup(0,data1),BBdn(0,data1); Var : MACDv1(0,data1), MACDs1(0,data1),macdo1(0,data1); Var : MACDv2(0,data2), MACDs2(0,data2),macdo2(0,data2); var : Bcond(false,data1),Scond(false,data1); MACDv1 = data1(MACD(short, long)); MACDs1 = data1(ema(MACDv1,signal)); macdo1 = data1(MACDv1-MACDs1); MACDv2 = data2(MACD(short, long)); MACDs2 = data2(ema(MACDv2,signal)); macdo2 = data2(MACDv2-MACDs2); BBmd = data1(ma(C,Period)); BBup = data1(BollBandUp(Period,MultiD)); BBdn = data1(BollBandDown(Period,MultiD)); Bcond = macdo1 > 0 and macdo2 > 0; Scond = macdo1 < 0 and macdo2 < 0; if Bcond == true and Bcond[1] == false then { if data1(C<=BBdn) Then buy("b1",OnClose,def,1); if data1(C >= BBmd and C < BBup) Then buy("b2",OnClose,def,1); } if Scond == true and Scond[1] == false Then { if data1(C>=BBup) Then sell("s1",OnClose,def,1); if data1(C<=BBmd and C > BBdn) Then sell("s2",OnClose,def,1); } if MarketPosition == 1 Then { if IsEntryName("b1") == true and data1(countif(C>BBup,BarsSinceEntry) >= 1) and C < BBdn Then ExitLong("bx1"); if IsEntryName("b2") == true and C < BBdn Then ExitLong("bx2"); ExitLong("bp",atlimit,EntryPrice+PriceScale*20,"",1,1); } if MarketPosition == -1 Then { if IsEntryName("s1") == true and data1(countif(C<BBdn,BarsSinceEntry) >= 1) and C > BBup Then ExitShort("sx1"); if IsEntryName("s2") == true and data1(C > BBup) Then ExitShort("sx2"); ExitShort("sp",atlimit,EntryPrice-PriceScale*20,"",1,1); } 즐거운 하루되세요 > softtoug 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요 1. 하기 수식에서 진입을 그냥 한개만 하게끔 부탁드립니다. 2. 최초 매수 진입시 볼린져 밴드 하단에서 진입 하게 될 경우, 완성봉이 볼린져 밴드 상단으로 진입했다가 다시 하단으로 내려오면 청산하게 부탁드립니다. 매도는 반대로 부탁드립니다. 3. 매수진입시 볼린져 밴드 상단밖에서 진입해야 할 경우는 진입하지 못하게 부탁드립니다. 매도진입시 볼린져 밴드 하단밖에서 진입해야 할 경우는 진입하지 못하게 부탁드립니다. 4. 최초 매수 진입시 볼린져 밴드 이평과 상단 사이에서 진입하게 될 경우, 볼린져 밴드 하단에 완성봉이 생기면 청산 부탁 드립니다. 매도는 반대로 부탁드립니다. - 옵션으로 청산과 동시에 반대매매 진입하게 참고식도 부탁드립니다. 번거롭게해서 죄송합니다. 감사합니다. Input : short(12), long(26), signal(9); Var : MACDv1(0,data1), MACDs1(0,data1),macdo1(0,data1); Var : MACDv2(0,data2), MACDs2(0,data2),macdo2(0,data2); var : Bcond(false,data1),Scond(false,data1); MACDv1 = data1(MACD(short, long)); MACDs1 = data1(ema(MACDv1,signal)); macdo1 = data1(MACDv1-MACDs1); MACDv2 = data2(MACD(short, long)); MACDs2 = data2(ema(MACDv2,signal)); macdo2 = data2(MACDv2-MACDs2); Bcond = macdo1 > 0 and macdo2 > 0; Scond = macdo1 < 0 and macdo2 < 0; if Bcond == true and Bcond[1] == false then buy("b",OnClose,def,2); if Scond == true and Scond[1] == false Then sell("s",OnClose,def,2); if MarketPosition == 1 Then ExitLong("bx1",atlimit,EntryPrice+PriceScale*20,"",1,1); if MarketPosition == -1 Then ExitShort("sx1",atlimit,EntryPrice-PriceScale*20,"",1,1); 감사합니다.