커뮤니티

피라미딩 문의

프로필 이미지
훈sys
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)); } //청산