step 1
Excel RTD 주요 세 가지 기능:
• 엑셀의 RTD() 기능만 사용하여 실시간 데이터를 엑셀에 삽입합니다. 매크로, 프로그래밍 및 XLL 추가 기능은 없으며, Excel의 VBA 코드에서 단순 거래 명령을 전송합니다.
• 서로 다른 계정에 대해 Excel RTD 앱의 복사본을 여러 개 실행한 다음 해당 계정에 대한 데이터를 단일 스프레드시트로 결합이 가능합니다.
• 앱에는 최대 5개의 계정을 입력한 다음 자동으로 자본과 잔액의 대시보드, 기호 및 개방형 포지션의 통합 목록을 표시할 수 있는 예제 스프레드시트가 제공됩니다.
step 2
2.1 RTD 앱 실행
엑셀에 실시간 데이터를 넣으려면 RTD 앱을 실행해야 합니다. 앱이 실행되지 않을 경우 아래 나열된 Excel 수식은 빈 값을 제공합니다.
2.1.1 이용 가능한 상품
다음 상품에 대한 정보는 Excel RTD 앱에서 확인할 수 있습니다:
• MT4/5: MT4/5 시장에 포함된 모든 상품을 리포트할 수 있습니다.
• 거래 가능 상품: 앱은 플랫폼에서 사용 가능한 모든 상품을 리포트할 것입니다.
• 플랫폼: 앱의 상품 메뉴를 사용하여 앱이 구성이 가능한 상품을 구성하십시오.
2.2 엑셀 공식(Excel formula)
RTD 앱이 실행되면 Excel에서 다음 공식을 사용하여 계정, 티켓 또는 가격 데이터의 실시간 피드를 삽입할 수 있습니다. 계정 번호와 표시할 “속성”을 입력하십시오:
=RTD(“FXBlueLabs.ExcelRTD”, , “ account number“, “ property“)
예를 들어, 계정 번호가 156734이고 계정의 잔고 또는 GBPUSD의 매수 가격을 표시하려는 경우:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “balance”)=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “bidGBPUSD”)
주의: 일부 언어 설정(예: 폴란드어 – Excel)에서는 공식의 섹션이 쉼표 대신 세미콜론으로 구분되도록 할 수 있습니다.
예를 들면:
=RTD(“FXBlueLabs.ExcelRTD”; ; “ account number“; “ property“)
2.3 자세한 사항 표시
RTD 앱은 계정(예: 자본 및 잔액), 상품 가격, “티켓”, 막대 이력 및 기술 지표 값에 대한 데이터를 제공합니다. 티켓 목록에는 오픈 포지션과 보류 중인 주문이 모두 포함됩니다.
2.3.1 계정 데이터 표시
속성 |
의미 |
currency |
계좌의 화폐 종류 |
balance |
계좌 잔고 |
Equity |
계좌의 평가예탁잔고 |
Pl |
유동 이익/손실 |
usedmargin |
거래에 사용 중인 증거금 |
Freemargin |
사용 가능 증거금 |
tickets |
오픈 포지션 및 예약 주문의 티켓 번호 |
2.3.2 가격 및 상품 데이터 표시
앱은 앱에 구성된 모든 상품에 대해 현재가 및 매수 가격을 제공합니다. 예를 들어, 관심 있는 상품이 EURUSD인 경우, 속성 이름은 askEURUSD 입니다.
예를 들어:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “askEURUSD”)
속성 |
의미 |
bidSymbol |
상품의 매도 가격 |
askSymbol |
상품의 매수 가격 |
highSymbol |
일일 최고 가격 상품. 모든 플랫폼에서 거래 가능하지 않음. 하루의 시작은 플랫폼 서버 시간 기준 (예. GMT, 혹은 다른 타임존). |
lowSymbol |
일일 최저 가격 상품. 모든 플랫폼에서 거래 가능하지 않음. 하루의 시작은 플랫폼 서버 시간 기준 (예. GMT, 혹은 다른 타임존). |
이 앱은 모든 상품의 수와 목록을 제공합니다. 예를 들어, 다음 공식은 사용 가능한 상품의 수와 리스트에 있는 5번째 상품의 이름입니다 (순서에 상관없이 가능):
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “symbols”)
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “s5”)
속성 |
의미 |
symbols |
상품 기호의 번호 |
sN |
N 번째 상품의 이름. 예를 들어, 1부터 총 상품의 개수 중에서 해당 상품이 몇 번째인지 확인 |
2.3.3 티켓 데이터 표시
이 앱은 각 “티켓”, 즉 각 오픈 포지션 및 보류 중인 주문에 대한 다음과 같은 정보를 제공합니다. 각 속성 이름의 N 값은 1과 총 티켓 수 사이의 색인을 의미합니다(티켓 속성으로 보고됨).
예를 들어, 다음 공식을 사용하여 두 번째 티켓의 상품 이름과 순이익(있는 경우)을 얻을 수 있습니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “t2s”)=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “t2npl”)
속성 |
의미 |
tNt |
오픈 포지션 및 예약 주문의 티켓 번호 |
tNa |
활동: 매수, 매도, 지정가 매수, 지정가 매도, 역지정가 매수, 역지정가 매도 |
tNs |
상품 이름 |
tNv |
거래량 |
tNnpl |
순이익(총이익에 커미션과 스왑 비용을 고려한 이익). 예약 주문은 0으로 표시. |
tNpl |
총이익. 예약 주문은 0으로 표시. |
tNswap |
스왑 비용. 예약 주문은 0으로 표시. |
tNcomm |
커미션. 예약 주문은 0으로 표시. |
tNsl |
손절매 가격 |
tNtp |
이익 실현 주문 가격 |
tNop |
거래 진입 가격 |
tNcp |
상품의 현재 가격 |
tNcm |
주문 메모 |
tNmg |
주문 매직 넘버 (MT4에만 해당) |
tNot |
거래 진입 시간 (1970/1/1 이후 초 단위 표시) |
2.3.4 막대(Bar)의 최근 기록
엑셀 RTD 앱을 이용하면 플랫폼에서 최근 가격을 요청할 수 있습니다. 모든 값은 매도 가격입니다. (거래 가능한 플랫폼에서는 이 가격 기록을 사용할 수 없다는 점에 유의하십시오.)
막대 히스토리의 속성 이름은 @bh, symbol, timeframe, data, shift 입니다. 예를 들어, 다음 공식은 현재 EUR/USD H1 bar의 높이를 보여줍니다:
=RTD(“FXBlueLabs.ExcelRTD”, ,”156734″, “@bh,EURUSD,H1,high,0”)
2.3.4.1 타임프레임 (Timeframe value)
막대 타임프레임은 시간별 막대의 경우 60분 혹은 몇 분으로 지정하거나 H1 또는 M3와 같은 표준 명칭을 사용할 수 있습니다. 이용 가능한 타임프레임은 다음과 같습니다:
기간 |
타임프레임 값 |
M1 |
1 |
M2 |
2 |
M3 |
3 |
M4 |
4 |
M5 |
5 |
M6 |
6 |
M10 |
10 |
M12 |
12 |
M15 |
15 |
M30 |
30 |
H1 |
60 |
H2 |
120 |
H3 |
180 |
H4 |
240 |
H6 |
360 |
H8 |
480 |
D1 |
1440 |
D2 |
2880 |
W1 |
7200 |
2.3.4.2 가격 데이터 (Price data)
각 막대에 대해 다음과 같은 정보를 요청할 수 있습니다:
데이터 |
의미 |
time |
바(Bar) 차트의 시작 시간(yyyy/mm/dd hh:mm:ss의 포맷) |
open |
시가 |
high |
최고 가격 |
low |
최저 가격 |
close |
종가 |
range |
고가과 저가의 범위 |
median |
고가과 저가의 평균 |
typical |
“일반” 가격: 고가, 저가 및 종가의 평균 |
weighted |
“가중치” 가격: 고가, 저가, 종가 및 종가의 평균. 예, 종가의 이중 가중치 가격 |
change |
바(Bar) 차트의 변화: 종가에서 시가를 뺀 수치, 즉 수치가 음수라면 다운 바(Down Bar), 양수라면 업 바(Up Bar). |
abschange |
변화의 절댓값: 변화의 수치가 음수일 때 양수로 전환한 수치. |
2.3.4.3 막대 이동
과거 가격 공식의 마지막 부분은 막대의 움직임 “shift”, 즉 정보를 얻을 막대에 관한 것입니다. 막대는 0으로 번호가 매겨지고, 나이순으로 증가합니다. 즉, 막대 0은 현재 진행 중인 막대, 막대 1은 마지막 완료 막대를 나타냅니다.따라서 bar 0(모든 기간 동안)의 근접 가격은 현재 매도(bid) 가격입니다. 실제로 다음 두 공식은 동일합니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “bidGBPUSD”)=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@bh,GBPUSD,60,close,0”)
각 시간 프레임에서 사용할 수 있는 데이터 양은 기본 플랫폼에 따라 다르지만, 일반적으로 약 250bar가 될 것입니다.
2.3.5 기술적 지표
Excel RTD 앱에는 공식을 사용하여 요청할 수 있는 몇 가지 내장된 기술적 지표가 있습니다. 예를 들어, 다음 공식은 GBP/USD M5에 대한 14 bar 상대 강도 지수를 보여줍니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@rsi,GBPUSD,M5,14,0”)
기술 지표는 거래 가능한 플랫폼에서 사용할 수 없다는 점에 유의하십시오.
기술 지표의 속성 이름은 @rsi 또는 @ema와 같은 지표 이름으로 시작하고, 그 다음에 쉼표로 구분된 매개변수 목록이 뒤따릅니다.
기술 지표에 대한 처음 두 파라미터는 항상 상품 이름과 시간 프레임으로, H2 또는 120과 같은 분 단위로 지정할 수 있습니다.
마지막 파라미터는 항상 막대 “shift” 입니다. 일반적으로 현재 지표 값을 얻기 위해 시프트에 0의 값을 사용하려고 하지만 이전 막대의 끝에 있는 지표 값을 얻기 위해 1의 시프트를 사용할 수도 있습니다.(항상 최신 스윙포인트를 반환하고 시프트 파라미터를 사용하지 않는 스윙포인트 인디케이터만 예외입니다.)
많은 지표를 각 막대의 서로 다른 데이터 값에 적용할 수 있습니다. 예를 들어, 높은 가격이나 혹은 심지어 근접한 가격 막대 범위까지 적용할 수 있습니다.
지수 이동 평균 및 유사한 계산은 사용 가능한 막대 양에 의해 영향을 받는다는 점을 유념하십시오. 편의를 위해 누구나 항상 “N bar”(예: “21 bar EMA”)와 같은 계산에서 N 값을 언급하지만, N은 가중 요소로서 EMA와 같은 계산은 항상 수집된 전체 막대 기록을 살펴봐야하며 가장 최근의 N 막대에는 가중치를 부여합니다. EMA의 두 가지 계산은 서로 다른 양의 막대 이력을 사용하는 경우(일반적으로 소량만 사용) 다를 수 있습니다.
2.3.5.1 단순 이평선 (Simple Moving Average)
단순 이평선지표를 사용하여 단순 이동 평균(즉, 산술 평균)을 계산할 수 있습니다.예를 들어, 다음 공식은 GBP/USD M5의 마지막 10개 막대의 평균 가격을 나타냅니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@sma,GBPUSD,M5,median,10,0”)
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
data |
각 바(Bar)에 사용할 수치. 예, 종가 혹은 고가 |
period |
평균을 계산할 바(Bar)의 개수 |
shift |
바 시프트(Bar shift). 예, 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.5.2 지수 이동 평균 (Exponential Moving Average)
지수 이동 평균표시기를 사용하여 지수 이동 평균을 계산할 수 있습니다. 예를 들어, 다음 공식은 GBP/USD D1의 마지막 21개 막대범위의 평균을 나타냅니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@ema,GBPUSD,1440,range,21,0”)
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
data |
각 바(Bar)에 사용할 수치, 예를 들어 종가 혹은 고가 |
period |
평균을 계산할 바(Bar)의 개수 |
shift |
바 시프트(Bar shift). 예, 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.5.4 선형 가중 이동 평균 (Linear-Weighted Moving Average)
선형 가중 이동 평균표시기를 사용하여 선형 가중 이동 평균을 계산할 수 있다. 예를 들어, 다음 공식은 GBP/USD D1의 마지막 21개 막대범위의 평균을 나타냅니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@lwma,GBPUSD,1440,range,21,0”)
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
data |
각 바(Bar)에 사용할 수치, 예를 들어 종가 혹은 고가 |
period |
평균을 계산할 바(Bar)의 개수 |
shift |
바 시프트(Bar shift). 예, 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.5.5 MACD
MACD를 사용하여 MACD(“빠른” EMA와 “느린” EMA의 차이)를 계산할 수 있습니다. 또한 MACD 표시기의 “신호” 값을 가져올 수도 있다.
예를 들어, 다음의 공식은 표준 12 bar fast EMA와 26 bar slow EMA를 사용하여 GBP/USD M30에 대한 MACD를 계산하고 각 막대의 높은 가격에 계산을 적용한 것입니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@macd,GBPUSD,30,high,12,26,9,0”)
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
data |
각 바(Bar)에 사용할 수치, 예를 들어 종가 혹은 고가 |
fast |
빠른 EMA에 사용할 바(Bar)의 개수 |
slow |
느린 EMA에 사용할 바(Bar)의 개수 |
slowing |
신호 값의 완만한 기간 |
shift |
바 시프트(Bar shift). 예, 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.5.6 평균 범위(Average True Range)
ATR 표시기를 사용하여 평균 범위를 계산할 수 있습니다. 예를 들어, 다음 공식은 GBP/USD D1의 마지막 21개 막대의 평균 실제 범위를 보여줍니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@atr,GBPUSD,D1,21,0”)
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
period |
평균을 계산할 바(Bar)의 개수 |
shift |
바 시프트(Bar shift). 예, 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.5.7 상대 강도 지수(Relative Strength Index)
RSI 지표를 사용하여 상대 강도 지수를 계산할 수 있습니다. 예를 들어, 다음 공식은 USD/JPY M3에 대해 14-bar RSI를 보여줍니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@atr,USDJPY,3,14,0”)
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
period |
평균을 계산할 바(Bar)의 개수 |
shift |
바 시프트(Bar shift). 예, 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.5.8 스토캐스틱 오실레이터 (Stochastic Oscillator)
스토캐스틱 오실레이터를 사용하여 지표의 느린 “신호” 값을 계산할 수 있습니다.
예를 들어, 다음 공식은 (5,3,3) – (5,3,3) – K 주기 5, D 주기 5, 3의 느린 값을 사용하여 GBP/USD H2 막대의 오실레이터를 보여줍니다.
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@stoch,GBPUSD,120,5,3,3,0”)
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
k |
계산할 K 기간 |
d |
계산할 D 기간 |
slowing |
정체기 (D 값의 이동 평균 ) |
shift |
바 시프트(Bar shift). 예, 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.5.9 볼린저 밴드 (Bollinger bands)
볼린저 밴드 지표를 사용하여 단순한 이동 평균 플러스/마이너스 표준 편차를 계산할 수 있습니다.
예를 들어, 다음 공식은 마지막 30개의 막대에 대한 근접한 가격과 2개의 표준 편차를 사용하여 GBP/USD M10의 위쪽 밴드를 계산할 수 있습니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@bbupper,GBPUSD,10,close,30,2,0”)
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
data |
각 바(Bar)에 사용할 수치, 예를 들어 종가 혹은 고가 |
period |
Number of bars to calculate the average over |
deviations |
계산할 표준 편차의 수 (예, 2) |
shift |
바 시프트(Bar shift). 예, 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.5.10 @vol – 가격의 변동성 (Volatility) (표준편차)
가격 움직임을 보여주는 인디케이터를 사용하여 변동성(예: 표준 편차 1개)을 계산할 수 있습니다.
예를 들어, 다음 공식은 GBP/USD M10의 마지막 21개 막대 범위의 변동성을 계산합니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@vol,GBPUSD,10,range,21,0”)
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
data |
각 바(Bar)에 사용할 수치, 예를 들어 종가 혹은 고가 |
period |
평균을 계산할 바(Bar)의 개수 |
shift |
바 시프트(Bar shift). 예, 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.5.11 CCI (Commodity Channel Index)
CCI 인디케이터를 사용할 수 있습니다.
예를 들어, 다음 공식은 EUR/USD H1의 마지막 14개 막대에 대한 일반적인 막대 가격을 사용하여 CCI를 계산합니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@cci,EURUSD,60,typical,14,0”)
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
data |
각 바(Bar)에 사용할 수치, 예를 들어 종가 혹은 고가 |
period |
평균을 계산할 바(Bar)의 개수 |
shift |
바 시프트(Bar shift). 예, 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.5.12 가장 높은 막대 값 (Highest bar value)
이 인디케이터를 이용하여 일련의 막대 값 중에서 가장 높은 값을 계산할 수 있습니다. 예를 들어, 다음 공식은 마지막 20 GBP/USD D1 막대 중 가장 높은 값을 계산한 것입니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@high,GBPUSD,D1,high,20,0”)
이 인디케이터는 모든 막대 데이터에 적용할 수 있습니다. 예를 들어, 당신은 가장 낮은 것뿐만 아니라 가장 높은 것을 발견할 수 습니다. 또한 가장 큰 범위를 가진 바를 찾거나 변경하는 데 사용할 수 있습니다.
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
data |
각 바(Bar)에 사용할 수치, 예를 들어 종가 혹은 고가 |
period |
평균을 계산할 바(Bar)의 개수 |
shift |
바 시프트(Bar shift). 예, 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.5.13 가장 낮은 막대 값 (Lowest bar value)
이 인디케이터를 사용하여 일련의 막대 값 중 가장 낮은 값을 계산할 수 있습니다. 이것은 모든 막대 데이터에 적용할 수 있습니다. 예를 들어, 가장 낮은 것뿐만 아니라 가장 낮은 것들 중에서 가장 낮은 것을 발견할 수 있습니다. 또한 가장 작은 범위의 막대를 찾거나 변경할 수 있습니다.
다음 공식은 마지막 20GBP/USD D1 바 중 가장 작은 D1 바 범위를 계산한 것입니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@low,GBPUSD,D1,range,20,0”)
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
data |
각 바(Bar)에 사용할 수치, 예를 들어 종가 혹은 고가 |
period |
평균을 계산할 바(Bar)의 개수 |
shift |
바 시프트(Bar shift). 예, 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.5.14 스윙포인트 (Swing points) (“fractals”)
스윙포인트 인디케이터를 사용하여 가장 최근의 스윙 포인트를 계산할 수 있습니다. 스윙 포인트는 그 어느 한 쪽을 가진 막대로 정의됩니다. 이러한 스윙 포인트는 MT4 “Fractals” 인디케이터와 비슷합니다.
예를 들어, 다음의 공식을 통해 GBP/USD M5에서 5 막대 스윙(스윙 지점의 양쪽에 2 막대)을 사용하여 현재 막대를 포함하는 “Unconfirmed” 스윙을 허용하지 않는 가장 최근의 스윙에 대한 하이 및 저가를 찾아낼 수 있습니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@swingh,GBPUSD,M5,high,2,0”)=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@swingl,GBPUSD,M5,low,2,0”)
기술 파라미터는 다음과 같습니다. @swingh 및 @swingl에는 바 “shift” 매개 변수가 없으며 가장 최근의 스윙 가격만 반환한다는 점에 유의하십시오.
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
data |
각 바(Bar)에 사용할 수치, 고가는 @swingh, 저가는 @swingl으로 표시. 하지만 어느 수치나 사용 가능. 예를 들어, 고가를 @swingl로 표시하여 근처의 낮은 단계의 고가를 가진 바(Bar)를 찾을 수 있음. |
swingbars |
스윙 바의 양쪽에 필요한 높은/낮은 바의 수. 스윙 바의 양쪽에 2개의 낮은 고점/높은 저점으로 구성된 5바 스윙의 경우 일반적인 값은 2이지만 1(즉, 3바 스윙)부터 위쪽으로 임의의 값을 사용할 수 있음.s |
unconfirmed |
0 또는 1. 0은 현재 막대를 무시하고 “확인된” 스윙만 허용. 1은 현재 막대를 포함하며 현재 막대 동안 가격 움직임에 따라 변경될 수 있는 “확인되지 않은” 스윙을 허용. |
2.3.5.15 @keltupper and @keltlower – Keltner channels
@kelternuper 및 @keltnerlower 지표를 사용하여 Keltner 채널을 계산할 수 있습니다. 켈트너 채널은 지수 이동 평균 플러스/마이너스 평균 참 범위입니다.
예를 들어, 다음 공식은 20bar 이평선에서 10bar ATR의 절반을 뺀 값을 사용하여 GBP/USD H1의 하단 켈트너 채널을 계산합니다:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@keltlower,GBPUSD,60,close,20,10,0.5,0”)
Because Keltner channels are simply a combination of an EMA and ATR, the formula above is equivalent to the following:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@ema,GBPUSD,60,close,20,0”) –(RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@atr,GBPUSD,60,10,0”) * 0.5)
기술 파라미터는 다음과 같습니다:
파라미터 |
의미 |
symbol |
상품 이름. 예, GBPUSD |
timeframe |
차트의 시간 프레임, H1 혹은 M3과 같이 분/시간 프레임 |
data |
각 바(Bar)에 사용할 수치, 예를 들어 EMA를 계산하기 위한 종가 및 고가. |
emaPeriod |
EMA에 사용되는 바의 갯수 |
atrPeriod |
ATR에 사용되는 바의 갯수 |
atrMultiple |
EMA에 추가/제거할 ATR의 배수 |
shift |
바 시프트(Bar shift) : 보조지표의 현재 가치를 표시하려는 0 값 |
2.3.6 기타
Excel RTD 앱에서 제공하는 기타 데이터 항목은 다음과 같습니다:
속성 |
의미 |
LastUpdateTime |
RTD 앱에서 마지막으로 업데이트 한 시간. RTD 앱이 작동하지 않고 있다면 1/1/2000로 표시. |
2.4 상품이름 및 표준화
기본적으로 RTD 앱은 표준화된 상품 이름을 사용합니다. 이는 브로커가 거래 플랫폼에서 사용하는 기호 이름과 다를 수 있습니다. 예를 들어, 브로커의 기호 이름에는 cx 또는 mn과 같은 접미사가 있을 수 있습니다(예: EURUSDcx 또는 EURUSDmn).
기본적으로 모든 FX 기호는 AABBB 형식으로 변환됩니다. 예를 들어, EURUSDnm 또는 EUR/USD와 같은 이름은 기본적으로 EURUSD로 변환됩니다. 앱의 “Use standardised symbol names” 옵션을 해제하면 이 기능을 해제할 수 있습니다.
이 설정은 다른 브로커/플랫폼의 여러 계정에서 데이터를 수집하고(RTD 앱의 여러 복사본을 실행하여) 브로커/플랫폼이 서로 다른 상품 이름을 사용하는 스프레드시트를 위한 설정입니다.
예를 들어, 다음과 같은 스프레드시트가 있을 수 있으며, 다음 스프레드시트는 B열에 계정 번호가 있고 2열에 상품 이름이 있을 수 있습니다. 그러면 EUR/USD를 사용한 계정과 EURUSDFx 등을 사용한 계정에 대해 조정할 필요 없이 A열의 상품 이름을 사용하는 공식을 가질 수 있습니다.
A |
B |
C |
|
1 |
Symbol/Account |
12376522 |
265823654 |
2 |
EURUSD |
[see below] |
|
3 |
GBPUSD |
In cell B2: =RTD(“FXBlueLabs.ExcelRTD”, , B$1, CONCATENATE(“bid”, $A2))
그런 다음 셀 B2에서 B3, C2 등으로 공식을 채울 수 있으며, 셀 참조는 자동으로 조정됩니다.
(위의 예에서 볼 수 있듯이 A열에 상품이름과 함께 “매도”라는 글자를 넣으면 bidEURUSD 혹은 bidGBPUSD라는 이름이 나오게 됩니다.)
2.5 티켓 볼륨 (Ticket volumes)
RTD 앱은 티켓의 볼륨을 랏 크기가 아닌 숫자로 나타납니다. 예를 들어, 0.20랏은 20000으로 표기 됩니다.
(만약 100K가 아닌 10K의 랏 사이즈의 MT4 미니 계정과 같은 것을 사용하고 있지 않다면, 0.20랏은 2000랏 대신 2000랏이 됩니다.)
step 3
RTD 앱은 엑셀의 VBA 코드에서 간단한 거래 명령어를 보내는 데도 사용할 수 있습니다. RTD 기능을 통해 이용할 수 있는 동일한 데이터를 프로그래밍 방식으로 읽을 수도 있습니다.
엑셀의 VBA에서만 사용할 수 있는 기능이 아니라 COM을 지원하는 모든 프로그래밍 언어에서 다음과 같은 기능을 사용할 수 있습니다.
3.1 VBA 코드 데이터 읽기
FXBlueLabs를 사용하여 프로그래밍 방식으로 데이터를 읽을 수 있습니다.
예를 들면:
Set reader = CreateObject(“FXBlueLabs.ExcelReader”)
reader.Connect (“156734”)
MsgBox reader.Read(“balance”)
즉, FXBlueLabs의 인스턴스를 생성하십시오.ExcelReader 오브젝트: Connect() 함수를 사용하여 특정 계정 번호에 연결한 다음 Read() 함수를 사용하여 계정에 대한 데이터를 가져올 수 있습니다.
Read() 함수의 속성 이름은 Excel의 RTD 함수에 사용하기 위한 속성 이름과 동일합니다.
3.1.1 엑셀리더가 성공적으로 연결되었는지 확인하기
해당 계정에 대해 현재 실행 중인 RTD 앱이 없는 경우에도 엑셀리더를 생성하고 Connect() 함수를 불러올 수 있습니다.
실제로 데이터를 사용할 수 있는지 확인하려면 Read()를 사용하여 잔액과 같은 속성이 비어 있지 않은지 확인하거나 LastUpdateTime 속성을 읽고 시간이 2000년 1/1 이후인지 확인하십시오.
3.1.2 다중 읽기 간 데이터 일관성
여러 개의 데이터, 특히 여러 개의 티켓 데이터를 쿼리하는 경우 업데이트 및 데이터 일관성에 주의하여야 합니다. 예를 들어, 티켓 목록을 루핑하는 다음 코드를 고려하십시오:
For i = 1 To reader.Read(“tickets”)
strSymbol = reader.Read(“t” & i & “s”)
vVolume = reader.Read(“t” & i & “v”)
Next
다음과 같은 상황이 발생할 수도 있습니다:
•처음에 2장의 오픈 티켓이 있습니다
• 읽기()의 두 가지 용도, 즉 2행과 3행의 실행 사이에 티켓 중 하나가 닫힙니다.
• 그러면 티켓 2였던 것이 티켓 1이 됩니다.
• 그 결과 첫 번째 루프가 끝나면 strSymbol은 현재 닫힌 티켓의 기호를, vVolume은 아직 열려 있는 티켓의 볼륨을 보유하게 됩니다.
여러 개의 데이터를 읽는 동안 일관성을 유지하려면 리더(Reader)를 사용하십시오. ReaderLock() 이렇게 하면 당신이 리더(Reader)를 사용할 때까지 데이터에 대한 모든 변경을 보류할 것입니다.
ReaderUnlock() 예를 들면:
Reader.ReaderLock()
For i = 1 To reader.Read(“tickets”)
strSymbol = reader.Read(“t” & i & “s”)
vVolume = reader.Read(“t” & i & “v”)
Next
Reader.ReaderUnlock()
ReaderLock() 사용 후 ReaderUnlock()으로 닫는 것을 잊지 마십시오
3.2 엑셀에서 거래 명령 전송
보안 유지로 인해 명령은 기본적으로 해제되어 있습니다. 명령을 성공적으로 전송하려면 RTD 앱에서 “Accept commands” 설정을 켜야 합니다. 이 옵션을 해제하면 모든 명령이 “ERR:Commands not callowed”로 됩니다.
FXBlueLabs를 사용하여 엑셀에서 간단한 명령을 전송할 수 있습니다.
예를 들면:
Set cmd = CreateObject(“FXBlueLabs.ExcelCommand”)
strResult = cmd.SendCommand(“156734”, “BUY”, “s=EURUSD|v=10000”, 5)
SendCommand() 기능은 4가지 파라미터가 있습니다:
• 계좌번호 (e.g. 156734)
• 명령(예: BUY
• 명령의 매개 변수(예: 상품 및 볼륨)
• 응답을 기다리는 시간
SendCommand()는 동기화식입니다. RTD 앱이 명령을 완료했을 때 또는 시간 초과 기간이 만료되었을 때 반환합니다.(시간 초과라고 해서 시장 주문 등의 요청이 철회/취소된 것은 아니며 단지 브로커/플랫폼이 수용 가능한 시간 내에 대응하지 않았다는 것을 의미합니다.)
SendCommand()의 반환값은 ERR:로 시작하거나 OK:로 시작하는 문자열입니다. 유일한 예외는 HELLO라는 텍스트를 반환하는 TEST 명령입니다.
3.2.1 각 플랫폼의 차이점
현재 서로 다른 플랫폼에서 지원되는 특징에 약간의 차이가 있습니다:
• “Magic numbers” 는 MT4와 MT5에만 유효하며, 이러한 파라미터는 다른 플랫폼에서는 존재하지 않습니다.
• 주문 코멘트는 일부 플랫폼에서만 사용 가능합니다.
• 손절매와 손익절은 현재 거래가능한 플랫폼에서 지원되지 않습니다./p>
3.2.2 명령어와 파라미터
명령어 파라미터는 파이프 구분 문자열로 전송되며, name=value 형식의 여러 설정으로 구성됩니다. 파라미터는 임의의 순서로 나열할 수 있으며, 일부 파라미터는 선택 사항입니다.
cmd.SendCommand(“156734”, “BUY”, “s=EURUSD|v=10000”, 5)
거래량은 항상 랏이 아닌 현금으로 표시됩니다. 기호 이름의 형식은 RTD 앱에서 “Use standardised symbol names” 옵션이 켜져 있는지 여부에 따라 달라집니다.
3.2.2.1 명령어 테스트
문제가 없다면 Hello 텍스트만 나오게 됩니다.
3.2.2.2 매수 및 매도 명령어
구매 또는 판매 명령어에 아무 문제가 없다면 새 티켓의 ID는 OK:ticket-number 형식으로 나오게 됩니다.
파라미터 | 옵션여부 | 의미 |
s | 필수 | 매수 주문의 상품 이름 |
v | 필수 | 거래량 |
sl | 옵션 | 새 포지션의 손절매 가격 |
tp | 옵션 | 새 포지션의 이익 실현 가격 |
comment | 옵션 | 메모 |
magic | 옵션 | 새 포지션의 매직 넘버 |
3.2.2.3 BUYLIMIT, SELLLIMIT, BUYSTOP, SELLSTOP 명령어
보류 중인 새 주문을 제출하여 아무 문제가 없다면 새 티켓의 ID는 OK:ticket-number 형식으로 나오게 됩니다.
파라미터 | 옵션여부 | 의미 |
s | 필수 | 매수 주문의 상품 이름 |
v | 필수 | 거래량 |
price | 필수 | 지정/역지정 예약 주문의 진입 가격 |
Sl | 옵션 | 새 포지션의 손절매 가격 |
tp | 옵션 | 새 포지션의 이익 실현 가격 |
comment | 옵션 | 메모 |
magic | 옵션 | 새 포지션의 매직 넘버 |
3.2.2.4 청산 명령어
오픈 포지션 혹은 보류 중인 주문을 청산하는 명령어에 문제가 없을 경우 OKAY:okay 형식으로 나오게 됩니다.
파라미터 | 옵션여부 | 의미 |
t | 필수 | 청산하려는 주문 혹은 삭제하려는 예약 주문의 ID |
3.2.2.5 PARTIALCLOSE (부분청산) 명령어
오픈 포지션들 중 일부만 청산 할 경우 OKAY:okay라고 나오게 됩니다. 포지션보다 큰 볼륨은 단순히 전체 청산으로 처리됩니다(마감 플러스 남은 양에 대한 역순으로 처리하지 않음). 보류 중인 주문에 사용할 수 없습니다.
파라미터 | 옵션여부 | 의미 |
t | 필수 | 부분 청산하려는 거래의 ID closed. |
v | 필수 | 청산하려는 거래량. 예, 20000 |
3.2.2.6 역주문 명령어 (REVERSE command)
오픈 포지션을 전환할 수 있습니다(예: 열려있는 매도 주문 청산 후 매수로 전환).
파라미터 | 옵션여부 | 의미 |
t | 필수 | 역주문하려는 포지션의 ID |
v | 필수 | 거래량 |
sl | 옵션 | 새 포지션의 손절매 가격 |
tp | 옵션 | 새 포지션의 이익 실현 가격 |
comment | 옵션 | 메모 |
magic | 옵션 | 새 포지션의 매직 넘버 |
3.2.2.7 상품 청산 명령어 (CLOSESYMBOL command)
특정 상품에 대해 열려있는 포지션 및 보류중인 주문을 청산할 수 있습니다.
파라미터 | 옵션여부 | 의미 |
s | 필수 | 매수 주문을 할 상품 이름 |
3.2.2.8 전체 청산 명령어 (CLOSEALL command)
모든 상품에 대해 열려 있는 모든 포지션 및 보류 중인 주문을 닫을 수 있습니다. 모든 항목을 닫으려면 상당한 시간 초과가 필요할 수 있다는 점에 유의하십시오.
예를 들면:
cmd.SendCommand(“156734”, “CLOSEALL”, “”, 20) ‘ 20-second timeout
3.2.2.9 손절매 명령어 (ORDERSL command)
열려있는 포지션 혹은 보류중인 주문에 대해 손절매를 바꿀 수 있습니다.
파라미터 | 옵션여부 | 의미 |
t | 필수 | 수정하려는 예약 주문 및 거래의 ID |
tp | 필수 | 새 이익 실현 가격 혹은 기존 이익 실현 주문을 삭제하기 위한 0 값. |
3.2.2.11 주문 수정 명령어 (ORDERMODIFY command)
오픈 포지션 혹은 보류중인 주문에 대해 손절매 및 손익절 설정을 바꿀 수 있습니다. 보류중인 주문은 진입가도 변경이 가능합니다.
파라미터 | 옵션여부 | 의미 |
t | 필수 | 수정하려는 예약 주문 및 거래의 ID |
p | 예약 주문에 필수 | 예약 주문의 진입 가격. 거래 중인 주문에는 적용되지 않음. |
sl | 필수 | 새 손절매 가격 혹은 기존 손절매 주문을 삭제하기 위한 0 값. |
tp | 필수 | 새 이익 실현 가격 혹은 기존 이익 실현 주문을 삭제하기 위한 0 값. |
3.2.3 표준 에러메시지 (Standard error messages)
속성 | 의미 |
ERR:Need account | SendCommand()에서 계좌 값이 없음. |
ERR:Need command | SendCommand()에서 명령 값이 없음. |
ERR:No listening app | 해당 계좌에서 실행 중인 RTD 앱을 찾을 수 없음. |
ERR:No response within timeout | 일정 시간(초) 내에 플랫폼에서 응답이 없음. |
ERR:Commands not allowed | RTD 앱에서 “명령 허용(Allow commands)” 옵션이 켜져 있지 않음. |
ERR:Unrecognised command | RTD 앱에서 허용되지 않는 명령 값. |
ERR:Missing parameters | 필수 항목이 빠진 명령. |
3.3 비동기 명령어 (Asynchronous commands)
명령이 완료되거나 시간 초과될 때까지 VBA 코드의 실행을 차단하지 않고 비동기적으로 명령을 전송할 수 있습니다. 이것은 다음과 같습니다:
• SendCommand() 대신에 SendCommandAsync()를 사용하십시오.
• 비동기식 동작의 결과를 정기적으로 확인하십시오. CheckAsyncResult()를 확인하여야 합니다.
• 완료되면(또는 포기하기로 결정한 경우) FreeAsyncCommand()를 사용하여 명령을 해제하십시오.
예를 들면:
Set cmd = CreateObject(“FXBlueLabs.ExcelCommand”)
lCommandId = cmd.SendCommandAsync(“10915”, “BUY”, “s=EURUSD|v=10000”,
60)
strResult = “”
While strResult = “”
strResult = cmd.CheckAsyncResult(lCommandId)
If strResult = “” Then MsgBox “Still waiting…”
Wend
cmd.FreeAsyncCommand (lCommandId)
SendCommandAsync는 SendCommand()와 동일한 4개의 파라미터를 사용하지만, 명령 결과를 반환하는 대신 CheckAsyncResult() 및 FreeAsyncCommand()와 함께 후속적으로 사용할 수 있도록 “명령 ID”를 보여줍니다. SendCommandAsync()의 제한 시간 값이 아직 남아 있다는 점에 유의하십시오.
SendCommandAsync() 다음에 FreeAsyncCommand()로 하여야 합니다. 그렇지 않으면 적은 양이지만 코드메모리가 유출 될 수 있습니다.
CheckAsyncResult() 명령이 여전히 실행 중이고 지정된 제한 시간에 도달하지 않은 경우 빈 문자열을 반환하거나, 완료되면 SendCommand()와 동일한 문자열 응답을 보여줍니다.
FX거래 지금 시작하세요
라이센스 및 규제
리서치 및 교육
기술분석도구
투명한 가격책정
원스탑 서비스
24/5 고객지원
Forex 웨비나
편리한 거래
당일계좌개설