커뮤니티
안녕하세요 질문드려요~!!!
2017-06-26 12:45:21
166
글번호 110705
안녕하세요 도저히 해보다가 잘 모르겠어서 질문드립니다.
어제의 시가를 바탕으로 range를 mult승수를 이용하여 조정하여 위아래 range를 돌파하면 매수/매도를 구현중인데 yes신호와 Tradestation("이하 TS")를 비교중입니다.
일자는 2016/01/01부터 2016/12/31일까지이고
매매수식은 위에서 설명한 대로입니다.
여기서 질문은
첫신호가 예스에서는 2016/01/05 10시40분에 나오고
TS에서는 동일날짜 09시15분에 발효됩니다.
다음날짜인
1월6일에는 예스는 09시25분에 첫신호가 나오고
동일날짜 TS에서는 09시15분에 첫신호가 나옵니다.
나머지 일자에서는 신호가 동일하게 발생됩니다.
로직은 동일한데
왜 1월 5일과 1월 6일에 매매신호가 TS와 서로 다르게 발생하는지 이유를 부탁드립니다.
(나머지 일자는 TS와 Yes 동일하게 신호가 발생되구요)
일주일째 고민하는데 이유를 도대체 모르겠어요
간절하게 부탁드립니다.
- 1. TS.jpg (0.23 MB)
- 2. TS성능보고서01.jpg (0.07 MB)
- 3. YS.jpg (0.35 MB)
- 4. ys성능보고서1.jpg (0.13 MB)
답변 3
예스스탁 예스스탁 답변
2017-06-26 17:22:25
안녕하세요
예스스탁입니다.
신호의 경우에는 수식계산에 필요한 최소봉수 이후에 발생하므로
이 최소봉수 산정이 다르면 첫신호의 경우에는 다를수 있습니다.
다만 1월 6일의 매도신호의 경우에는 첫신호도 아닌데
위치가 많이 차이가 나는데 해당 부분은 수식구현의 차이일수 있을것 같습니다.
혹은 수식에서 지수이평등 과거봉수에 영향을 받는 산식을 사용하는데
프로그램상 계산 시작지점이 달라 차이가 있을수도 있습니다.
정확한 답변을 위해서는
작성해서 적용하신 2개의 수식을 모두 올려주셔야 비교해 볼수 있을 것 같습니다.
즐거운 하루되세요
> 도롱삿갓 님이 쓴 글입니다.
> 제목 : 안녕하세요 질문드려요~!!!
> 안녕하세요 도저히 해보다가 잘 모르겠어서 질문드립니다.
어제의 시가를 바탕으로 range를 mult승수를 이용하여 조정하여 위아래 range를 돌파하면 매수/매도를 구현중인데 yes신호와 Tradestation("이하 TS")를 비교중입니다.
일자는 2016/01/01부터 2016/12/31일까지이고
매매수식은 위에서 설명한 대로입니다.
여기서 질문은
첫신호가 예스에서는 2016/01/05 10시40분에 나오고
TS에서는 동일날짜 09시15분에 발효됩니다.
다음날짜인
1월6일에는 예스는 09시25분에 첫신호가 나오고
동일날짜 TS에서는 09시15분에 첫신호가 나옵니다.
나머지 일자에서는 신호가 동일하게 발생됩니다.
로직은 동일한데
왜 1월 5일과 1월 6일에 매매신호가 TS와 서로 다르게 발생하는지 이유를 부탁드립니다.
(나머지 일자는 TS와 Yes 동일하게 신호가 발생되구요)
일주일째 고민하는데 이유를 도대체 모르겠어요
간절하게 부탁드립니다.
도롱삿갓
2017-06-26 19:01:08
예스스탁
# 2-1.전일 고저폭 정의
DayRange = DayHigh(1)-DayLow(1); //전일 고저 폭 정의, DayRange=HighD(1)-LowD(1); //TS
# 2-2.상/하방 밴드 정의
UpChannel = DAYOPEN()+DayRange*Mult; //상방밴드 정의
DownChannel = DAYOPEN()-DayRange*Mult; //하방밴드 정의
// Setup
TimeCondition = False;
Upper = False;
Downer = False;
//Time제어 정의
If Stime >= TradeStartTime And Stime < TradeEndtime
Then
{
Timecondition=True;
}
// Up/Down 상태 정의
If CrossUp(C, UpChannel) OR (C > UpChannel) Then
{
Upper=True;
}
If CrossDown(C, DownChannel) OR (C < DownChannel) Then
{
Downer=True;
}
If TimeCondition==True And Upper==True Then
{
Buy("EB",AtMarket);
}
If TimeCondition==True And Downer==True Then
{
Sell("ES",AtMarket);
}
TS 버젼
// 2-1.전일 고저폭 정의
DayRange = (HighD(1)-LowD(1)); //전일 고저 폭 정의
// 2-2.상/하방 밴드 정의
UpChannel = (OpenD(0)+(DayRange*Mult));
DownChannel = (OpenD(0)-(DayRange*Mult));
// 3. ENTRY(진입)
TimeCondition=false;
// ATRVal
ATRVal = AvgTrueRange(ATRLength)*TrailingAtrMult;
If Time >= TradeStartTIME And Time < TradeEndTIME Then
Begin
TimeCondition=true;
End;
Upper=false;
Downer=false;
If (Price Crosses Over UpChannel) or (price > UpChannel)
Then
Begin
Upper=True;
End;
If (Price Cross Below DownChannel) or (Price < DownChannel)
Then
Begin
Downer=True;
End;
If TimeCondition = True And Upper = True Then
Begin
Buy("B")next Bar at Market;
End;
If TimeCondition = True And Downer=True Then
Begin
Sell Short("S") next bar at market; // 매도조건
End;
위가 yes, TS 수식인데요.
수식은 yes 기준으로 컨버젼했구요 수식차이는 없는 것 같습니다.
1월 6일에 발생하는 신호차이는 아무리 봐도 모르겠습니다.
1월7일부터는 정상적으로 둘다 신호가 동일하게 발생되고 있습니다.
답변 부탁드립니다. 미리 감사합니다.
예스스탁 예스스탁 답변
2017-06-27 12:56:52
안녕하세요
예스스탁입니다.
1
수식내용은
매수진입은 상단 위에 종가가 있으면 다음봉 시가에 매수
매도진입은 하단 아래에 종가가 있으면 다음봉 시가에 매도 입니다.
청산은 올리신 내용에 없어 당일청산으로 15시에 청산합니다.
2
첨부된 그림보시변 1월 6일 신호는 TS와 같습니다.
올려주신 YT화면에 적용한 식에서 시간설정이 아래식과 다른것 같습니다.
아래식은 TradeStartTime를 9시로 지정하고 적용했습니다.
수식은 stime과 비교하므로 아래식 적용하셔서
식상 지정한 TradeStartTime과 stime을 비교해 조건만족여부 판단해 보시기 바랍니다.
var : TradeStartTime(90000),TradeEndtime(150000);
plot1(stime);
plot2(TradeStartTime);
plot3(TradeEndtime);
3
1월5일 신호는 YT의 신호가 정상적으로 발생한 신호입니다.
첨부된 그림과 같이 상단을 종가로 돌파한 봉의 다음봉의 시가에
신호가 발생되어 있습니다.
하지만 올려주신 TS의 화면에는 3번째 봉에서 매수신호가 발생되어 있는데
해당봉 까지는 아직 상단과 하단사이를 벋어난 종가봉이 없습니다.
시가기준 전일변동폭의 일정폭 만큼 위나 아래에 종가가 위치해야 신호가 발생되는데
TS의 신호상 3번째 봉은 해당 조건에 만족하지 않는데 신호가 발생되어 있습니다.
해당 부분은 TS의 초반의 상하단 계산에 오류가 있는것 같습니다.
TS에서 값을 확인해 보셔야 합니다.
4
첨부된 그림은 아래의 식 적용한 화면입니다.
input : Mult(0.3);
var : dayRange(0),UpChannel(0),DownChannel(0);
var : TimeCondition(false),Upper(false),Downer(false);
var : TradeStartTime(90000),TradeEndtime(150000);
# 2-1.전일 고저폭 정의
DayRange = DayHigh(1)-DayLow(1); //전일 고저 폭 정의, DayRange=HighD(1)-LowD(1); //TS
# 2-2.상/하방 밴드 정의
UpChannel = DAYOPEN()+DayRange*Mult; //상방밴드 정의
DownChannel = DAYOPEN()-DayRange*Mult; //하방밴드 정의
// Setup
TimeCondition = False;
Upper = False;
Downer = False;
//Time제어 정의
If Stime >= TradeStartTime And Stime < TradeEndtime
Then
{
Timecondition=True;
}
// Up/Down 상태 정의
If CrossUp(C, UpChannel) OR (C > UpChannel) Then
{
Upper=True;
}
If CrossDown(C, DownChannel) OR (C < DownChannel) Then
{
Downer=True;
}
If TimeCondition==True And Upper==True Then
{
Buy("EB",AtMarket);
}
If TimeCondition==True And Downer==True Then
{
Sell("ES",AtMarket);
}
즐거운 하루되세요
> 도롱삿갓 님이 쓴 글입니다.
> 제목 : Re : Re : 안녕하세요 질문드려요~!!!
> 예스스탁
# 2-1.전일 고저폭 정의
DayRange = DayHigh(1)-DayLow(1); //전일 고저 폭 정의, DayRange=HighD(1)-LowD(1); //TS
# 2-2.상/하방 밴드 정의
UpChannel = DAYOPEN()+DayRange*Mult; //상방밴드 정의
DownChannel = DAYOPEN()-DayRange*Mult; //하방밴드 정의
// Setup
TimeCondition = False;
Upper = False;
Downer = False;
//Time제어 정의
If Stime >= TradeStartTime And Stime < TradeEndtime
Then
{
Timecondition=True;
}
// Up/Down 상태 정의
If CrossUp(C, UpChannel) OR (C > UpChannel) Then
{
Upper=True;
}
If CrossDown(C, DownChannel) OR (C < DownChannel) Then
{
Downer=True;
}
If TimeCondition==True And Upper==True Then
{
Buy("EB",AtMarket);
}
If TimeCondition==True And Downer==True Then
{
Sell("ES",AtMarket);
}
TS 버젼
// 2-1.전일 고저폭 정의
DayRange = (HighD(1)-LowD(1)); //전일 고저 폭 정의
// 2-2.상/하방 밴드 정의
UpChannel = (OpenD(0)+(DayRange*Mult));
DownChannel = (OpenD(0)-(DayRange*Mult));
// 3. ENTRY(진입)
TimeCondition=false;
// ATRVal
ATRVal = AvgTrueRange(ATRLength)*TrailingAtrMult;
If Time >= TradeStartTIME And Time < TradeEndTIME Then
Begin
TimeCondition=true;
End;
Upper=false;
Downer=false;
If (Price Crosses Over UpChannel) or (price > UpChannel)
Then
Begin
Upper=True;
End;
If (Price Cross Below DownChannel) or (Price < DownChannel)
Then
Begin
Downer=True;
End;
If TimeCondition = True And Upper = True Then
Begin
Buy("B")next Bar at Market;
End;
If TimeCondition = True And Downer=True Then
Begin
Sell Short("S") next bar at market; // 매도조건
End;
위가 yes, TS 수식인데요.
수식은 yes 기준으로 컨버젼했구요 수식차이는 없는 것 같습니다.
1월 6일에 발생하는 신호차이는 아무리 봐도 모르겠습니다.
1월7일부터는 정상적으로 둘다 신호가 동일하게 발생되고 있습니다.
답변 부탁드립니다. 미리 감사합니다.