커뮤니티
피라미딩 문의
2014-03-27 21:49:47
167
글번호 73909
연습중인 터틀예제입니다.
진입 후 entryprice에서 5%씩 상승 할때마다 피라미딩이 총 5번째 매수주문까지
발생하도록 하고싶은데 실제 차트에 적용을 해보면
첫 번째 진입이 일어난 후 그 다음봉부터 연속에서 5번 피라미딩 매수주문이 발생합니다.
수식 수정해주시면 감사하겠습니다.
Input: Capital(100000000),len1(130),len2(80),len3(1.05);
Var: AtrV(0), Unit(0), MP(0);
AtrV = ATR(len1);
Unit = (Capital*0.02)/(AtrV);
if Unit < 1 then Unit = 1;
MP = MarketPosition;
If MP == 0 then {
buy("B", atstop, Highest(High,len1), Unit);
} //진입
If MP == 1 and CurrentEntries<5 Then
buy("bp", atstop, EntryPrice + entryprice*len3*CurrentEntries, Unit); //피라미딩
If MP == 1 Then {
ExitLong("EL", atstop,Lowest(L,len2));
} //청산
답변 1
예스스탁 예스스탁 답변
2014-03-28 14:03:52
안녕하세요
예스스탁입니다.
if문은 봉완성시입니다.
그러므로 첫진입이 발생하고 그 다음봉부터
추가매수가 들어가게 됩니다.
첫진입봉에서도 추가매수가 발생하게 식을 수정했습니다.
Input: Capital(100000000),len1(130),len2(80),len3(5);
Var: AtrV(0), Unit(0), MP(0);
AtrV = ATR(len1);
Unit = (Capital*0.02)/(AtrV);
if Unit < 1 then Unit = 1;
MP = MarketPosition;
If MP == 0 then {
buy("B1", atstop, Highest(High,len1), Unit);
buy("B2", atstop, Highest(High,len1)*(1+(len3*1/100)), Unit);
buy("B3", atstop, Highest(High,len1)*(1+(len3*2/100)), Unit);
buy("B4", atstop, Highest(High,len1)*(1+(len3*3/100)), Unit);
buy("B5", atstop, Highest(High,len1)*(1+(len3*4/100)), Unit);
} //진입
If MP == 1 and CurrentEntries< 5 Then {
if highest(H,BarsSinceEntry) <= Highest(High,len1)[BarsSinceEntry]*(1+(5*CurrentEntries)/100) Then
buy("bp", atstop, Highest(High,len1)[BarsSinceEntry]*(1+(5*CurrentEntries)/100),Unit); //피라미딩
}
If MP == 1 Then {
ExitLong("EL", atstop,Lowest(L,len2));
} //청산
즐거운 하루되세요
> 훈sys 님이 쓴 글입니다.
> 제목 : 피라미딩 문의
> 연습중인 터틀예제입니다.
진입 후 entryprice에서 5%씩 상승 할때마다 피라미딩이 총 5번째 매수주문까지
발생하도록 하고싶은데 실제 차트에 적용을 해보면
첫 번째 진입이 일어난 후 그 다음봉부터 연속에서 5번 피라미딩 매수주문이 발생합니다.
수식 수정해주시면 감사하겠습니다.
Input: Capital(100000000),len1(130),len2(80),len3(1.05);
Var: AtrV(0), Unit(0), MP(0);
AtrV = ATR(len1);
Unit = (Capital*0.02)/(AtrV);
if Unit < 1 then Unit = 1;
MP = MarketPosition;
If MP == 0 then {
buy("B", atstop, Highest(High,len1), Unit);
} //진입
If MP == 1 and CurrentEntries<5 Then
buy("bp", atstop, EntryPrice + entryprice*len3*CurrentEntries, Unit); //피라미딩
If MP == 1 Then {
ExitLong("EL", atstop,Lowest(L,len2));
} //청산
다음글