커뮤니티

수식 부탁드립니다

프로필 이미지
미송
2017-02-23 17:08:46
125
글번호 107194
답변완료
피라미딩 적용시 최초 진입가 256.0 1차 피라미딩 257.0 2차 피라미딩 258.0 3차 피라미딩 259.0 4차 피라미딩 260.0 5차 피라미딩 및 최초 진입가 청산 261.0 6차 피라미딩 및 1차 피라미딩 청산 262.0 7차 피라미딩 및 2차 피라미딩 청산 263.0 . . . . . . 일 경우 최초 진입 256.0 이후 최고가가 5차 피라미딩 및 최초진입가 청산지점인 261.0 미만인 가격 이 최고가일 경우, 최초 진입가(256.0)를 최저가로 인식 6차 피라미딩 및 1차 피라미딩 청산이 이루어지는 261.0 이상 262.0 미만인 상태에서 최고가 를 형성할경우 1차 피라미딩 가격(257.0)을 최저가로 인식 7차 피라미딩 및 2차 피라미딩 청산이 이루어지는 262.0 이상 263.0 미만인 상태에서 최고가 를 형성할 경우 2차 피라미딩 가격(258.0)을 최저가로 인식 8차 ~~~, 9차 ~~~, 10차 ~~~ 일 경우도 적용될수 있는 시스템식을 부탁드립니다 반대로 매도의 경우도 적용할 수 있는 시스템식도 부탁드립니다.
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2017-02-23 17:36:20

안녕하세요 예스스탁입니다. 아래 내용 참고하시기 바랍니다. 주석을 붙여드립니다. var : cnt(0),Bcnt(0),Bxcnt(0),LL(0); var : Scnt(0),Sxcnt(0),HH(0); Array : BE[20](0),SE[20](0); #매수진입 중 if MarketPosition == 1 Then{ //청산 발생 횟수 카운트 if CurrentContracts < CurrentContracts[1] then{ Bxcnt = Bxcnt+1; } //진입 발생 횟수 카운트 if CurrentContracts > CurrentContracts[1] Then{ Bcnt = Bcnt+1; //가장최근 진입가가 1, 그다음최근이 2 순으로 저장 BE[1] = LatestEntryPrice; for cnt = 2 to 19{ BE[cnt] = BE[cnt-1][1]; } } //매수횟수가 청산횟수보다 많을때만 진행 if Bcnt > Bxcnt then{ #초기값은 가장최근 진입가 LL = BE[1]; #최근 진입가부터 과거 진입가를 가져와 비교해 최저가를 구하는데 #진입횟수에서 청산횟수를 차감한 횟수만 과거진입가를 가져와 비교해서 최저가를 구함 #(예를들어 현재 피라미딩5회이면, BE[1]~BE[5]까지 값이 저장되어 있고 BE[5]가 첫 진입가인데 #청산1회면 BE[1],BE[2],BE[3],BE[4]만 가져오고 BE[5]는 빼고 최저가 계산) #즉 피라미딩 전체 진입가중 청산횟수만큰 과거 진입의 가격은 제외하고 최저가 계산 for cnt = 1 to Bcnt-Bxcnt { if BE[cnt] < LL Then LL = BE[cnt]; } } } Else{#매수포지션이 아니면 모두 0으로 초기화 Bcnt = 0; Bxcnt = 0; for cnt = 1 to 20 { BE[cnt] = 0; } } #매도진입 중 if MarketPosition == -1 Then{ //청산 발생 횟수 카운트 if CurrentContracts < CurrentContracts[1] then{ Sxcnt = Sxcnt+1; } //진입 발생 횟수 카운트 if CurrentContracts > CurrentContracts[1] Then{ Scnt = Scnt+1; //가장최근 진입가가 1, 그다음최근이 2 순으로 저장 SE[1] = LatestEntryPrice; for cnt = 2 to 19{ SE[cnt] = SE[cnt-1][1]; } } //진입횟수가 청산횟수보다 많을때만 진행 if Scnt > Sxcnt then{ #초기값은 가장최근 진입가 HH = SE[1]; #최근 진입가부터 과거 진입가를 가져와 비교해 최고가를 구하는데 #(예를들어 현재 피라미딩5회이면, SE[1]~SE[5]까지 값이 저장되어 있고 SE[5]가 첫 진입가인데 #청산1회면 SE[1],SE[2],SE[3],SE[4]만 가져오고 SE[5]는 빼고 최저가 계산) #즉 피라미딩 전체 진입가 중 청산횟수만큼 과거 진입의 가격은 제외하고 최고가 계산 for cnt = 1 to Scnt-Sxcnt { if SE[cnt] > HH Then HH = SE[cnt]; } } } Else{#도수포지션이 아니면 모두 0으로 초기화 Scnt = 0; Sxcnt = 0; for cnt = 1 to 20 { SE[cnt] = 0; } } 즐거운 하루되세요 > 미송 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다 > 피라미딩 적용시 최초 진입가 256.0 1차 피라미딩 257.0 2차 피라미딩 258.0 3차 피라미딩 259.0 4차 피라미딩 260.0 5차 피라미딩 및 최초 진입가 청산 261.0 6차 피라미딩 및 1차 피라미딩 청산 262.0 7차 피라미딩 및 2차 피라미딩 청산 263.0 . . . . . . 일 경우 최초 진입 256.0 이후 최고가가 5차 피라미딩 및 최초진입가 청산지점인 261.0 미만인 가격 이 최고가일 경우, 최초 진입가(256.0)를 최저가로 인식 6차 피라미딩 및 1차 피라미딩 청산이 이루어지는 261.0 이상 262.0 미만인 상태에서 최고가 를 형성할경우 1차 피라미딩 가격(257.0)을 최저가로 인식 7차 피라미딩 및 2차 피라미딩 청산이 이루어지는 262.0 이상 263.0 미만인 상태에서 최고가 를 형성할 경우 2차 피라미딩 가격(258.0)을 최저가로 인식 8차 ~~~, 9차 ~~~, 10차 ~~~ 일 경우도 적용될수 있는 시스템식을 부탁드립니다 반대로 매도의 경우도 적용할 수 있는 시스템식도 부탁드립니다.
프로필 이미지

미송

2017-02-23 18:42:02

식을 적용해보니 피라미딩 중간징입한 수량중 일부가 손절이 발생할 경우 손절로 인한 청산도 청산수량으로 인식해서 최저가,최고가가 변하게 되는 일이 발생하네요. 미처 생각 못한 상황이 발생 했네요 진입 후 목표이익을 계속 달성할 경우 최종 목표 실현 가격의 +- 5P에서 진입한 피라미딩 가격을 최저가,최고가로 인식할 수 있는 식을 다시 부탁드립니다(목표이익은 최저가 대비 5P로 가정) 많은 생각을 하고 질문을 드려야 하는데 짧은 생각 후 질문을 드려 번거롭게 해드려 죄송합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 부탁드립니다 > 안녕하세요 예스스탁입니다. 아래 내용 참고하시기 바랍니다. 주석을 붙여드립니다. var : cnt(0),Bcnt(0),Bxcnt(0),LL(0); var : Scnt(0),Sxcnt(0),HH(0); Array : BE[20](0),SE[20](0); #매수진입 중 if MarketPosition == 1 Then{ //청산 발생 횟수 카운트 if CurrentContracts < CurrentContracts[1] then{ Bxcnt = Bxcnt+1; } //진입 발생 횟수 카운트 if CurrentContracts > CurrentContracts[1] Then{ Bcnt = Bcnt+1; //가장최근 진입가가 1, 그다음최근이 2 순으로 저장 BE[1] = LatestEntryPrice; for cnt = 2 to 19{ BE[cnt] = BE[cnt-1][1]; } } //매수횟수가 청산횟수보다 많을때만 진행 if Bcnt > Bxcnt then{ #초기값은 가장최근 진입가 LL = BE[1]; #최근 진입가부터 과거 진입가를 가져와 비교해 최저가를 구하는데 #진입횟수에서 청산횟수를 차감한 횟수만 과거진입가를 가져와 비교해서 최저가를 구함 #(예를들어 현재 피라미딩5회이면, BE[1]~BE[5]까지 값이 저장되어 있고 BE[5]가 첫 진입가인데 #청산1회면 BE[1],BE[2],BE[3],BE[4]만 가져오고 BE[5]는 빼고 최저가 계산) #즉 피라미딩 전체 진입가중 청산횟수만큰 과거 진입의 가격은 제외하고 최저가 계산 for cnt = 1 to Bcnt-Bxcnt { if BE[cnt] < LL Then LL = BE[cnt]; } } } Else{#매수포지션이 아니면 모두 0으로 초기화 Bcnt = 0; Bxcnt = 0; for cnt = 1 to 20 { BE[cnt] = 0; } } #매도진입 중 if MarketPosition == -1 Then{ //청산 발생 횟수 카운트 if CurrentContracts < CurrentContracts[1] then{ Sxcnt = Sxcnt+1; } //진입 발생 횟수 카운트 if CurrentContracts > CurrentContracts[1] Then{ Scnt = Scnt+1; //가장최근 진입가가 1, 그다음최근이 2 순으로 저장 SE[1] = LatestEntryPrice; for cnt = 2 to 19{ SE[cnt] = SE[cnt-1][1]; } } //진입횟수가 청산횟수보다 많을때만 진행 if Scnt > Sxcnt then{ #초기값은 가장최근 진입가 HH = SE[1]; #최근 진입가부터 과거 진입가를 가져와 비교해 최고가를 구하는데 #(예를들어 현재 피라미딩5회이면, SE[1]~SE[5]까지 값이 저장되어 있고 SE[5]가 첫 진입가인데 #청산1회면 SE[1],SE[2],SE[3],SE[4]만 가져오고 SE[5]는 빼고 최저가 계산) #즉 피라미딩 전체 진입가 중 청산횟수만큼 과거 진입의 가격은 제외하고 최고가 계산 for cnt = 1 to Scnt-Sxcnt { if SE[cnt] > HH Then HH = SE[cnt]; } } } Else{#도수포지션이 아니면 모두 0으로 초기화 Scnt = 0; Sxcnt = 0; for cnt = 1 to 20 { SE[cnt] = 0; } } 즐거운 하루되세요 > 미송 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다 > 피라미딩 적용시 최초 진입가 256.0 1차 피라미딩 257.0 2차 피라미딩 258.0 3차 피라미딩 259.0 4차 피라미딩 260.0 5차 피라미딩 및 최초 진입가 청산 261.0 6차 피라미딩 및 1차 피라미딩 청산 262.0 7차 피라미딩 및 2차 피라미딩 청산 263.0 . . . . . . 일 경우 최초 진입 256.0 이후 최고가가 5차 피라미딩 및 최초진입가 청산지점인 261.0 미만인 가격 이 최고가일 경우, 최초 진입가(256.0)를 최저가로 인식 6차 피라미딩 및 1차 피라미딩 청산이 이루어지는 261.0 이상 262.0 미만인 상태에서 최고가 를 형성할경우 1차 피라미딩 가격(257.0)을 최저가로 인식 7차 피라미딩 및 2차 피라미딩 청산이 이루어지는 262.0 이상 263.0 미만인 상태에서 최고가 를 형성할 경우 2차 피라미딩 가격(258.0)을 최저가로 인식 8차 ~~~, 9차 ~~~, 10차 ~~~ 일 경우도 적용될수 있는 시스템식을 부탁드립니다 반대로 매도의 경우도 적용할 수 있는 시스템식도 부탁드립니다.
프로필 이미지

예스스탁 예스스탁 답변

2017-02-23 18:33:21

안녕하세요 예스스탁입니다. 올려드린 수식 중 if CurrentContracts < CurrentContracts[1] then{ 위 내용이 청산을 카운트 하는 부분이므로 해당 내용에 아래와 같이 최근 청산명에 따라서 카운트 되게 추가해 보시기 바랍니다. if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "StopProfitTarget" then{ 목표수익청산이 강제청산(SetStopProfittarget)이 아닌 exitlong이나 exitshort으로 발생하게 했다면 해당 이름을 지정하셔야 합니다. 문의하신 내용은 여기까지만 답변을 드리도록 하겟습니다. 이후에 내용은 사용자분이 수정보완해 보시면서 값을 찾아가시기 바랍니다. 즐거운 하루되세요 > 미송 님이 쓴 글입니다. > 제목 : Re : Re : 수식 부탁드립니다 > 자꾸 번거롭게 해드려 죄송합니다 식을 적용해보니 피라미딩 중간징입한 수량중 일부가 손절(+-2.5P로 가정)이 발생할 경우 손절로 인한 청산도 청산수량으로 인식해서 최저가,최고가가 변하게 되는데 목표이익 달성한 청산만을 청산 수량으로 인식할 수 있게 할 수 있나요? (목표이익은 최저가 대비 5P로 가정) > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 부탁드립니다 > 안녕하세요 예스스탁입니다. 아래 내용 참고하시기 바랍니다. 주석을 붙여드립니다. var : cnt(0),Bcnt(0),Bxcnt(0),LL(0); var : Scnt(0),Sxcnt(0),HH(0); Array : BE[20](0),SE[20](0); #매수진입 중 if MarketPosition == 1 Then{ //청산 발생 횟수 카운트 if CurrentContracts < CurrentContracts[1] then{ Bxcnt = Bxcnt+1; } //진입 발생 횟수 카운트 if CurrentContracts > CurrentContracts[1] Then{ Bcnt = Bcnt+1; //가장최근 진입가가 1, 그다음최근이 2 순으로 저장 BE[1] = LatestEntryPrice; for cnt = 2 to 19{ BE[cnt] = BE[cnt-1][1]; } } //매수횟수가 청산횟수보다 많을때만 진행 if Bcnt > Bxcnt then{ #초기값은 가장최근 진입가 LL = BE[1]; #최근 진입가부터 과거 진입가를 가져와 비교해 최저가를 구하는데 #진입횟수에서 청산횟수를 차감한 횟수만 과거진입가를 가져와 비교해서 최저가를 구함 #(예를들어 현재 피라미딩5회이면, BE[1]~BE[5]까지 값이 저장되어 있고 BE[5]가 첫 진입가인데 #청산1회면 BE[1],BE[2],BE[3],BE[4]만 가져오고 BE[5]는 빼고 최저가 계산) #즉 피라미딩 전체 진입가중 청산횟수만큰 과거 진입의 가격은 제외하고 최저가 계산 for cnt = 1 to Bcnt-Bxcnt { if BE[cnt] < LL Then LL = BE[cnt]; } } } Else{#매수포지션이 아니면 모두 0으로 초기화 Bcnt = 0; Bxcnt = 0; for cnt = 1 to 20 { BE[cnt] = 0; } } #매도진입 중 if MarketPosition == -1 Then{ //청산 발생 횟수 카운트 if CurrentContracts < CurrentContracts[1] then{ Sxcnt = Sxcnt+1; } //진입 발생 횟수 카운트 if CurrentContracts > CurrentContracts[1] Then{ Scnt = Scnt+1; //가장최근 진입가가 1, 그다음최근이 2 순으로 저장 SE[1] = LatestEntryPrice; for cnt = 2 to 19{ SE[cnt] = SE[cnt-1][1]; } } //진입횟수가 청산횟수보다 많을때만 진행 if Scnt > Sxcnt then{ #초기값은 가장최근 진입가 HH = SE[1]; #최근 진입가부터 과거 진입가를 가져와 비교해 최고가를 구하는데 #(예를들어 현재 피라미딩5회이면, SE[1]~SE[5]까지 값이 저장되어 있고 SE[5]가 첫 진입가인데 #청산1회면 SE[1],SE[2],SE[3],SE[4]만 가져오고 SE[5]는 빼고 최저가 계산) #즉 피라미딩 전체 진입가 중 청산횟수만큼 과거 진입의 가격은 제외하고 최고가 계산 for cnt = 1 to Scnt-Sxcnt { if SE[cnt] > HH Then HH = SE[cnt]; } } } Else{#도수포지션이 아니면 모두 0으로 초기화 Scnt = 0; Sxcnt = 0; for cnt = 1 to 20 { SE[cnt] = 0; } } 즐거운 하루되세요 > 미송 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다 > 피라미딩 적용시 최초 진입가 256.0 1차 피라미딩 257.0 2차 피라미딩 258.0 3차 피라미딩 259.0 4차 피라미딩 260.0 5차 피라미딩 및 최초 진입가 청산 261.0 6차 피라미딩 및 1차 피라미딩 청산 262.0 7차 피라미딩 및 2차 피라미딩 청산 263.0 . . . . . . 일 경우 최초 진입 256.0 이후 최고가가 5차 피라미딩 및 최초진입가 청산지점인 261.0 미만인 가격 이 최고가일 경우, 최초 진입가(256.0)를 최저가로 인식 6차 피라미딩 및 1차 피라미딩 청산이 이루어지는 261.0 이상 262.0 미만인 상태에서 최고가 를 형성할경우 1차 피라미딩 가격(257.0)을 최저가로 인식 7차 피라미딩 및 2차 피라미딩 청산이 이루어지는 262.0 이상 263.0 미만인 상태에서 최고가 를 형성할 경우 2차 피라미딩 가격(258.0)을 최저가로 인식 8차 ~~~, 9차 ~~~, 10차 ~~~ 일 경우도 적용될수 있는 시스템식을 부탁드립니다 반대로 매도의 경우도 적용할 수 있는 시스템식도 부탁드립니다.