MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1511 1...150415051506150715081509151015111512151315141515151615171518...1953 새 코멘트 Vitaly Muzichenko 2021.06.20 12:47 #15101 Vitaly Muzichenko : 글쎄, 나는 저축 외에 추구하는 또 다른 목표가 있었다. 차트에 Expert Advisors가 있으며 패널에서 거래를 위해 창을 추가로 여는 것은 옳지 않습니다. 따라서 거래 패널은 지표 형태로 작성되었습니다. 하나의 차트에 많은 것을 넣을 수 있습니다. 코드가 약간 잘렸지만 논리는 명확합니다. 지시자 // Открыть позиции // Открыть позицию Buy if ( sparam ==prefix+ "_openBuy" ) { BroadcastEvent(gMagic,edLots,_symbol); ObjectSetInteger ( 0 ,prefix+ "_openBuy" , OBJPROP_STATE , false ); ChartRedraw (); } // Открыть позицию Sell if ( sparam ==prefix+ "_openSell" ) { BroadcastEvent(gMagic,edLots,_symbol); ObjectSetInteger ( 0 ,prefix+ "_openSell" , OBJPROP_STATE , false ); ChartRedraw (); } //=============================================================================================== //------------------ Функция посылает сообщение всем открытым графикам -------------------------+ //=============================================================================================== void BroadcastEvent( long lparam, double dparam, string sparam) { ushort eventID= 9784 - CHARTEVENT_CUSTOM ; long currChart= ChartFirst (); int i= 0 ; while (i< CHARTS_MAX ) // у нас наверняка не больше CHARTS_MAX открытых графиков { EventChartCustom (currChart,eventID,lparam,dparam,sparam); currChart= ChartNext (currChart); // на основании предыдущего получим новый график if (currChart==- 1 ) break ; // достигли конца списка графиков i++; // не забудем увеличить счетчик } } 조언자 // -- Получим нажатие кнопки с индикатора // Открыть позицию if (id== 9784 ) { if (UseSound) PlaySound ( "tick.wav" ); OpenPosition(sparam,OP_BUY,dparam, 0 , 0 , "comm" ,( int )lparam, clrNONE ); } frank2020 2021.06.20 12:51 #15102 Aleksei Stepanenko : 지표는 어디에 있습니까? 포럼 스레드를 헤매지 않도록 여기에 첨부하십시오. 지시자 파일: vhpchannel_02.mq5 7 kb [삭제] 2021.06.20 12:52 #15103 네, 제 차트의 ChartID 를 터미널의 전역 변수에 EA로 쓰는 것도 생각했습니다. 그러면 모든 표시기가 이벤트를 보낼 위치를 알게 됩니다. BroadcastEvent 없이 포인트와이즈. Vitaly Muzichenko 2021.06.20 12:57 #15104 Aleksei Stepanenko : 예, 또한 내 차트의 ChartID 를 터미널의 전역 변수에 EA로 쓰는 것에 대해 생각했습니다. 그러면 모든 표시기가 이벤트를 보낼 위치를 알게 됩니다. BroadcastEvent 없이 포인트와이즈. 전역 변수 - 동일한 파일, 터미널은 그것으로 열심히 작동하고 디스크를 죽이며, 프로필에서만 동일한 주기로 틱 단위로 확인하는 것은 바람직하지 않습니다. :) [삭제] 2021.06.20 12:57 #15105 frank2020 : 지시자 그리고 이 지표에서 무엇을 얻고 싶습니까? Vitaly Muzichenko 2021.06.20 12:59 #15106 frank2020 : 지시자 여기에서 가져온 것이 있다면 Ищу канальные индикаторы для MT5 2017.03.28www.mql5.com Все привет, ищу любые канальные индикаторы, которых нет по умолчанию в MT5 Нужны для оптимизации ТС (какой их индикаторов покажет устойчивые резуль... [삭제] 2021.06.20 13:00 #15107 Vitaly Muzichenko : 전역 변수 - 동일한 파일, 터미널은 그것으로 열심히 작동하고 디스크를 죽이며, 프로필에서만 동일한 주기로 틱 단위로 확인하는 것은 바람직하지 않습니다. :) 아니 아니. EA가 시작되면 차트 번호를 전역 변수 에 씁니다. 그런 다음 시작 시 한 번 표시기가 이 변수를 읽고 개체 가 생성될 때마다 Expert Advisor가 있는 차트에만 이벤트를 보냅니다. Fast235 2021.06.20 13:02 #15108 Vitaly Muzichenko : 전역 변수 - 동일한 파일, 터미널은 그것으로 열심히 작동하고 디스크를 죽이며, 프로필에서만 동일한 주기로 틱 단위로 확인하는 것은 바람직하지 않습니다. :) 동일한 파일을 강제로 플러시하면 나머지 시간에는 램에서 많은 작업이 수행됩니다. [삭제] 2021.06.20 13:24 #15109 일반적으로 조언자/지표 사이의 정상적인 송신기는 다음과 같습니다. 수화기: int OnInit () { GlobalVariableSet ( "A" , ChartID ()); return ( INIT_SUCCEEDED ); } void OnChartEvent ( const int id, const long &lparam, const double &dparam, const string &sparam) { if (id== CHARTEVENT_CUSTOM + 777 ) { printf ( "Сообщение принято: " +sparam); } } 송신기: int OnInit () { long a=( long ) GlobalVariableGet ( "A" ); EventChartCustom (a, 777 , 0 , 0 , "Превед медвед!" ); return ( INIT_SUCCEEDED ); } CPU 부하가 없습니다. Igor Makanu 2021.06.20 13:33 #15110 Aleksei Stepanenko : 일반적으로 조언자/지표 사이의 정상적인 송신기는 다음과 같습니다. 정상이 아닙니다, 당신은 무언가를 전송하기 위해 8 바이트로 고통받습니다. 작동하긴 하지만 - @fxsaber bible은 TypeToByte를 사용하여 더 복잡한 구조를 교환하는 것으로 보입니다. 추신: 충돌을 어떻게 처리하시겠습니까? - IMHO, 모든 도로는 데이터 교환 데이터베이스로 연결되며, 작업의 90%가 귀하를 위해 수행되며 매우 고품질입니다. 1...150415051506150715081509151015111512151315141515151615171518...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
글쎄, 나는 저축 외에 추구하는 또 다른 목표가 있었다.
차트에 Expert Advisors가 있으며 패널에서 거래를 위해 창을 추가로 여는 것은 옳지 않습니다. 따라서 거래 패널은 지표 형태로 작성되었습니다. 하나의 차트에 많은 것을 넣을 수 있습니다.
코드가 약간 잘렸지만 논리는 명확합니다.
지시자
조언자
지표는 어디에 있습니까? 포럼 스레드를 헤매지 않도록 여기에 첨부하십시오.
예, 또한 내 차트의 ChartID 를 터미널의 전역 변수에 EA로 쓰는 것에 대해 생각했습니다. 그러면 모든 표시기가 이벤트를 보낼 위치를 알게 됩니다. BroadcastEvent 없이 포인트와이즈.
전역 변수 - 동일한 파일, 터미널은 그것으로 열심히 작동하고 디스크를 죽이며, 프로필에서만 동일한 주기로 틱 단위로 확인하는 것은 바람직하지 않습니다. :)
지시자
지시자
여기에서 가져온 것이 있다면
전역 변수 - 동일한 파일, 터미널은 그것으로 열심히 작동하고 디스크를 죽이며, 프로필에서만 동일한 주기로 틱 단위로 확인하는 것은 바람직하지 않습니다. :)
전역 변수 - 동일한 파일, 터미널은 그것으로 열심히 작동하고 디스크를 죽이며, 프로필에서만 동일한 주기로 틱 단위로 확인하는 것은 바람직하지 않습니다. :)
동일한 파일을 강제로 플러시하면 나머지 시간에는 램에서 많은 작업이 수행됩니다.
일반적으로 조언자/지표 사이의 정상적인 송신기는 다음과 같습니다.
수화기:
송신기:
CPU 부하가 없습니다.
일반적으로 조언자/지표 사이의 정상적인 송신기는 다음과 같습니다.
정상이 아닙니다, 당신은 무언가를 전송하기 위해 8 바이트로 고통받습니다.
작동하긴 하지만 - @fxsaber bible은 TypeToByte를 사용하여 더 복잡한 구조를 교환하는 것으로 보입니다.
추신: 충돌을 어떻게 처리하시겠습니까? - IMHO, 모든 도로는 데이터 교환 데이터베이스로 연결되며, 작업의 90%가 귀하를 위해 수행되며 매우 고품질입니다.