커뮤니티
문의드립니다.
2018-09-28 08:54:52
169
글번호 122282
1. 기타
input :
전체자본(10000000),
투입가능자본퍼센트(50),
손실허용한도퍼센트(1.5),
ATR기간(14),
ATR곱셈(1),
고가날짜(40);
var : 매수단위(0),투입금액(0),ATRV(0);
var1 = highest(H,고가날짜);
ATRV = atr(ATR기간);
if MarketPosition == 0 and H < var1[1] Then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b",AtStop,var1[1],매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*ATR곱셈*2,매수단위);
}
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*ATR곱셈);
}
이 수식 보고 궁금한 점이 있는데요. 피라미딩을 할 때, 2번 이상 진입을 하더라도 모든 신호는 bb로 나오나요? bb신호는 분명 나오는 것 같은데, 그 가격에서 또 ATR 2배 되면 또 진입하는 지는 잘 모르겠네요. 원래 피라미딩 표시는 그런 건가요?
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*ATR곱셈*2,매수단위);
이 수식으로 피라미딩에 모든 신호를 하면 LatestEntryPrice(0)에서 ATRV*ATR곱셈*2만큼 더한 가격이 될 때마다 추가진입을 하게 되는 건가요?
2. 기타
위 수식에서 매수조건을 RSI가 70을 돌파 이런 식으로 바꾸려면
RSIV > 70 이렇게 바꾸면 되는 건가요? 만약에 marketposition ==0 이거 구분 안해주면
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*ATR곱셈*2,매수단위); 이때도 재진입하고
RSI가 70넘을 때도 재진입하고 그러는 건가요?
3. 기타
1번 피라미딩 수식이요. 가끔가다보면 청산 자체를 안해서 미청산 손익은 엄청 쌓여 있는 경우가 종종 나오는데요. 이게 LatestEntryPrice에서 한번 추가 진입하고 한번도 청산을 안해서 그런 걸로 추정할 수 있을까요? 저런 것 방지하려면 그냥 트레일링 스탑 추가시키면 되나요?
4. 피라미딩 관련
예스스탁님도 아시다시피 원체 이 부분 학습능력이 떨어져서 그런 것도 있긴 한데요. 이 피라미딩 부분은 매뉴얼이나 수식봐도 하나도 이해가 안되요. 주로 어떤 함수가 쓰이고 어떤 방식으로 재진입하고 그러는 건가요?
답변 1
예스스탁 예스스탁 답변
2018-09-28 11:23:54
안녕하세요
예스스탁입니다.
1
추가진입은 모두 bb로 나옵니다.
첫진입("b")은 MarketPosition == 0일때만 발생하므로 무포지션에서
한번만 발생하고 이후진입은 모두 "bb"로 인해 발생합니다.
추가진입은 가장최근 진입가격에서 ATRV*ATR곱셈*2만큼 상승하면 발생합니다.
2
RSIV > 70보다 크고 직전진입가 대비 일정이상 상승하면 진입하고자 하시면
아래와 같이 처리하셔야 합니다.
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) and RSIV > 70 Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*ATR곱셈*2,매수단위);
}
RSI조건이 별도이면 아래와 같이 지정하시면 됩니다.
2개중 만족하는 것으로 추가진입합니다
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("b1",AtStop,LatestEntryPrice(0)+ATRV*ATR곱셈*2,매수단위);
if RSIV > 70 Then
buy("b2",OnClose,def,매수단위);
}
3
청산은 원하시는 내용으로 추가하시면 됩니다.
트레일링스탑이 추가된다고 반드시 청산이 발생하는 것은 아닙니다.
4
진입이 중복으로 발생하게 하는 내용이므로
구현하는 내용에 직전에 진입가격이 필요하면 LatestEntryPrice(0)를 많이 사용되고
포지션 진행 중 일부 청산하고 해당 청산가격이 필요할때 LatestExitPrice(0)함수도 사용됩니다.
중복진입의 최대횟수나 최대수량을 제할할때 MaxEntries/MaxContracts같은
함수도 많이 사용됩니다.
피라미딩이라고 특별히 사용되는 함수가 있는 것은 아닙니다
사용자분이 구현하고자 하는 내용에 따라 달라지는 내용입니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 1. 기타
input :
전체자본(10000000),
투입가능자본퍼센트(50),
손실허용한도퍼센트(1.5),
ATR기간(14),
ATR곱셈(1),
고가날짜(40);
var : 매수단위(0),투입금액(0),ATRV(0);
var1 = highest(H,고가날짜);
ATRV = atr(ATR기간);
if MarketPosition == 0 and H < var1[1] Then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b",AtStop,var1[1],매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*ATR곱셈*2,매수단위);
}
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*ATR곱셈);
}
이 수식 보고 궁금한 점이 있는데요. 피라미딩을 할 때, 2번 이상 진입을 하더라도 모든 신호는 bb로 나오나요? bb신호는 분명 나오는 것 같은데, 그 가격에서 또 ATR 2배 되면 또 진입하는 지는 잘 모르겠네요. 원래 피라미딩 표시는 그런 건가요?
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*ATR곱셈*2,매수단위);
이 수식으로 피라미딩에 모든 신호를 하면 LatestEntryPrice(0)에서 ATRV*ATR곱셈*2만큼 더한 가격이 될 때마다 추가진입을 하게 되는 건가요?
2. 기타
위 수식에서 매수조건을 RSI가 70을 돌파 이런 식으로 바꾸려면
RSIV > 70 이렇게 바꾸면 되는 건가요? 만약에 marketposition ==0 이거 구분 안해주면
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*ATR곱셈*2,매수단위); 이때도 재진입하고
RSI가 70넘을 때도 재진입하고 그러는 건가요?
3. 기타
1번 피라미딩 수식이요. 가끔가다보면 청산 자체를 안해서 미청산 손익은 엄청 쌓여 있는 경우가 종종 나오는데요. 이게 LatestEntryPrice에서 한번 추가 진입하고 한번도 청산을 안해서 그런 걸로 추정할 수 있을까요? 저런 것 방지하려면 그냥 트레일링 스탑 추가시키면 되나요?
4. 피라미딩 관련
예스스탁님도 아시다시피 원체 이 부분 학습능력이 떨어져서 그런 것도 있긴 한데요. 이 피라미딩 부분은 매뉴얼이나 수식봐도 하나도 이해가 안되요. 주로 어떤 함수가 쓰이고 어떤 방식으로 재진입하고 그러는 건가요?