[암호화폐 자동매매] SMA (단순 이동 평균) 직접 구현 샘플

pandas를 이용하는 것으로 간주합니다. 아래는 SMA(단순 이동 평균)을 구하는 파이썬 코드입니다. 이미 구현되어 있는 라이브러리도 많지만 pandas를 활용한 방법은 공유합니다. def sma(data, lookback, result_col_name): if 'close' not in data.columns: raise ValueError("The input DataFrame must contain a 'close' column.") if lookback <= 0: raise ValueError("The lookback period must be a positive integer.") data.loc[:, result_col_name] = data['close'].rolling(window=lookback).mean() return data 사용은 아래와 같이 합니다. sample은 pandas 객체이고 10일 이동평균값을 구하여 sma10 칼럼에 저장하도록 하는 코드입니다. sample = sma(sample, 10, 'sma10') pandas 객체에 SMA10 열이 생성되고 값이 저장됩니다. 끝.

[암호화폐 자동매매] 오버레이 지표?

지표가 별도의 창에서 표시되지 않고, 가격 봉차트나 라인 차트 위에 겹쳐 나타나도록 설계되었다는 뜻입니다. 예를 들어, 이동평균선(SMA, EMA)이나 볼린저 밴드(Bollinger Bands)는 대표적인 overlay indicator입니다. 이들은 차트의 캔들스틱이나 가격 그래프 위에 함께 나타나면서 가격 움직임과의 관계를 시각적으로 보여줍니다. Overlay와 오실레이터의 차이 Overlay Indicator: 가격 차트 위에 표시 (e.g., 이동평균선, 볼린저 밴드, 피보나치 수준) Oscillator: 별도의 하단 창에 표시되며, 보통 고정된 범위 내에서 진동하는 형태 (e.g., RSI, MACD, 스토캐스틱) Trend-following과 Overlay Indicator Trend-following overlay indicators는 보통 가격과의 관계를 통해 추세를 파악하고, 이를 시각적으로 보여줍니다. 예: Moving Averages (SMA, EMA): 가격 차트 위에 겹쳐져 추세 방향을 확인. Bollinger Bands: 가격의 변동성과 추세를 차트 위에서 시각적으로 확인. 따라서 "overlay"는 단순히 지표가 차트 위에 표시된다는 기술적인 위치와 관련된 용어입니다.

[암호화폐 자동매매] pip install ta-lib 설치오류 해결

ta-lib 설치 실패시 참조 사항 https://pypi.org/project/ta-lib/ https://visualstudio.microsoft.com/ko/downloads/?q=build+tools [조치 순서] Windows Download ta-lib-0.4.0-msvc.zip and unzip to C:\ta-lib. This is a 32-bit binary release. If you want to use 64-bit Python, you will need to build a 64-bit version of the library. Some unofficial instructions for building on 64-bit Windows 10 or Windows 11, here for reference: Download and Unzip ta-lib-0.4.0-msvc.zip Move the Unzipped Folder ta-lib to C:\ Download and Install Visual Studio Community (2015 or later) Remember to Select [Visual C++] Feature Build TA-Lib Library From Windows Start Menu, Start [VS2015 x64 Native Tools Command Prompt] Move to C:\ta-lib\c\make\cdr\win32\msvc Build the Library  > nmake 위 과정을 수행하고 "pip install ta-lib" 수행하면 설치가 됩니다. 핵심은 C++ Build Tools를 설치하고 ta-lib가 의존하는 파일을 컴파일하는 것입니다.

[암호화폐 자동매매] 업비트 OpenAPI를 활용하여 MACD 지표 기반 매매 샘플코드

업비트 OpenAPI를 활용하여 MACD 지표 기반 매매 구현을 위하여 ChatGPT에게 샘플 코드를 요청한 결과 공유. import ccxt import pandas as pd from ta.trend import MACD import time # 업비트 API 키 API_KEY = 'your_access_key' SECRET_KEY = 'your_secret_key' # 업비트 객체 생성 upbit = ccxt.upbit({ 'apiKey': API_KEY, 'secret': SECRET_KEY, }) # 코인 티커 및 기본 설정 symbol = 'KRW-BTC' # 거래할 코인 (예: 비트코인) interval = '1m' # 캔들 간격 (1분봉) amount = 0.001 # 거래 수량 def fetch_ohlcv(symbol, interval): """OHLCV 데이터 가져오기""" ohlcv = upbit.fetch_ohlcv(symbol, timeframe=interval, limit=100) df = pd.DataFrame(ohlcv, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume']) df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms') # 타임스탬프 변환 return df def calculate_macd(df): """MACD 및 Signal Line 계산""" macd = MACD(df['close...

[PLC] MELSEC-Q MR-J4-B 서보 브레이크 배선

이미지
MELSEC-Q 서보 시리즈 중 하나인 MR-J4-B의 브레이크 배선 회로도입니다. 우선 ALM A접점은 없는 것으로 간주하겠습니다. (권장사항이나 일반적으로 잘 구성하지 않습니다.) ① 서보 앰프가 구동준비 상태가 되면 DOCOM->MBR 회로를 거쳐 릴레이(RA1)에 전원을 공급하게 됩니다. ② 전원이 인가된 릴레이(RA1)의 A접점이 닫히면서 브레이크용 전원 회로에 전류가 흐릅니다. ③ 모터에 내장된 브레이크 코일에 전원이 인가되어 브레이크가 해제됩니다. 유의사항은 릴레이에 병렬로 연결된 다이오드와 브레이크 코일에 병렬로 연결된 바리스터(서지 앱소버)입니다. 현장에서 접해본 대부분의 제어 판넬에서는 다이오드와 바리스터가 설치된 것을 보지 못했지만, 제가 회로를 구성하는 경우 가급적 설치하고 있습니다. RA1에 해당하는 릴레이는 다이오드가 포함된 릴레이를 구입하거나, MBR 신호를 PLC에서 받아 PLC 트랜지스터 출력으로 일반 릴레이를 동작시키는 방식으로 우회해도 됩니다. (PLC 트랜지스터 출력 모듈에는 다이오드 또는 대응품이 내장되어 있습니다.) 흔히 사용되는 HG-KR 모터 시리즈 기준으로 바리스터는 아래 기술된 것을 사용하면 됩니다. 디바이스마트나 엘레파츠에서 구매 가능합니다. 디바이스마트 : TND10V-221KB 엘레파츠 : TND10V-221KB DOCOM, MBR 연결은 CN3 커넥터를 통해 수행하며 핀 번호는 아래와 같습니다. 브레이크용 DC 파워서플라이와 제어용 DC 파워서플라이는 별도로 구분해서 사용하는 것이 권장사항입니다. 브레이크의 코일에 DC 전원 공급이 끊기는 순간 역기전력에 의해 높은 전압이 발생됩니다. 바리스터는 이 전압을 상쇄시키기 위해 설치하는 것입니다. 만약 바리스터를 설치하지 않는다면, 브레이크용 DC 파워서플라이는 별도로 설치하길 권장합니다. 끝.

[PLC] MELSEC-Q 시리즈 CPU RS-232C 6핀 커넥터 핀맵

이미지
MELSEC-Q 시리즈 CPU 모듈 중에 RS-232C 6핀 포트를 내장하고 있는 제품들이 있습니다. 해당 포트를 통해 MC 프로토콜을 이용한 HMI 연결 등을 수행할 수 있습니다. 우선 GX Works2 소트프웨어 PLC Parameter 항목에서 아래 항목을 체크하여 기능 활성화를 합니다. 커넥터 규격은 Mini-Din 6Pin이며, 일반적으로 PS2 커넥터로 통칭됩니다. 핀맵은 아래와 같습니다. 정품 케이블 모델명은 QC30R2 입니다. 해당 케이블이 가격이 저렴한 편이 아니기 때문에, 아래 그림과 같이 납땜용 커텍터를 사용하여 제작합니다. 구입은 쿠팡, 디바이스마트나 엘레파츠 등에서 할 수 있습니다. [쿠팡] https://link.coupang.com/a/bynEN1 (이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.) [디바이스마트] https://www.devicemart.co.kr/goods/view?no=12532628 [엘레파츠] https://www.eleparts.co.kr/goods/view?no=12411050 M2I HMI 기준으로 배선 예시입니다. 끝.

[전기 기초] 벡터와 스칼라

이미지
스칼라(scalar) - 크기만 가진 물리량 - 스칼라량(scalar quantity) - 시간, 길이, 질량, 온도, 면적, 체적, 일, 에너지, 전력, 밀도, 속력, 저항, 전하량 등 - 기호 A, B, C ... 등을 사용 벡터(vector) - 크기와 방향을 가진 물리량 - 벡터량(vector quantity) - 변위(거리, displacement), 힘, 토크, 모멘트, 속도, 가속도, 전계, 자계 등 - 다음과 같은 기호 사용 끝.