커뮤니티

수식 관련 질문입니다

프로필 이미지
이태리
2019-07-02 14:38:04
137
글번호 129923
답변완료
input : P1(1),P2(2); var1 = ema(C,P1); var2 = ema(C,P2); if crossup(var1,var2) Then buy("b",OnClose,def,6); if CrossDown(var1,var2) Then sell("s",OnClose,def,6); if MarketPosition == 1 then { ExitLong("bx1",atlimit,EntryPrice+PriceScale*25,"",1,1); ExitLong("bx2",atlimit,EntryPrice+PriceScale*35,"",1,1); ExitLong("bx3",atlimit,EntryPrice+PriceScale*45,"",1,1); ExitLong("bx4",atlimit,EntryPrice+PriceScale*55,"",1,1); ExitLong("bx5",atlimit,EntryPrice+PriceScale*65,"",1,1); ExitLong("bx6",atlimit,EntryPrice+PriceScale*75,"",1,1); } if MarketPosition == -1 then { ExitShort("sx1",atlimit,EntryPrice-PriceScale*25,"",1,1); ExitShort("sx2",atlimit,EntryPrice-PriceScale*35,"",1,1); ExitShort("sx3",atlimit,EntryPrice-PriceScale*45,"",1,1); ExitShort("sx4",atlimit,EntryPrice-PriceScale*55,"",1,1); ExitShort("sx5",atlimit,EntryPrice-PriceScale*65,"",1,1); ExitShort("sx6",atlimit,EntryPrice-PriceScale*75,"",1,1); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-07-02 08:58:25

안녕하세요 예스스탁입니다. 1 올려주신 수식은 1계약씩 6회에 걸쳐 청산하는 내용입니다. 분할진입 분할청산은 진입조건에 따라 케이스가 다릅니다. 청산함수가 진입횟수만큼 발생하므로 각 청산은 진입이후 한번씩만 발생하고 지정한 가격조건에 충족되면 한번에 4계약씩 청산하게 수정해 드립니다. if MarketPosition == 1 then { if countif(LatestExitName(0) == "bx1",BarsSinceEntry) < 1 then ExitLong("bx1",atlimit,EntryPrice+PriceScale*25,"",4,1); if countif(LatestExitName(0) == "bx2",BarsSinceEntry) < 1 then ExitLong("bx2",atlimit,EntryPrice+PriceScale*35,"",4,1); if countif(LatestExitName(0) == "bx3",BarsSinceEntry) < 1 then ExitLong("bx3",atlimit,EntryPrice+PriceScale*45,"",4,1); if countif(LatestExitName(0) == "bx4",BarsSinceEntry) < 1 then ExitLong("bx4",atlimit,EntryPrice+PriceScale*55,"",4,1); if countif(LatestExitName(0) == "bx5",BarsSinceEntry) < 1 then ExitLong("bx5",atlimit,EntryPrice+PriceScale*65,"",4,1); if countif(LatestExitName(0) == "bx6",BarsSinceEntry) < 1 then ExitLong("bx6",atlimit,EntryPrice+PriceScale*75,"",4,1); } if MarketPosition == -1 then { if countif(LatestExitName(0) == "sx1",BarsSinceEntry) < 1 then ExitShort("sx1",atlimit,EntryPrice-PriceScale*25,"",1,1); if countif(LatestExitName(0) == "sx2",BarsSinceEntry) < 1 then ExitShort("sx2",atlimit,EntryPrice-PriceScale*35,"",1,1); if countif(LatestExitName(0) == "sx3",BarsSinceEntry) < 1 then ExitShort("sx3",atlimit,EntryPrice-PriceScale*45,"",1,1); if countif(LatestExitName(0) == "sx4",BarsSinceEntry) < 1 then ExitShort("sx4",atlimit,EntryPrice-PriceScale*55,"",1,1); if countif(LatestExitName(0) == "sx5",BarsSinceEntry) < 1 then ExitShort("sx5",atlimit,EntryPrice-PriceScale*65,"",1,1); if countif(LatestExitName(0) == "sx6",BarsSinceEntry) < 1 then ExitShort("sx6",atlimit,EntryPrice-PriceScale*75,"",1,1); } 2 하나의 컴퓨터에서 차트창을 3개 띄우시고 각각 종목 설정 하신후에 시스템 적용하시면 됩니다. 즐거운 하루되세요 > 이태리 님이 쓴 글입니다. > 제목 : 수식 관련 질문입니다 > 예전에 수식 부탁드려 잘 받아보았습니다 스탠다드 종목이 아닌 micro 종목을 매매할려고요.... 한번에 micro 4계약씩 6번 분할로 진입,청산하고 싶은데요 아래식을 어떻게 수정해야 하나요? ExitLong("bx1",atlimit,EntryPrice+PriceScale*25,"",1,1); ExitLong("bx2",atlimit,EntryPrice+PriceScale*35,"",1,1); ExitLong("bx3",atlimit,EntryPrice+PriceScale*45,"",1,1); ExitLong("bx4",atlimit,EntryPrice+PriceScale*55,"",1,1); ExitLong("bx5",atlimit,EntryPrice+PriceScale*65,"",1,1); ExitLong("bx6",atlimit,EntryPrice+PriceScale*75,"",1,1); } 그리고 E-micro EUR/USD,micro E-mini NASDAQ-100,E-micro Gold 위 3종목을 모두 매매할려면 한개의 컴퓨터 모니터에 창을 3개 띄워야 하나요? 아님 3대의컴퓨터 3개모니터에 한종목씩 띄워야 하는지 궁금합니다 시스템매매 초보이니 자세하게 설명해 주심 도움 많이 되겠습니다 감사합니다^^ input : P1(1),P2(2); var1 = ema(C,P1); var2 = ema(C,P2); if crossup(var1,var2) Then buy("b",OnClose,def,6); if CrossDown(var1,var2) Then sell("s",OnClose,def,6); if MarketPosition == 1 then { ExitLong("bx1",atlimit,EntryPrice+PriceScale*25,"",1,1); ExitLong("bx2",atlimit,EntryPrice+PriceScale*35,"",1,1); ExitLong("bx3",atlimit,EntryPrice+PriceScale*45,"",1,1); ExitLong("bx4",atlimit,EntryPrice+PriceScale*55,"",1,1); ExitLong("bx5",atlimit,EntryPrice+PriceScale*65,"",1,1); ExitLong("bx6",atlimit,EntryPrice+PriceScale*75,"",1,1); } if MarketPosition == -1 then { ExitShort("sx1",atlimit,EntryPrice-PriceScale*25,"",1,1); ExitShort("sx2",atlimit,EntryPrice-PriceScale*35,"",1,1); ExitShort("sx3",atlimit,EntryPrice-PriceScale*45,"",1,1); ExitShort("sx4",atlimit,EntryPrice-PriceScale*55,"",1,1); ExitShort("sx5",atlimit,EntryPrice-PriceScale*65,"",1,1); ExitShort("sx6",atlimit,EntryPrice-PriceScale*75,"",1,1); }