MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1693 1...168616871688168916901691169216931694169516961697169816991700...1953 새 코멘트 Tretyakov Rostyslav 2021.10.23 20:48 #16921 Taras Slobodyanik # : IsTesting 대신 IsVisualMode를 사용하는 것이 좋습니다. IsVisualMode 및 IsTesting 없이 가능합니다. 질문은 다른 것에 관한 것이었습니다. Maxim Kuznetsov 2021.10.23 21:32 #16922 마법에 대해=rand() 현지 테버 전문가들이 일제히 '잡티비'를 외치지 않는 게 이상하다.. 여기에서 프로그래밍을 공부하고 있기 때문에 - 망하는 데 시간이 얼마나 걸리는지 확인하십시오. 어느 정도 실제 조건에서 중복 마법을 얻을 가능성은 무엇입니까? 그런 갈퀴를 밟을 가치가 있습니까? Nerd Trader 2021.10.23 23:11 #16923 Valeriy Yastremskiy # : 그것도 가능합니다. 경기 가능성은 낮습니다. 경기에 대한 추가 확인도 있으므로 모든 것이 정상입니다. Nerd Trader 2021.10.23 23:13 #16924 Maxim Kuznetsov # : 마법에 대해=rand() 현지 terver 전문가들이 일제히 '잡티비'를 외치지 않는 게 이상하다.. 여기에서 프로그래밍을 공부하고 있기 때문에 - 망하는 데 시간이 얼마나 걸리는지 확인하십시오. 어느 정도 실제 조건에서 중복 마법을 얻을 가능성은 무엇입니까? 그런 갈퀴를 밟을 가치가 있습니까? 도움말에서: "반복되지 않는 시퀀스를 얻으려면 GetTickCount() 가 운영 체제 시작 이후 증가하고 49일 동안 반복되지 않으므로 MathSrand(GetTickCount()) 호출을 사용하십시오." Nerd Trader 2021.10.23 23:13 #16925 MakarFX # : 오, 작동합니다, 감사합니다... 아하, 이제서야 버튼을 누를 때마다 150개의 주문을 멈추지 않고 엽니다... 그랬다 if (IsTesting()) { if ( ObjectGetInteger ( 0 , "button1" , OBJPROP_STATE )== true ) { ... ObjectSetInteger ( 0 , "button1" , OBJPROP_STATE , false ); } } Nikolay Ivanov 2021.10.24 09:24 #16926 Maxim Kuznetsov # : 현지 terver 전문가들이 일제히 '잡티비'를 외치지 않는 게 이상하다.. 설득하다, 논쟁하다-아무도 원하지 않고, 사람이 공부하고, 공부하게하십시오. 그는 모든 것에 올 것입니다. Dmitry Fedoseev 2021.10.24 09:38 #16927 Maxim Kuznetsov # : 마법에 대해=rand() 현지 terver 전문가들이 일제히 '잡티비'를 외치지 않은 게 이상하다.. /// 글쎄, 당신은 얼마나 할 수 있습니까? Tretyakov Rostyslav 2021.10.24 09:38 #16928 Nerd Trader # : 오, 작동합니다, 감사합니다... 아하, 이제서야 버튼을 누를 때마다 150개의 주문을 멈추지 않고 엽니다... 그랬다 이런 식으로 하세요 if (IsTesting()) { if ( ObjectGetInteger ( 0 , "button1" , OBJPROP_STATE )== true ) { ObjectSetInteger ( 0 , "button1" , OBJPROP_STATE , false ); ... } } Galim_V 2021.10.24 12:45 #16929 이 스레드의 스크립트 //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ enum EResult {Ok,AllocError}; template < typename T> EResult GetRepeat( const T &arr[],T &ret[], uint count) { int size= ArraySize (arr); // Присваиваем переменной количество элементов массива arr if ( ArrayResize (ret,size)!=size) return AllocError; // Устанавливаем новый размер массиву ret, равный size int ii= 0 ; for ( int i= 0 ; i<size;) { T tmp=arr[i]; // переменная перегруженной функции с значениями массива arr uint repeatCount= 1 ; // будем считать одинаковые подряд значения массива arr while (++i<size&&arr[i]==tmp) // если следующее значение то же ++repeatCount; // плюсуем repeatCount if (repeatCount>=count) ret[ii++]=tmp; } return ArrayResize (ret,ii)==ii?Ok:AllocError; // новый размер массива ret } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnStart () { int si= 0 ; int arr[]= { 1 , 2 , 4 , 4 , 4 , 4 , 4 , 4 , 7 , 55 , 55 , 7 , 7 , 7 , 7 , 79 , 77 , 66 , 66 , 2 , 2 , 2 , 2 , 2 }; int ret[]; if (!GetRepeat(arr,ret,cou)) si= ArraySize (ret); for ( int i= 0 ; i<si; i++) Print (si, " ret[i] =" ,ret[i]); } //+------------------------------------------------------------------+ 나는 이 줄을 이해하지 못한다. if (!GetRepeat(arr,ret,cou)) 왜 "!" ? 열거형이 선택되는 이유는 무엇입니까? Aleksei Stepanenko 2021.10.24 13:23 #16930 왜 이렇게 했는지 모르겠지만 본질적으로 Boolean 함수입니다. 아마도 저자는 다음과 같이 생각했을 것입니다. 열거형에서 요소는 0부터 시작합니다. Ok=0, AllocError=1 즉, GetRepeat는 0 또는 1을 반환합니다. 그리고 cpp 언어에서: 0은 거짓, 1은 참, 각각 ! GetRepeat는 반환 값의 부정입니다. 당신은 당신 자신과 사람들의 머리를 속이지 않는 것이 너무 쉽기 때문에 당신의 머리를 부러뜨릴 수 있습니다. bool GetRepeat(...) { ... return ArrayResize (ret,ii)==ii; } 1...168616871688168916901691169216931694169516961697169816991700...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
IsTesting 대신 IsVisualMode를 사용하는 것이 좋습니다.
IsVisualMode 및 IsTesting 없이 가능합니다.
질문은 다른 것에 관한 것이었습니다.
마법에 대해=rand()
현지 테버 전문가들이 일제히 '잡티비'를 외치지 않는 게 이상하다..
여기에서 프로그래밍을 공부하고 있기 때문에 - 망하는 데 시간이 얼마나 걸리는지 확인하십시오. 어느 정도 실제 조건에서 중복 마법을 얻을 가능성은 무엇입니까? 그런 갈퀴를 밟을 가치가 있습니까?
그것도 가능합니다. 경기 가능성은 낮습니다.
경기에 대한 추가 확인도 있으므로 모든 것이 정상입니다.
마법에 대해=rand()
현지 terver 전문가들이 일제히 '잡티비'를 외치지 않는 게 이상하다..
여기에서 프로그래밍을 공부하고 있기 때문에 - 망하는 데 시간이 얼마나 걸리는지 확인하십시오. 어느 정도 실제 조건에서 중복 마법을 얻을 가능성은 무엇입니까? 그런 갈퀴를 밟을 가치가 있습니까?
도움말에서:
"반복되지 않는 시퀀스를 얻으려면 GetTickCount() 가 운영 체제 시작 이후 증가하고 49일 동안 반복되지 않으므로 MathSrand(GetTickCount()) 호출을 사용하십시오."
그랬다
현지 terver 전문가들이 일제히 '잡티비'를 외치지 않는 게 이상하다..
설득하다, 논쟁하다-아무도 원하지 않고, 사람이 공부하고, 공부하게하십시오. 그는 모든 것에 올 것입니다.
마법에 대해=rand()
현지 terver 전문가들이 일제히 '잡티비'를 외치지 않은 게 이상하다..
///
글쎄, 당신은 얼마나 할 수 있습니까?
오, 작동합니다, 감사합니다... 아하, 이제서야 버튼을 누를 때마다 150개의 주문을 멈추지 않고 엽니다...
그랬다
이런 식으로 하세요
이 스레드의 스크립트
나는 이 줄을 이해하지 못한다.
if (!GetRepeat(arr,ret,cou))
왜 "!" ? 열거형이 선택되는 이유는 무엇입니까?
왜 이렇게 했는지 모르겠지만 본질적으로 Boolean 함수입니다.
아마도 저자는 다음과 같이 생각했을 것입니다.
열거형에서 요소는 0부터 시작합니다. Ok=0, AllocError=1
즉, GetRepeat는 0 또는 1을 반환합니다.
그리고 cpp 언어에서: 0은 거짓, 1은 참,
각각 ! GetRepeat는 반환 값의 부정입니다.
당신은 당신 자신과 사람들의 머리를 속이지 않는 것이 너무 쉽기 때문에 당신의 머리를 부러뜨릴 수 있습니다.