커뮤니티
51816 시스템 함수변환요청(키움) 재질문
2017-02-09 11:27:38
155
글번호 106690
안녕하세요?
글번호 51816번 재질문드립니다.
YT언어로 함수변환 요청드립니다.
감사합니다.
Vars :
TickValue( 0 ),
RSI_value( 0 ),
RSI_period( 14 ),
MACD_OSC_value( 0 ),
MACD_period1( 12 ),
MACD_period2( 26 ),
MACD_signal_period( 9 ),
H_value1( 0 ),
H_bar1( 0 ),
L_value1( 0 ),
L_bar1( 0 ),
H_value2( 0 ),
H_bar2( 0 ),
L_value2( 0 ),
L_bar2( 0 ),
ShortPeriod( 9 ), // 전환선 기간
LongPeriod( 26 ); // 기준선 기간
// 호가단위
TickValue = OneTick * PriceScale;
// RSI
RSI_value = RSI(C, RSI_period);
// MACD 오실레이터
v0 = MACD(C, MACD_period1, MACD_period2); // MACD value
v1 = Ema(v0, MACD_signal_period); // MACD 시그널
MACD_Osc_value = v0 - v1; // MACD 오실레이터
// 전환선 & 기준선 HighestLowest 주어진 기간동안의 극단적인 최고가, 최저가를 반환
highestlowest(H, L, ShortPeriod, H_value1, H_bar1, L_value1, L_bar1);
highestlowest(H, L, LongPeriod, H_value2, H_bar2, L_value2, L_bar2);
Value1 = (H_value1 + L_value1)/2; // 전환선 9개의 봉 동안 최고가 와 최저가의 중간값
Value2 = (H_value2 + L_value2)/2; // 기준선 26개의 봉 동안 최고가 와 최저가의 중간값
// 매수 진입
If Value1 > Value2 //전환선이 기준선보다 크고
And MACD_Osc_value > 0 //오실레이터 값이 0보다 크고
And CrossUp(RSI_value, 70) //RSI가 70을 상향 돌파
Then Buy("매수");
// 매도 진입
If Value1 < Value2 //전환선이 기준선보다 작고
And MACD_Osc_value < 0 //오실레이터 값이 0보다 작고
And CrossDown(RSI_value, 30) //RSI가 30을 하향 이탈
Then Sell("매도");
// 이하 청산 : 1계약당 손익이 10틱보다 크고
If ContractProfit > TickValue * 10 Then
Begin
// 매수 청산 : RSI가 70을 하향 이탈
If CrossDown(RSI_value, 70) then ExitLong("매수청산");
// 매도 청산 : RSI가 30을 상향 돌파
If CrossUp(RSI_value, 30) Then ExitShort("매도청산");
End;
// 손절 10틱
SetStopLoss(TickValue * 10);
답변 1
예스스탁 예스스탁 답변
2017-02-10 15:14:18
안녕하세요
예스스탁입니다.
// 전환선 & 기준선 HighestLowest 주어진 기간동안의 극단적인 최고가, 최저가를 반환
highestlowest(H, L, ShortPeriod, H_value1, H_bar1, L_value1, L_bar1);
highestlowest(H, L, LongPeriod, H_value2, H_bar2, L_value2, L_bar2);
수식에서 어떤 내용인지 잘 모르는 함수가 있습니다.
해당식은 사용자분이 직접 변경하시기 바랍니다.
즐거운 하루되세요
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 51816 시스템 함수변환요청(키움) 재질문
> 안녕하세요?
글번호 51816번 재질문드립니다.
YT언어로 함수변환 요청드립니다.
감사합니다.
Vars :
TickValue( 0 ),
RSI_value( 0 ),
RSI_period( 14 ),
MACD_OSC_value( 0 ),
MACD_period1( 12 ),
MACD_period2( 26 ),
MACD_signal_period( 9 ),
H_value1( 0 ),
H_bar1( 0 ),
L_value1( 0 ),
L_bar1( 0 ),
H_value2( 0 ),
H_bar2( 0 ),
L_value2( 0 ),
L_bar2( 0 ),
ShortPeriod( 9 ), // 전환선 기간
LongPeriod( 26 ); // 기준선 기간
// 호가단위
TickValue = OneTick * PriceScale;
// RSI
RSI_value = RSI(C, RSI_period);
// MACD 오실레이터
v0 = MACD(C, MACD_period1, MACD_period2); // MACD value
v1 = Ema(v0, MACD_signal_period); // MACD 시그널
MACD_Osc_value = v0 - v1; // MACD 오실레이터
// 전환선 & 기준선 HighestLowest 주어진 기간동안의 극단적인 최고가, 최저가를 반환
highestlowest(H, L, ShortPeriod, H_value1, H_bar1, L_value1, L_bar1);
highestlowest(H, L, LongPeriod, H_value2, H_bar2, L_value2, L_bar2);
Value1 = (H_value1 + L_value1)/2; // 전환선 9개의 봉 동안 최고가 와 최저가의 중간값
Value2 = (H_value2 + L_value2)/2; // 기준선 26개의 봉 동안 최고가 와 최저가의 중간값
// 매수 진입
If Value1 > Value2 //전환선이 기준선보다 크고
And MACD_Osc_value > 0 //오실레이터 값이 0보다 크고
And CrossUp(RSI_value, 70) //RSI가 70을 상향 돌파
Then Buy("매수");
// 매도 진입
If Value1 < Value2 //전환선이 기준선보다 작고
And MACD_Osc_value < 0 //오실레이터 값이 0보다 작고
And CrossDown(RSI_value, 30) //RSI가 30을 하향 이탈
Then Sell("매도");
// 이하 청산 : 1계약당 손익이 10틱보다 크고
If ContractProfit > TickValue * 10 Then
Begin
// 매수 청산 : RSI가 70을 하향 이탈
If CrossDown(RSI_value, 70) then ExitLong("매수청산");
// 매도 청산 : RSI가 30을 상향 돌파
If CrossUp(RSI_value, 30) Then ExitShort("매도청산");
End;
// 손절 10틱
SetStopLoss(TickValue * 10);