커뮤니티
수식 부탁드립니다
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차 ~~~ 일 경우도 적용될수 있는 시스템식을 부탁드립니다
반대로 매도의 경우도 적용할 수 있는 시스템식도 부탁드립니다.
다음글
이전글