KimIV의 유용한 기능 - 페이지 11 1...456789101112131415161718...128 새 코멘트 Rustamzhan Salidzhanov 2008.04.06 11:41 #101 KimIV : 남자는 누구나 좌에서 우로 우열을 가집니다.. 이런.. 이런 점에서 좀 재미있게 할게요. Ilnar 는 프랙탈에 대한 보류 중인 주문 이라는 주제에 대해 다음과 같이 질문했습니다. Ilnar는 프랙탈의 가격 수준을 결정하는 데 어려움을 겪었을 것입니다. 따라서 나는 전통적으로 내 기능을 사용할 것을 제안합니다. //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 07.10.2006 | //| Описание : Поиск ближайшего фрактала. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента (NULL - текущий символ) | //| tf - таймфрейм ( 0 - текущий ТФ) | //| mode - тип фрактала (MODE_LOWER|MODE_UPPER) | //+----------------------------------------------------------------------------+ double FindNearFractal ( string sy = " 0 " , int tf = 0 , int mode = MODE_LOWER ) { if ( sy == "" || sy == " 0 " ) sy = Symbol () ; double f = 0 ; int d = MarketInfo ( sy , MODE_DIGITS ) , s ; if ( d == 0 ) if ( StringFind ( sy , " JPY " ) < 0 ) d = 4 ; else d = 2 ; for ( s = 2 ; s < 100 ; s ++ ) { f = iFractals ( sy , tf , mode , s ) ; if ( f != 0 ) return ( NormalizeDouble ( f , d )) ; } Print ( " FindNearFractal(): Фрактал не найден " ) ; return ( 0 ) ; } FindNearFractal() 함수는 주어진 시간에 주어진 기호에서 주어진 유형의 가장 가까운 프랙탈을 검색하고 해당 가격 수준을 반환합니다. 프랙탈 위치의 가격 수준을 알면 이미 이 수준에서 쉽게 주문할 수 있습니다. 함수가 두 개의 값(예: 프랙탈이 있는 막대의 번호)을 반환할 수 있습니까? 아니면 다른 값을 연결해야 합니까? Igor Kim 2008.04.06 15:45 #102 xrust писал (а): 함수가 두 개의 값(예: 프랙탈이 있는 막대의 번호)을 반환할 수 있습니까? 아니면 다른 값을 연결해야 합니까? 하나면 충분할 때 두 개의 값을 반환하는 이유는 무엇입니까? 막대 번호? 이렇게 하려면 연산자에서: return ( NormalizeDouble ( f , d )) ; 가격 수준이 아니라 바 카운터 값 의 전송을 기록하십시오. 출력에서 프랙탈 막대의 번호를 가져옵니다. 그리고 프랙탈 유형에 따라 iHigh ( ) 또는 iLow() 함수 중 하나로 가격 수준을 가져옵니다. Rustamzhan Salidzhanov 2008.04.06 16:05 #103 아니요, 여기서 모든 것이 명확합니다. 기본적으로 묻습니다. 감사합니다. 귀하의 게시물은 매우 도움이 됩니다. Igor Kim 2008.04.06 16:36 #104 xrust : 아니요, 여기서 모든 것이 명확합니다. 기본적으로 묻습니다. 아 ... 음, 원칙적으로 참조로 전달된 배열을 사용할 수 있습니다. 그러면 반환되는 매개변수의 수 는 배열의 크기에 의해 제한됩니다. Igor Kim 2008.04.07 14:41 #105 ExistOrdersByLot() 함수. 지정된 로트 크기의 주문이 있음을 나타내는 플래그를 반환합니다. True - 주문이 존재함(설정됨), False - 주문이 존재하지 않음(설정되지 않음). 함수 매개변수로 확인된 주문 목록을 제한할 수 있습니다. sy - 도구 이름. 이 매개변수를 설정하면 이 기능은 지정된 악기의 순서만 확인합니다. NULL 은 현재 도구를 의미하고 "" (기본값)은 모든 도구를 의미합니다. op - 작업, 보류 중인 주문 유형. 유효한 값은 OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT, OP_SELLSTOP 또는 -1 입니다. 기본값 -1 은 모든 주문 유형을 의미합니다. mn - 주문 ID(MagicNumber). 기본값은 -1 - 모든 마법입니다. lo - 소수점 이하 두 자리의 정확도를 가진 로트 크기. 기본값 0 - 모든 로트 크기. //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 28.11.2006 | //| Описание : Возвращает флаг существования ордера по размеру лота. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - любой символ, | //| NULL - текущий символ) | //| op - операция (-1 - любой ордер) | //| mn - MagicNumber (-1 - любой магик) | //| lo - лот ( 0 - любой лот) | //+----------------------------------------------------------------------------+ bool ExistOrdersByLot ( string sy = "" , int op =- 1 , int mn =- 1 , double lo = 0 ) { int i , k = OrdersTotal () , ot ; lo = NormalizeDouble ( lo , 2 ) ; if ( sy == " 0 " ) sy = Symbol () ; for ( i = 0 ; i < k ; i ++ ) { if ( OrderSelect ( i , SELECT_BY_POS , MODE_TRADES )) { ot = OrderType () ; if ( ot > 1 && ot < 6 ) { if (( OrderSymbol () == sy || sy == "" ) && ( op < 0 || ot == op )) { if ( mn < 0 || OrderMagicNumber () == mn ) { if ( lo <= 0 || NormalizeDouble ( OrderLots () , 2 ) == lo ) return ( True ) ; } } } } } return ( False ) ; } "KimIV의 유용한 기능"만. [경고, 주제 닫힘!] 포럼을 Useful features from KimIV Igor Kim 2008.04.07 14:44 #106 ExistOrdersByLot() 함수 사용 예. 로트 크기가 0.2인 주문을 확인하십시오. ExistOrdersByLot ( "" , - 1 , - 1 , 0.2 ) ; 현재 차트의 기호에 대해 로트 크기가 0.3인 주문을 확인하십시오. ExistOrdersByLot ( NULL , - 1 , - 1 , 0.3 ) ; 모든 상품에 대해 0.5가 많은 BuyLimit 주문을 확인하십시오. ExistOrdersByLot ( "" , OP_BUYLIMIT , - 1 , 0.5 ) ; EURUSD에서 매직 123456으로 0.1이 많은 SellStop 주문을 확인하십시오. ExistOrdersByLot ( " EURUSD " , OP_SELLSTOP , 123456 , 0.1 ) ; 매직 987 USDJPY로 0.4가 많은 주문이 있는지 확인하십시오. ExistOrdersByLot ( " USDJPY " , - 1 , 987 , 0.4 ) ; 평소와 같이 위의 예가 포함된 작업 스크립트가 첨부되어 있습니다. 파일: test_existordersbylot.mq4 5 kb Igor Kim 2008.04.08 06:19 #107 GetLotLastOrder() 함수. 마지막 주문의 로트 크기를 반환하거나 -1 을 반환합니다. 함수 매개변수로 확인된 주문 목록을 제한할 수 있습니다. sy - 도구 이름. 이 매개변수를 설정하면 이 기능은 지정된 악기의 순서만 확인합니다. NULL 은 현재 도구를 의미하고 "" (기본값)은 모든 도구를 의미합니다. op - 작업, 보류 중인 주문 유형. 유효한 값은 OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT, OP_SELLSTOP 또는 -1 입니다. 기본값 -1 은 모든 주문을 의미합니다. mn - 주문 ID(MagicNumber). 기본값은 -1 - 모든 마법입니다. //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 28.11.2006 | //| Описание : Возвращает размер лота последнего выставленного ордера или -1 | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - любой символ, | //| NULL - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ double GetLotLastOrder ( string sy = "" , int op =- 1 , int mn =- 1 ) { datetime o ; double l =- 1 ; int i , k = OrdersTotal () ; if ( sy == " 0 " ) sy = Symbol () ; for ( i = 0 ; i < k ; i ++ ) { if ( OrderSelect ( i , SELECT_BY_POS , MODE_TRADES )) { if ( OrderSymbol () == sy || sy == "" ) { if ( OrderType () > 1 && OrderType () < 6 ) { if ( op < 0 || OrderType () == op ) { if ( mn < 0 || OrderMagicNumber () == mn ) { if ( o < OrderOpenTime ()) { o = OrderOpenTime () ; l = OrderLots () ; } } } } } } } return ( l ) ; } Igor Kim 2008.04.08 06:22 #108 GetLotLastOrder() 함수 사용의 예. 마지막 주문의 로트 크기 알아보기 GetLotLastOrder () ; 현재 상품에 대한 마지막 주문의 로트 크기 찾기 GetLotLastOrder ( NULL ) ; 모든 상품에 대한 마지막 BuyLimit 주문의 로트 크기 알아보기 GetLotLastOrder ( "" , OP_BUYLIMIT ) ; EURUSD에서 매직 123456을 사용하여 마지막 SellStop 주문의 로트 크기를 알아보십시오. GetLotLastOrder ( " EURUSD " , OP_SELLSTOP , 123456 ) ; 현재 악기에 대한 Magic 2345를 사용하여 마지막 주문의 로트 크기 알아보기 GetLotLastOrder ( NULL , - 1 , 2345 ) ; 첨부 파일은 전통적으로 위의 예와 함께 작동하는 스크립트입니다. 파일: test_getlotlastorder.mq4 4 kb Igor Kim 2008.04.08 08:21 #109 GetOrderOpenPrice() 함수. 마지막 주문 가격 또는 0 을 반환합니다. 함수 매개변수로 확인된 주문 목록을 제한할 수 있습니다. sy - 도구 이름. 이 매개변수를 설정하면 이 기능은 지정된 악기의 순서만 확인합니다. NULL 은 현재 도구를 의미하고 "" (기본값)은 모든 도구를 의미합니다. op - 작업, 보류 중인 주문 유형. 유효한 값은 OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT, OP_SELLSTOP 또는 -1 입니다. 기본값 -1 은 모든 순서를 의미합니다. mn - 주문 ID(MagicNumber). 기본값은 -1 - 모든 마법입니다. //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 28.11.2006 | //| Описание : Возвращает цену установки последнего ордера или 0. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - любой символ, | //| NULL - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ double GetOrderOpenPrice ( string sy = "" , int op =- 1 , int mn =- 1 ) { datetime t ; double r = 0 ; int i , k = OrdersTotal () ; if ( sy == " 0 " ) sy = Symbol () ; for ( i = 0 ; i < k ; i ++ ) { if ( OrderSelect ( i , SELECT_BY_POS , MODE_TRADES )) { if ( OrderSymbol () == sy || sy == "" ) { if ( OrderType () > 1 && OrderType () < 6 ) { if ( op < 0 || OrderType () == op ) { if ( mn < 0 || OrderMagicNumber () == mn ) { if ( t < OrderOpenTime ()) { t = OrderOpenTime () ; r = OrderOpenPrice () ; } } } } } } } return ( r ) ; } "KimIV의 유용한 기능"만. [경고, 주제 닫힘!] 포럼을 Useful features from KimIV Igor Kim 2008.04.08 08:24 #110 GetOrderOpenPrice() 함수 사용의 예. 마지막으로 주문한 가격을 알아보십시오. GetOrderOpenPrice () ; 현재 상품에 대해 마지막으로 주문한 가격을 알아보십시오. GetOrderOpenPrice ( NULL ) ; 모든 상품에 대한 마지막 BuyLimit 주문 가격 알아보기 GetOrderOpenPrice ( "" , OP_BUYLIMIT ) ; EURUSD에서 매직 123456으로 마지막 SellStop 주문을 한 가격을 알아보십시오. GetOrderOpenPrice ( " EURUSD " , OP_SELLSTOP , 123456 ) ; 현재 악기의 Magic 2345로 마지막 주문 가격을 알아보세요. GetOrderOpenPrice ( NULL , - 1 , 2345 ) ; 위의 예와 함께 완벽하게 작동하는 스크립트가 첨부되어 있습니다. 파일: test_getorderopenprice.mq4 4 kb 1...456789101112131415161718...128 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
남자는 누구나 좌에서 우로 우열을 가집니다.. 이런.. 이런 점에서 좀 재미있게 할게요.
Ilnar 는 프랙탈에 대한 보류 중인 주문 이라는 주제에 대해 다음과 같이 질문했습니다.
Ilnar는 프랙탈의 가격 수준을 결정하는 데 어려움을 겪었을 것입니다. 따라서 나는 전통적으로 내 기능을 사용할 것을 제안합니다.
FindNearFractal() 함수는 주어진 시간에 주어진 기호에서 주어진 유형의 가장 가까운 프랙탈을 검색하고 해당 가격 수준을 반환합니다. 프랙탈 위치의 가격 수준을 알면 이미 이 수준에서 쉽게 주문할 수 있습니다.
함수가 두 개의 값(예: 프랙탈이 있는 막대의 번호)을 반환할 수 있습니까? 아니면 다른 값을 연결해야 합니까?
아니요, 여기서 모든 것이 명확합니다. 기본적으로 묻습니다.
ExistOrdersByLot() 함수.
지정된 로트 크기의 주문이 있음을 나타내는 플래그를 반환합니다. True - 주문이 존재함(설정됨), False - 주문이 존재하지 않음(설정되지 않음). 함수 매개변수로 확인된 주문 목록을 제한할 수 있습니다.
ExistOrdersByLot() 함수 사용 예.
평소와 같이 위의 예가 포함된 작업 스크립트가 첨부되어 있습니다.
GetLotLastOrder() 함수.
마지막 주문의 로트 크기를 반환하거나 -1 을 반환합니다. 함수 매개변수로 확인된 주문 목록을 제한할 수 있습니다.
GetLotLastOrder() 함수 사용의 예.
첨부 파일은 전통적으로 위의 예와 함께 작동하는 스크립트입니다.
GetOrderOpenPrice() 함수.
마지막 주문 가격 또는 0 을 반환합니다. 함수 매개변수로 확인된 주문 목록을 제한할 수 있습니다.
GetOrderOpenPrice() 함수 사용의 예.
위의 예와 함께 완벽하게 작동하는 스크립트가 첨부되어 있습니다.