커뮤니티

질문과 수식 검토 부탁드립니다.

프로필 이미지
목포댁
2022-05-17 16:04:49
1235
글번호 158954
답변완료
수고하십니다. 아래의 수식을 검토하여 주시고 질문 좀 부탁드려요 #======================================================# # 질문 : 잔고함수와 사운드, 기타 #1. 위탁증거금과 지정한 계좌예수금의 차이, 계좌종류(1:위탁, 2:저축, 3:선/옵션)에 따라 사용하는 함수인가? # 지정계좌위탁증거금 = GetOpenOrderInitialMargin(계좌번호); // 선물옵션용 함수인것인가? # 지정계좌예수금 = GetUnclearedDeposits(계좌번호); #2. 계좌종류(1:위탁, 2:저축, 3:선/옵션), 1:위탁이면 [1103]계좌평가(실시간)화면으로 연계되는것인가? 매뉴얼은 3번선물옵션 설명만 #3. 종목순번은 0번부터 시작인가? 1번부터 시작인가? 0번부터 인것 같은데, YL매뉴얼에 그레이 표시는 무엇인가? #3-1. [1103]계좌평가(실시간)에서 비번입력후 조회하여야만 잔고함수 사용가능한 것인가? #3-2. YT에 접속시 [1103]계좌평가(실시간)메뉴를 비번자동입력 조회할 수 없는 것인가? 반드시 수작업 입력해야 하는가? # YT에 접속시 [1103]계좌평가(실시간)를 최소 1회 조회하고 나면 가원장 구축상태가 된다. #4. YL 매뉴얼에서 잔고함수 사용시에 기술한 (사용자는 반드시 여기에 동의 해야만 사용할 수 있습니다.) : 동의 메뉴가 있는지요? 찾지를 못하겠네요 # 전에 동의를 했던 것인지 모르겠고, 찾지를 못했지만 가원장 구축된다. #5. 가상화면 Alt+1~6 번에 각각 전략실행차트 가동시에 현재 가상화면1번 선택상황이면 2~5번까지 실행중인 상태인가. #6. PlaySound는 for문 n번 반복이 안된다. 사운드설정상태나 cool time 대기시간이 있는 것인가? #7. Phone, SMS 송신 기능이 현재 서비스 되는가? SMS(Grey) #======================================================# # 자금관리 2번 : 자금관리 , 자금관리 중 동일가중(비중) 진입수량 관리만 한다. #======================================================# Var : 계좌번호("") ; Var : 보유계좌총갯수(0), 구축상태(0), 계좌종류(0), 보유총종목수(0), 종목순번(0), 지정계좌위탁증거금(0), 지정계좌예수금(0), 종목평가손익합계(0), 보유종목평가합계(0) ; Arrays: 단축코드[50](""), 평균단가[50](0), 종목현재가격[50](0), 종목평가손익[50](0), 종목보유수량[50](0) ; // 배열 개별처리 #Array : 보유종목[5,50](0) ; // 배열 전체처리 [1]단축코드,[2]평균단가 ,, 이겅 문자랑 숫자네 #------------------------------------------------------# var : Equity(100000000), Leverage(0.7), NumberOfPortfolios(10) ; var : WorkingCapital(0), CapitalOfLeverage(0), ewAmount(0), EntryQuantity(0), ReserveFunds(0) ; #------------------------------------------------------# #GetAccount(Accountindex) // 계좌번호순서 : 관리 메뉴의 계좌순서 설정에서 정렬한다. 보유계좌총갯수 = GetNumAccounts; 계좌번호 = GetAccount(0); // index 0번부터 시작, 0번째 계좌번호 받기 For Value99 = 1 to 10 { 구축상태 = GetAccountStatus(계좌번호); // 가원장 구축상태 (구축 :1, 미구축 : 0) If 구축상태 == 1 Then Value99 = 10; } If 구축상태 == 0 Then { #Phone_Call(주인님! 가원장 안되요!) // 기능이 있을라나 #SMS_Call(주인님! 가원장 안되요!) // 기능이 있을라나, 그레이 된것으로 보아 서비스 안하는듯 For Value10 = 1 to 3 // 사운드는 n번 반복이 안된다. 설정상태나 대기상태가 있는 것 같다. { PlaySound("C:₩예스트레이더₩data₩Sound₩ahooga.wav") ; // wav만 되나 mp3는 안되는것인가 #PlaySound("C:₩예스트레이더₩data₩Sound₩party.wav") ; // 요건 소리도 크고 좀 길다 .3초 정도인가. Alert("가원장 NO 돼지소리 %.f", 구축상태) ; } } If 구축상태 == 1 Then { Alert("가원장 OK %.f", 구축상태) ; PlaySound("C:₩예스트레이더₩data₩Sound₩accept.wav") ; } 계좌종류 = GetAccountType(계좌번호); // 계좌종류(1:위탁, 2:저축, 3:선/옵션) 보유총종목수 = GetNumPositions(계좌번호) ; 지정계좌위탁증거금 = GetOpenOrderInitialMargin(계좌번호); // 위탁증거금과 계좌예수금의 차이?? 선물옵션용 함수인것인가? 지정계좌예수금 = GetUnclearedDeposits(계좌번호); // 위탁증거금과 계좌예수금의 차이?? # 종목순번은 0번부터 시작? ,1부터 시작? 확인 필요 종목평가손익합계 = 0; 보유종목평가합계 = 0; For 종목순번 = 0 To 보유총종목수-1 // For 종목순번 = 1 To 보유총종목수 (종목순번이 1번부터이면) { // 종목순번은 1번부터 시작? ,0부터 시작? 확인 필요 단축코드[종목순번] = GetPositionSymbol(종목순번,계좌번호); 평균단가[종목순번] = GetPositionAveragePrice(단축코드[종목순번],계좌번호); 종목현재가격[종목순번] = GetPositionMarketValue(단축코드[종목순번],계좌번호); 종목평가손익[종목순번] = GetPositionOpenPL(단축코드[종목순번],계좌번호); 종목보유수량[종목순번] = GetPositionQuantity(단축코드[종목순번],계좌번호); 종목평가손익합계 = 종목평가손익합계 + 종목평가손익[종목순번]; 보유종목평가합계 = 보유종목평가합계 + 종목평가손익[종목순번] + (종목현재가격[종목순번]*종목보유수량[종목순번]); } #------------------------------------------------------# WorkingCapital = 지정계좌예수금 + 보유종목평가합계 ; # 총운전자금 = 지정계좌예수금 + 보유종목평가합계 CapitalOfLeverage = WorkingCapital * Leverage ; # 운용자금 = 총운전자금*Leverage ReserveFunds = WorkingCapital - CapitalOfLeverage ; # 예비자금 = 총운전자금 - 운용자금 #지우지 말것 #ewAmount = CapitalOfLeverage / (NumberOfPortfolios - 보유총종목수) ; # 동일가중금액(진입금액) = 운용자금 / 종목수 ewAmount = CapitalOfLeverage / (NumberOfPortfolios) ; # 동일가중금액(진입금액) = 운용자금 / 종목수 If 보유총종목수 < NumberOfPortfolios and 지정계좌예수금 > ewAmount Then EntryQuantity = int(ewAmount / Close) ; # 진입수량 = int(진입금액/종가) Else EntryQuantity = 0 ; #------------------------------------------------------# If Index == 0 Then Print("C:₩주식연구₩계좌평가.csv", ", 계좌번호, 구축상태, 계좌종류, 보유총종목수, 지정계좌위탁증거금, 지정계좌예수금, 진입수량") ; # , 종목수, 진입금액, 진입단가, 진입수량 If LastBarOnChart == 1 Then { Print("C:₩주식연구₩계좌평가.csv", ", %s, %.f, %.f, %.f, %.f, %.f, %.f", 계좌번호, 구축상태, 계좌종류, 보유총종목수, 지정계좌위탁증거금, 지정계좌예수금, EntryQuantity) ; # , 종목수, 진입금액, 진입단가, 진입수량 #MessageLog("계좌번호 %s", 계좌번호) ; } #======================================================# # 매매 <진입 / 청산> #======================================================# Condition40 = O < C ; // 양봉 Condition89 = C[1]*0.98 <= C[0] ; // 현재 0.98% 이상 상승 if Condition40 == True Then { #ewAmount = 9000 + NetProfit; #디버그 핸들링, 완료 후 주석처리할 것 #EntryQuantity = int(ewAmount / Close) ; #디버그 핸들링, 완료 후 주석처리할 것 If EntryQuantity > 1 Then # 진입수량 > 1 이면 잔고함수로 관리 buy("stopEQ_Y" , AtStop, C, EntryQuantity) ; Else # 가원장 미구축 buy("stopEQ_N" , AtStop, C) ; # 속성창 비용/수량탭의 고정자산으로 사전입력 관리 #Print("C:₩주식연구₩진입수량.csv", ", %.f, %.f, %.f, %.2f, %.f, %.f, %.f, %.f, %.f", # Equity, NetProfit, WorkingCapital, Leverage, CapitalOfLeverage, NumberOfPortfolios, ewAmount, Close, EntryQuantity ); #Print("C:₩주식연구₩계좌평가.txt", ", %s, %.f, %.f, %.f, %.f", # 계좌번호, 구축상태, 보유총종목수, 위탁증거금, 지정계좌예수금); } if Condition89 != True Then ExitLong("s82");
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-05-18 11:40:24

> 목포댁 님이 쓴 글입니다. > 제목 : 질문과 수식 검토 부탁드립니다. > 수고하십니다. 아래의 수식을 검토하여 주시고 질문 좀 부탁드려요 #======================================================# # 질문 : 잔고함수와 사운드, 기타 #1. 위탁증거금과 지정한 계좌예수금의 차이, 계좌종류(1:위탁, 2:저축, 3:선/옵션)에 따라 사용하는 함수인가? # 지정계좌위탁증거금 = GetOpenOrderInitialMargin(계좌번호); // 선물옵션용 함수인것인가? # 지정계좌예수금 = GetUnclearedDeposits(계좌번호); #2. 계좌종류(1:위탁, 2:저축, 3:선/옵션), 1:위탁이면 [1103]계좌평가(실시간)화면으로 연계되는것인가? 매뉴얼은 3번선물옵션 설명만 #3. 종목순번은 0번부터 시작인가? 1번부터 시작인가? 0번부터 인것 같은데, YL매뉴얼에 그레이 표시는 무엇인가? #3-1. [1103]계좌평가(실시간)에서 비번입력후 조회하여야만 잔고함수 사용가능한 것인가? #3-2. YT에 접속시 [1103]계좌평가(실시간)메뉴를 비번자동입력 조회할 수 없는 것인가? 반드시 수작업 입력해야 하는가? # YT에 접속시 [1103]계좌평가(실시간)를 최소 1회 조회하고 나면 가원장 구축상태가 된다. #4. YL 매뉴얼에서 잔고함수 사용시에 기술한 (사용자는 반드시 여기에 동의 해야만 사용할 수 있습니다.) : 동의 메뉴가 있는지요? 찾지를 못하겠네요 # 전에 동의를 했던 것인지 모르겠고, 찾지를 못했지만 가원장 구축된다. #5. 가상화면 Alt+1~6 번에 각각 전략실행차트 가동시에 현재 가상화면1번 선택상황이면 2~5번까지 실행중인 상태인가. #6. PlaySound는 for문 n번 반복이 안된다. 사운드설정상태나 cool time 대기시간이 있는 것인가? #7. Phone, SMS 송신 기능이 현재 서비스 되는가? SMS(Grey) #======================================================# # 자금관리 2번 : 자금관리 , 자금관리 중 동일가중(비중) 진입수량 관리만 한다. #======================================================# Var : 계좌번호("") ; Var : 보유계좌총갯수(0), 구축상태(0), 계좌종류(0), 보유총종목수(0), 종목순번(0), 지정계좌위탁증거금(0), 지정계좌예수금(0), 종목평가손익합계(0), 보유종목평가합계(0) ; Arrays: 단축코드[50](""), 평균단가[50](0), 종목현재가격[50](0), 종목평가손익[50](0), 종목보유수량[50](0) ; // 배열 개별처리 #Array : 보유종목[5,50](0) ; // 배열 전체처리 [1]단축코드,[2]평균단가 ,, 이겅 문자랑 숫자네 #------------------------------------------------------# var : Equity(100000000), Leverage(0.7), NumberOfPortfolios(10) ; var : WorkingCapital(0), CapitalOfLeverage(0), ewAmount(0), EntryQuantity(0), ReserveFunds(0) ; #------------------------------------------------------# #GetAccount(Accountindex) // 계좌번호순서 : 관리 메뉴의 계좌순서 설정에서 정렬한다. 보유계좌총갯수 = GetNumAccounts; 계좌번호 = GetAccount(0); // index 0번부터 시작, 0번째 계좌번호 받기 For Value99 = 1 to 10 { 구축상태 = GetAccountStatus(계좌번호); // 가원장 구축상태 (구축 :1, 미구축 : 0) If 구축상태 == 1 Then Value99 = 10; } If 구축상태 == 0 Then { #Phone_Call(주인님! 가원장 안되요!) // 기능이 있을라나 #SMS_Call(주인님! 가원장 안되요!) // 기능이 있을라나, 그레이 된것으로 보아 서비스 안하는듯 For Value10 = 1 to 3 // 사운드는 n번 반복이 안된다. 설정상태나 대기상태가 있는 것 같다. { PlaySound("C:₩예스트레이더₩data₩Sound₩ahooga.wav") ; // wav만 되나 mp3는 안되는것인가 #PlaySound("C:₩예스트레이더₩data₩Sound₩party.wav") ; // 요건 소리도 크고 좀 길다 .3초 정도인가. Alert("가원장 NO 돼지소리 %.f", 구축상태) ; } } If 구축상태 == 1 Then { Alert("가원장 OK %.f", 구축상태) ; PlaySound("C:₩예스트레이더₩data₩Sound₩accept.wav") ; } 계좌종류 = GetAccountType(계좌번호); // 계좌종류(1:위탁, 2:저축, 3:선/옵션) 보유총종목수 = GetNumPositions(계좌번호) ; 지정계좌위탁증거금 = GetOpenOrderInitialMargin(계좌번호); // 위탁증거금과 계좌예수금의 차이?? 선물옵션용 함수인것인가? 지정계좌예수금 = GetUnclearedDeposits(계좌번호); // 위탁증거금과 계좌예수금의 차이?? # 종목순번은 0번부터 시작? ,1부터 시작? 확인 필요 종목평가손익합계 = 0; 보유종목평가합계 = 0; For 종목순번 = 0 To 보유총종목수-1 // For 종목순번 = 1 To 보유총종목수 (종목순번이 1번부터이면) { // 종목순번은 1번부터 시작? ,0부터 시작? 확인 필요 단축코드[종목순번] = GetPositionSymbol(종목순번,계좌번호); 평균단가[종목순번] = GetPositionAveragePrice(단축코드[종목순번],계좌번호); 종목현재가격[종목순번] = GetPositionMarketValue(단축코드[종목순번],계좌번호); 종목평가손익[종목순번] = GetPositionOpenPL(단축코드[종목순번],계좌번호); 종목보유수량[종목순번] = GetPositionQuantity(단축코드[종목순번],계좌번호); 종목평가손익합계 = 종목평가손익합계 + 종목평가손익[종목순번]; 보유종목평가합계 = 보유종목평가합계 + 종목평가손익[종목순번] + (종목현재가격[종목순번]*종목보유수량[종목순번]); } #------------------------------------------------------# WorkingCapital = 지정계좌예수금 + 보유종목평가합계 ; # 총운전자금 = 지정계좌예수금 + 보유종목평가합계 CapitalOfLeverage = WorkingCapital * Leverage ; # 운용자금 = 총운전자금*Leverage ReserveFunds = WorkingCapital - CapitalOfLeverage ; # 예비자금 = 총운전자금 - 운용자금 #지우지 말것 #ewAmount = CapitalOfLeverage / (NumberOfPortfolios - 보유총종목수) ; # 동일가중금액(진입금액) = 운용자금 / 종목수 ewAmount = CapitalOfLeverage / (NumberOfPortfolios) ; # 동일가중금액(진입금액) = 운용자금 / 종목수 If 보유총종목수 < NumberOfPortfolios and 지정계좌예수금 > ewAmount Then EntryQuantity = int(ewAmount / Close) ; # 진입수량 = int(진입금액/종가) Else EntryQuantity = 0 ; #------------------------------------------------------# If Index == 0 Then Print("C:₩주식연구₩계좌평가.csv", ", 계좌번호, 구축상태, 계좌종류, 보유총종목수, 지정계좌위탁증거금, 지정계좌예수금, 진입수량") ; # , 종목수, 진입금액, 진입단가, 진입수량 If LastBarOnChart == 1 Then { Print("C:₩주식연구₩계좌평가.csv", ", %s, %.f, %.f, %.f, %.f, %.f, %.f", 계좌번호, 구축상태, 계좌종류, 보유총종목수, 지정계좌위탁증거금, 지정계좌예수금, EntryQuantity) ; # , 종목수, 진입금액, 진입단가, 진입수량 #MessageLog("계좌번호 %s", 계좌번호) ; } #======================================================# # 매매 <진입 / 청산> #======================================================# Condition40 = O < C ; // 양봉 Condition89 = C[1]*0.98 <= C[0] ; // 현재 0.98% 이상 상승 if Condition40 == True Then { #ewAmount = 9000 + NetProfit; #디버그 핸들링, 완료 후 주석처리할 것 #EntryQuantity = int(ewAmount / Close) ; #디버그 핸들링, 완료 후 주석처리할 것 If EntryQuantity > 1 Then # 진입수량 > 1 이면 잔고함수로 관리 buy("stopEQ_Y" , AtStop, C, EntryQuantity) ; Else # 가원장 미구축 buy("stopEQ_N" , AtStop, C) ; # 속성창 비용/수량탭의 고정자산으로 사전입력 관리 #Print("C:₩주식연구₩진입수량.csv", ", %.f, %.f, %.f, %.2f, %.f, %.f, %.f, %.f, %.f", # Equity, NetProfit, WorkingCapital, Leverage, CapitalOfLeverage, NumberOfPortfolios, ewAmount, Close, EntryQuantity ); #Print("C:₩주식연구₩계좌평가.txt", ", %s, %.f, %.f, %.f, %.f", # 계좌번호, 구축상태, 보유총종목수, 위탁증거금, 지정계좌예수금); } if Condition89 != True Then ExitLong("s82");