커뮤니티
검토 부탁합니다..
2010-12-24 17:39:42
645
글번호 34566
count = 0;
for cnt = 0 to 3 {
If sDate == ExitDate(cnt) and CurrentContracts > 0 Then {
count = count + 1;
}
Else
count = 0;
}
if 조건1 then
buy("매수");
if 조건2 and currententries < 5 then
buy("추매수");
If sDate >= ExitDate + 1 and count > 2 and 조건3 then//부분청산을 2번이상 한이후
buy("추가매수1"); //추가매수1
가령 5번의 피라미딩 진입을 하고 2번이상의 부분청산을 했을때,
진입하는 조건이 맞을경우 진입하는방법......,
첫번째 진입의 조건1과 2번째 진입조건2(일부청산없이 추가로)과,
그중 일부 청산을 했을때( 2번이상 일부청산후) 진입조건3이 다릅니다...
가령 5번의 피라미딩 진입을 하고 부분청산을 포함한 전부청산을 했을때는
처음의 첫번째 진입조건에 따라 진입(조건1)인데,
이전의 전부청산의 기록이 남아
다음 첫진입후에도 일부청산후 진입조건3에 따른 진입이 생깁니다.
이를 구분해서 적용하고 싶습니다....
또하나 다음식의 수식 검토해주세요
하루에 두번 기준선을 깨고 내려올때 매수하는 식입니다.
다음날은 초기화된 상태로 시작하고...
var1 = DTI(R,S,U);
var2 = ADX(length);
var3 = (C + H + L)/3;
var6 = SMI(G2,R2,S2);
If DayIndex > 0 Then
{
시작bar = 시작bar +1;
var7 = AccumN(IFF(CrossDown(data2(H) , data2(HighD(2))),1,0),시작bar);
If CrossDown(data2(H) , data2(HighD(2))) and var7 = 1
and (C > DayOpen or C > DayLow(2)) and data2(HighD(2)) >= data2(HighD(1)) and CurrentEntries < 10
and var6 > -50 and var1 < 40 Then{
buy("외봉매수2");
}
}
Else
시작bar = 0;
감사합니다
답변 1
예스스탁 예스스탁 답변
2010-12-27 11:34:44
안녕하세요
예스스탁입니다.
안녕하세요
예스스탁입니다.
1.
var : entrycnt(0),exitcnt(0);
#피라미딩 첫진입
if MarketPosition == 0 and 조건1 then
buy("매수");
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
entrycnt = entrycnt+1;
if CurrentContracts > CurrentContracts[1] Then
exitcnt = exitcnt+1;
#일부청산없이 추가
if 조건2 and CurrentContracts == MaxContracts and currententries < 5 then
buy("추매수");
#5번이상 파라미딩 진입하고 2번이상 청산된 경우에서 추가
If entrycnt >= 5 and exitcnt >= 2 and 조건3 then
buy("추가매수1");
}
if MarketPosition != 1 Then{
entrycnt = 0;
exitcnt = 0;
}
기존에 작성한 for문이 피라미딩시 일부청산을 카운트하고자 하시는
의도로 작성한 식이면 해당 내용으로는 컨트롤 가능하지 않습니다.
청산과 관련되서는 현재 진행중인 포지션과 관련되서는 청산함수에서는
어떤 것도 리턴하지 않습니다.
청산함수는 청산이 모두 완료된 이전 거래에서만 값을 리턴합니다.
2.
작성하신 내용으로는 해당 내용이 잘 판단되지 않습니다.
당일 두번째 봉부터 특정 값을 하향하는 횟수를 판단하시면 아래와 같은 식을
이용하시면 됩니다.
#주종목(당일 하향이탈 횟수)
var : D1cnt(0);
if dayindex == 0 Then
D1cnt = 0;
if dayindex > 0 Then{
if CrossDown(AA,BB) Then
D1cnt = D1cnt+1;
}
if d1 cnt == 2 Then
#참조종목(당일 하향이탈 횟수)
var : D2cnt(0,data2);
if data2(dayindex) == 0 Then
D2cnt = 0;
if data2(dayindex > 0) Then{
if data2(CrossDown(AA,BB)) Then
D2cnt = D2cnt+1;
}
if d2cnt == 2 then
즐거운 하루되세요
> 파문일기 님이 쓴 글입니다.
> 제목 : 검토 부탁합니다..
> count = 0;
for cnt = 0 to 3 {
If sDate == ExitDate(cnt) and CurrentContracts > 0 Then {
count = count + 1;
}
Else
count = 0;
}
if 조건1 then
buy("매수");
if 조건2 and currententries < 5 then
buy("추매수");
If sDate >= ExitDate + 1 and count > 2 and 조건3 then//부분청산을 2번이상 한이후
buy("추가매수1"); //추가매수1
가령 5번의 피라미딩 진입을 하고 2번이상의 부분청산을 했을때,
진입하는 조건이 맞을경우 진입하는방법......,
첫번째 진입의 조건1과 2번째 진입조건2(일부청산없이 추가로)과,
그중 일부 청산을 했을때( 2번이상 일부청산후) 진입조건3이 다릅니다...
가령 5번의 피라미딩 진입을 하고 부분청산을 포함한 전부청산을 했을때는
처음의 첫번째 진입조건에 따라 진입(조건1)인데,
이전의 전부청산의 기록이 남아
다음 첫진입후에도 일부청산후 진입조건3에 따른 진입이 생깁니다.
이를 구분해서 적용하고 싶습니다....
또하나 다음식의 수식 검토해주세요
하루에 두번 기준선을 깨고 내려올때 매수하는 식입니다.
다음날은 초기화된 상태로 시작하고...
var1 = DTI(R,S,U);
var2 = ADX(length);
var3 = (C + H + L)/3;
var6 = SMI(G2,R2,S2);
If DayIndex > 0 Then
{
시작bar = 시작bar +1;
var7 = AccumN(IFF(CrossDown(data2(H) , data2(HighD(2))),1,0),시작bar);
If CrossDown(data2(H) , data2(HighD(2))) and var7 = 1
and (C > DayOpen or C > DayLow(2)) and data2(HighD(2)) >= data2(HighD(1)) and CurrentEntries < 10
and var6 > -50 and var1 < 40 Then{
buy("외봉매수2");
}
}
Else
시작bar = 0;
감사합니다
다음글
이전글