커뮤니티
보완좀 해주세요
2013-10-04 15:03:41
129
글번호 68124
아래식은 잘아시다시피 골든,데드 크로스 날때마다 진입하는것인데
1.호가잔량이 매수우위면 골든크로스만 진입하고,매도우위면 데드크로스만 진입합니다
2.하루에 두번만 진입합니다(그럼 세번째 진입신호가 나오면 들고있는것 청산하고
그날 하루는 거래 종료합니다)
이렇게는 잘되는데 예를 들어 호가잔량이 매수우위여서,골든크로스가 와서 매수를 했는데
다음에 데드크로스가 나오면 매수청산이 이루어져야하는데 안되네요.
매도도 마찬가지구요
이것이 안되서 대부분 종가까지 진입 유지가 되더라구요
Input : shortPeriod(5), longPeriod(20);
var : cnt(0),count(0);
value1 = ema(C, shortPeriod);
value2 = ema(C, longPeriod);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if count < 2 then{
If CrossUP(value1, value2) and
bids > asks Then
Buy();
If CrossDown(value1, value2) and
bids < asks Then
Sell();
}
If MarketPosition == -1 and
CrossUP(value1, value2) and
bids > asks Then
ExitShort();
If MarketPosition == 1 and
CrossDown(value1, value2) and
bids < asks Then
ExitLong();
답변 1
예스스탁 예스스탁 답변
2013-10-04 16:17:52
안녕하세요
예스스탁입니다.
현재 수식이 청산시에도
호가잔량을 판변합니다.
진입은 호가잔량 조건을 사용하고
청산은 사용하지 않으시면 아래와 같이 작성하시면 됩니다.
Input : shortPeriod(5), longPeriod(20);
var : cnt(0),count(0);
value1 = ema(C, shortPeriod);
value2 = ema(C, longPeriod);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if count < 2 then{
If CrossUP(value1, value2) and
bids > asks Then
Buy();
If CrossDown(value1, value2) and
bids < asks Then
Sell();
}
If MarketPosition == -1 and
CrossUP(value1, value2) then
ExitShort();
If MarketPosition == 1 and
CrossDown(value1, value2) Then
ExitLong();
즐거운 하루되세요
> 이재찬 님이 쓴 글입니다.
> 제목 : 보완좀 해주세요
> 아래식은 잘아시다시피 골든,데드 크로스 날때마다 진입하는것인데
1.호가잔량이 매수우위면 골든크로스만 진입하고,매도우위면 데드크로스만 진입합니다
2.하루에 두번만 진입합니다(그럼 세번째 진입신호가 나오면 들고있는것 청산하고
그날 하루는 거래 종료합니다)
이렇게는 잘되는데 예를 들어 호가잔량이 매수우위여서,골든크로스가 와서 매수를 했는데
다음에 데드크로스가 나오면 매수청산이 이루어져야하는데 안되네요.
매도도 마찬가지구요
이것이 안되서 대부분 종가까지 진입 유지가 되더라구요
Input : shortPeriod(5), longPeriod(20);
var : cnt(0),count(0);
value1 = ema(C, shortPeriod);
value2 = ema(C, longPeriod);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if count < 2 then{
If CrossUP(value1, value2) and
bids > asks Then
Buy();
If CrossDown(value1, value2) and
bids < asks Then
Sell();
}
If MarketPosition == -1 and
CrossUP(value1, value2) and
bids > asks Then
ExitShort();
If MarketPosition == 1 and
CrossDown(value1, value2) and
bids < asks Then
ExitLong();