커뮤니티
문의 드립니다.
2012-06-15 00:10:35
290
글번호 52011
안녕하세요?
다음 조건을 coding 해 보았습니다만, 매매가 너무 자주 일어납니다.
맞게 코딩된 것인가요?
어떤 오류가 있는지 문의 드립니다.
전일 고가보다 시가가 높게 형성되면 거래 기본 조건 성립.
최근 3일의 평균 트루 레인지(각각 일자의 고가 저가 차이와)를 계산하여 그것의 20%를 계산함.
금일 시가 + 레인지평균x20% 의 가격에 이르면 매수
목표(120만원) : 매수가격 + 2.0 Point 에 매도 주문을 내놓는다.
목표 가격에서 전매도가 안되면 종가에서 전매도
만약 매수 가격보다 0.6 point(30만원) 반대로가며 손절매 한다.
(Stop Loss Selling)
만약 최고로 이익이 난 가격에서 반대로 1.2 포인트가 밀리면 전매도
(Trailing Stop)
var: DayRange(0), BuyThr(0);
if sTime < sTime[1] Then
DayRange = DayHigh(1) - DayLow(1);
If DayClose(1) < DayOpen(0) then
{
BuyThr = DayOpen(0) + ma(DayRange,3) * 0.2;
Buy("b", AtStop, BuyThr );
//if C < DayOpen(0) - ma(DayRange,3) * 0.2 Then
// Sell("s");
}
if MarketPosition <> 0 Then
{
ExitLong("el", AtStop, EntryPrice + 3.0 );
ExitLong( "el2", AtStop, EntryPrice - 2.6 );
ExitLong( "el3", AtStop, Highest(H, BarsSinceEntry+1)-1.2 );
}
SetStopEndofday(143000);
답변 1
예스스탁 예스스탁 답변
2012-06-15 11:46:47
안녕하세요
예스스탁입니다.
input : P(3);
var: DayAvgRange(0), BuyThr(0),cnt(0);
var1 = 0;
for cnt = 1 to P{
var1 = var1+(DayHigh(cnt)-DayLow(cnt));
}
DayAvgRange = var1/P;
If DayHigh(1) < DayOpen(0) then
{
BuyThr = DayOpen(0) + DayAvgRange*0.2;
Buy("b", AtStop, BuyThr );
}
if MarketPosition <> 0 Then
{
ExitLong( "buyloss", AtStop, EntryPrice - 0.6 );
ExitLong( "BuyTr", AtStop, Highest(H,BarsSinceEntry+1)-1.2);
}
SetStopEndofday(143000);
수시에서 주문을 미리 특정가격에 내놓는 행위는
가능하지 않습니다. 식작성에 참고하시기 바랍니다.
또한
if sTime < sTime[1] Then
DayRange = DayHigh(1) - DayLow(1);
와 같이 작성하고 ma(DayRange,3)같이 표현해도
3일간의 평균이 되는것이 아닙니다.
ma(DayRange,3)은 단지 분봉상에서 최근 3개봉에서의
DayRange를 평균한것일 뿐입니다.
즐거운 하루되세요
> birdfire 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
>
안녕하세요?
다음 조건을 coding 해 보았습니다만, 매매가 너무 자주 일어납니다.
맞게 코딩된 것인가요?
어떤 오류가 있는지 문의 드립니다.
전일 고가보다 시가가 높게 형성되면 거래 기본 조건 성립.
최근 3일의 평균 트루 레인지(각각 일자의 고가 저가 차이와)를 계산하여 그것의 20%를 계산함.
금일 시가 + 레인지평균x20% 의 가격에 이르면 매수
목표(120만원) : 매수가격 + 2.0 Point 에 매도 주문을 내놓는다.
목표 가격에서 전매도가 안되면 종가에서 전매도
만약 매수 가격보다 0.6 point(30만원) 반대로가며 손절매 한다.
(Stop Loss Selling)
만약 최고로 이익이 난 가격에서 반대로 1.2 포인트가 밀리면 전매도
(Trailing Stop)
var: DayRange(0), BuyThr(0);
if sTime < sTime[1] Then
DayRange = DayHigh(1) - DayLow(1);
If DayClose(1) < DayOpen(0) then
{
BuyThr = DayOpen(0) + ma(DayRange,3) * 0.2;
Buy("b", AtStop, BuyThr );
//if C < DayOpen(0) - ma(DayRange,3) * 0.2 Then
// Sell("s");
}
if MarketPosition <> 0 Then
{
ExitLong("el", AtStop, EntryPrice + 3.0 );
ExitLong( "el2", AtStop, EntryPrice - 2.6 );
ExitLong( "el3", AtStop, Highest(H, BarsSinceEntry+1)-1.2 );
}
SetStopEndofday(143000);
다음글
이전글