커뮤니티

보완좀 해주세요

프로필 이미지
이재찬
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();