커뮤니티

피라미딩 진입명칭별 청산함수

프로필 이미지
목마와숙녀
2020-01-20 11:01:11
145
글번호 132824
답변완료
피리미딩설정창에서 모든 진입신호 허용(진입횟수 20)으로 사용하는 수식입니다. 진입명 first와 진입명 second는 각각 피라미딩에 이상이 없습니다. 진입별로 청산함수를 지정할 수 있나요? if IsEntryName then setstop 또는 if IsEntryName then exitlong 이런 방법은 아닌 것 같은데 역시나 second쪽의 시뮬레이션 결과가 이상하고요. 설정창의 피라미딩방법을 사용하되 진입별로 청산방법을 달리하는 방법을 요청드립니다. ********************************************************************************* input:변동1(2.38),변동2(1.10); input : up강제손절(0.60),up강제추적(1.46),up강제목표(2.00); if CrossUp(c,dayopen()+변동1) then buy("first"); if CrossUp(c,dayopen()+변동1+변동2) then buy("second"); SetStopLoss(up강제손절,pointstop); SetStopTrailing(up강제추적,0.00,pointstop); setstopprofittarget(up강제목표, pointstop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-10-17 12:32:00

안녕하세요 예스스탁입니다. 청산함수의 4번째 매개변수에 이름을 지정하시면 해당 이름의 진입에 대한 수량만 청산합니다. exitlong("청산명",신호타입,신호가격,"진입명"); 다만 피라미딩 진입명별로 진입이 발생할때 각 진입가격등을 별도로 아래와 같이 저장해서 사용하셔야 합니다 아래는 피라미딩이 first, second로 각 한번씩 진입될때의 상황을 가정한 식입니다. 피라미딩을 모든진입신호로 설정해서 최대 20번까지 진입을 하게 되면 동일이름으로 다수의 진입이 발생하게 됩니다. 이때는 모두 이름이 같아서 처리가 어렵습니다. input : up강제손절1(0.60),up강제추적1(1.46),up강제목표1(2.00); input : up강제손절2(0.60),up강제추적2(1.46),up강제목표2(2.00); var : EP1(0),EP2(0),H1(0),H2(0); if MarketPosition == 1 then { if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "first" Then { EP1 = LatestEntryPrice(0); H1 = H; } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "second" Then { EP2 = LatestEntryPrice(0); H2 = H; } if EP1 > 0 then { if H > H1 Then H1 = H; exitlong("bx1",AtStop,EP1-up강제손절1,"first"); exitlong("bx2",AtLimit,EP1+up강제목표1,"first"); exitlong("bx3",atstop,H1-up강제추적1,"first"); } if EP2 > 0 then { if H > H2 Then H2 = H; exitlong("bx21",AtStop,EP2+up강제손절2,"second"); exitlong("bx22",AtLimit,EP2-up강제목표2,"second"); exitlong("bx23",atstop,H2+up강제추적2,"second"); } } Else { EP1 = 0; EP2 = 0; } 즐거운 하루되세요 > 목마와숙녀 님이 쓴 글입니다. > 제목 : 문의 > 피리미딩설정창에서 모든 진입신호 허용(진입횟수 20)으로 사용하는 수식입니다. 진입명 first와 진입명 second는 각각 피라미딩에 이상이 없습니다. 진입별로 청산함수를 지정할 수 있나요? if IsEntryName then setstop 또는 if IsEntryName then exitlong 이런 방법은 아닌 것 같은데 역시나 second쪽의 시뮬레이션 결과가 이상하고요. 설정창의 피라미딩방법을 사용하되 진입별로 청산방법을 달리하는 방법을 요청드립니다. ********************************************************************************* input:변동1(2.38),변동2(1.10); input : up강제손절(0.60),up강제추적(1.46),up강제목표(2.00); if CrossUp(c,dayopen()+변동1) then buy("first"); if CrossUp(c,dayopen()+변동1+변동2) then buy("second"); SetStopLoss(up강제손절,pointstop); SetStopTrailing(up강제추적,0.00,pointstop); setstopprofittarget(up강제목표, pointstop);