MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1555 1...154815491550155115521553155415551556155715581559156015611562...1953 새 코멘트 Mihail Matkovskij 2021.07.31 16:25 #15541 MakarFX : 오류가 발생하지 않습니다. 런타임 오류 뿐만 아니라 알고리즘 오류도 있습니다! 원인을 찾으려면 코드가 필요합니다. 마카르FX : 이러한 좌표를 사용하면 버튼이 거꾸로 나옵니다. 버튼 길이는 점 X에서 +/-로 계산됩니다. 왜 그런 이상한 버튼이 있습니까? законопослушный гражданин 2021.07.31 16:28 #15542 MakarFX : 손익에 도달하면 ExpertRemove () 옵션을 제공할 수 있습니다. 고맙습니다 나는 그것을 읽었지만 논리를 잘 이해하지 못했다 지정된 이벤트에 도달하면 전문가가 비활성화되고 차트에서 완전히 제거됩니다. Tretyakov Rostyslav 2021.07.31 16:30 #15543 Mihail Matkovskij : 런타임 오류 뿐만 아니라 알고리즘 오류도 있습니다! 원인을 찾으려면 코드가 필요합니다. 왜 그런 이상한 버튼이 있습니까? 나는 우연히 그런 버그를 발견했다고 썼습니다. 여기에 코드가 있습니다 ... 관심이 있다면 //+------------------------------------------------------------------+ //| BAG.mq4 | //| Copyright 2020, DrMak. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, DrMak." #property link " https://www.mql5.com " #property version "1.00" #property strict #property indicator_chart_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit () { //--- indicator buffers mapping CreateButton( 0 , "Button_1" , 0 , 200 , 100 , 100 , 50 , CORNER_RIGHT_UPPER , " " , "START" , "Arial Black" , 10 , clrWhite , clrGreen , BORDER_SUNKEN , false , false , false , false , false , 0 ); CreateButton( 0 , "Button_2" , 0 , 200 , 100 ,- 100 ,- 50 , CORNER_RIGHT_UPPER , " " , "START" , "Arial Black" , 10 , clrWhite , clrGreen , BORDER_SUNKEN , false , false , false , false , false , 0 ); //--- return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { ObjectsDeleteAll ( 0 , "Button_" ); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate ( const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- //--- return value of prev_calculated for next call return (rates_total); } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent ( const int id, const long &lparam, const double &dparam, const string &sparam) { //--- } //+------------------------------------------------------------------+ //| Создает кнопку | //+------------------------------------------------------------------+ bool CreateButton( const long chart_ID= 0 , // ID графика const string name= "Button" , // имя кнопки const int sub_window= 0 , // номер подокна const int x= 0 , // координата по оси X const int y= 0 , // координата по оси Y const int width= 50 , // ширина кнопки const int height= 18 , // высота кнопки const int corner= 0 , // угол графика для привязки const string tool= "TOOLTIP" , // TOOLTIP const string text= "Button" , // текст const string font= "Arial" , // шрифт const int font_size= 10 , // размер шрифта const color clr= clrBlack , // цвет текста const color back_clr= C'236,233,216' , // цвет фона ENUM_BORDER_TYPE border_type= BORDER_FLAT , // тип границы const bool state= false , // нажата/отжата const bool back= false , // на заднем плане const bool selection= false , // выделить для перемещений const bool selected= false , // выделить для перемещений const bool hidden= true , // скрыт в списке объектов const long z_order= 0 ) // приоритет на нажатие мышью { //--- сбросим значение ошибки ResetLastError (); //--- создадим кнопку if (! ObjectCreate (chart_ID,name, OBJ_BUTTON ,sub_window, 0 , 0 )) { Print ( __FUNCTION__ , ": не удалось создать кнопку! Код ошибки = " , GetLastError ()); return ( false ); } ObjectSetInteger (chart_ID,name, OBJPROP_XDISTANCE ,x); ObjectSetInteger (chart_ID,name, OBJPROP_YDISTANCE ,y); ObjectSetInteger (chart_ID,name, OBJPROP_XSIZE ,width); ObjectSetInteger (chart_ID,name, OBJPROP_YSIZE ,height); ObjectSetInteger (chart_ID,name, OBJPROP_CORNER ,corner); ObjectSetString (chart_ID,name, OBJPROP_TOOLTIP ,tool); ObjectSetString (chart_ID,name, OBJPROP_TEXT ,text); ObjectSetString (chart_ID,name, OBJPROP_FONT ,font); ObjectSetInteger (chart_ID,name, OBJPROP_FONTSIZE ,font_size); ObjectSetInteger (chart_ID,name, OBJPROP_COLOR ,clr); ObjectSetInteger (chart_ID,name, OBJPROP_BGCOLOR ,back_clr); ObjectSetInteger (chart_ID,name, OBJPROP_BORDER_TYPE ,border_type); ObjectSetInteger (chart_ID,name, OBJPROP_BACK ,back); ObjectSetInteger (chart_ID,name, OBJPROP_STATE ,state); ObjectSetInteger (chart_ID,name, OBJPROP_SELECTABLE ,selection); ObjectSetInteger (chart_ID,name, OBJPROP_SELECTED ,selected); ObjectSetInteger (chart_ID,name, OBJPROP_HIDDEN ,hidden); ObjectSetInteger (chart_ID,name, OBJPROP_ZORDER ,z_order); //--- успешное выполнение return ( true ); } //+------------------------------------------------------------------+ Tretyakov Rostyslav 2021.07.31 16:30 #15544 законопослушный гражданин : 고맙습니다 나는 그것을 읽었지만 논리를 잘 이해하지 못했다 지정된 이벤트에 도달하면 전문가가 비활성화되고 차트에서 완전히 제거됩니다. 예 Mihail Matkovskij 2021.07.31 16:33 #15545 MakarFX : 나는 우연히 그런 버그를 발견했다고 썼습니다. 여기에 코드가 있습니다 ... 관심이 있다면 따라서 여기에서는 어떤 버튼도 응답하지 않습니다. OnChartEvent 핸들러가 비어 있습니다... Tretyakov Rostyslav 2021.07.31 16:42 #15546 Mihail Matkovskij : 따라서 여기에서는 어떤 버튼도 응답하지 않습니다. OnChartEvent 핸들러가 비어 있습니다... 그리고 당신은 시도) 하나의 버튼이 눌려지고 두 번째는 그렇지 않습니다 Mihail Matkovskij 2021.07.31 16:45 #15547 MakarFX : 그리고 당신은 시도) 하나의 버튼이 눌려지고 두 번째 버튼이 눌려지지 않습니다 그리고 일반적으로 누가 이것을 수행하고 부정적인 차원을 설정하며 왜 묻기를 주저 합니까? ... законопослушный гражданин 2021.07.31 16:45 #15548 MakarFX : 예 이해했다. 그것은 나에게 어울리지 않을 것이다. 올빼미를 끈 후 로트가 시작 위치로 재설정되도록 전역 변수 생성으로 돌아갈 수 있습니다. 비록 그렇다 하더라도 당신이 만듭니다 전역 변수 datetime Start; int OnInit () { Start= TimeCurrent (); ..................... } void OnTick () { if (!IsTradeAllowed()) { DrawLABEL( "Торговля" , 0 , 0 , 0 ,Red, "Торговля запрещена" ); Start= TimeCurrent (); return ; } ..................... } 그런 다음 나중에 개설/마감된 주문이 없으면 "시작" Lots=Lot; 어떻게 만드는지 이해가 안감 Документация по MQL5: Основы языка / Переменные / Глобальные переменные www.mql5.com Глобальные переменные - Переменные - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Tretyakov Rostyslav 2021.07.31 16:51 #15549 законопослушный гражданин : 이해했다. 그것은 나에게 어울리지 않을 것이다. 올빼미를 끈 후 로트가 시작 위치로 재설정되도록 전역 변수 생성으로 돌아갈 수 있습니다. 비록 그렇다 하더라도 당신이 만듭니다 전역 변수 그런 다음 나중에 개설/마감된 주문이 없으면 "시작" 어떻게 만드는지 이해가 안감 버튼을 만들어줄게 Tretyakov Rostyslav 2021.07.31 16:52 #15550 Mihail Matkovskij : 그리고 일반적으로 누가 이것을 수행하고 부정적인 차원을 설정하며 왜 묻기를 주저 합니까? ... 우연히 그런 버그를 발견하고 재미있어졌습니다. 1...154815491550155115521553155415551556155715581559156015611562...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
오류가 발생하지 않습니다.
런타임 오류 뿐만 아니라 알고리즘 오류도 있습니다!
원인을 찾으려면 코드가 필요합니다.
이러한 좌표를 사용하면 버튼이 거꾸로 나옵니다. 버튼 길이는 점 X에서 +/-로 계산됩니다.
왜 그런 이상한 버튼이 있습니까?
손익에 도달하면 ExpertRemove () 옵션을 제공할 수 있습니다.
고맙습니다
나는 그것을 읽었지만 논리를 잘 이해하지 못했다
지정된 이벤트에 도달하면 전문가가 비활성화되고 차트에서 완전히 제거됩니다.
런타임 오류 뿐만 아니라 알고리즘 오류도 있습니다!
원인을 찾으려면 코드가 필요합니다.
왜 그런 이상한 버튼이 있습니까?
나는 우연히 그런 버그를 발견했다고 썼습니다.
여기에 코드가 있습니다 ... 관심이 있다면
고맙습니다
나는 그것을 읽었지만 논리를 잘 이해하지 못했다
지정된 이벤트에 도달하면 전문가가 비활성화되고 차트에서 완전히 제거됩니다.
나는 우연히 그런 버그를 발견했다고 썼습니다.
여기에 코드가 있습니다 ... 관심이 있다면
따라서 여기에서는 어떤 버튼도 응답하지 않습니다. OnChartEvent 핸들러가 비어 있습니다...
따라서 여기에서는 어떤 버튼도 응답하지 않습니다. OnChartEvent 핸들러가 비어 있습니다...
그리고 당신은 시도) 하나의 버튼이 눌려지고 두 번째 버튼이 눌려지지 않습니다
그리고 일반적으로 누가 이것을 수행하고 부정적인 차원을 설정하며 왜 묻기를 주저 합니까? ...
예
이해했다. 그것은 나에게 어울리지 않을 것이다.
올빼미를 끈 후 로트가 시작 위치로 재설정되도록 전역 변수 생성으로 돌아갈 수 있습니다.
비록 그렇다 하더라도
당신이 만듭니다 전역 변수
그런 다음 나중에 개설/마감된 주문이 없으면 "시작"
이해했다. 그것은 나에게 어울리지 않을 것이다.
올빼미를 끈 후 로트가 시작 위치로 재설정되도록 전역 변수 생성으로 돌아갈 수 있습니다.
비록 그렇다 하더라도
당신이 만듭니다 전역 변수
그런 다음 나중에 개설/마감된 주문이 없으면 "시작"
버튼을 만들어줄게
그리고 일반적으로 누가 이것을 수행하고 부정적인 차원을 설정하며 왜 묻기를 주저 합니까? ...