[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 403

 
DmitriyN :
문제가 무엇입니까? 표시기의 닫기를 차이(High-Low) 또는 나열된 것 중 다른 것으로 교체합니다. 사실, 어떤 경우에는 별도의 창에 표시기를 그려야 할 수도 있습니다.
어떤 지표를 교체하는 것이 가장 좋습니까? 그들은 여전히 별도로 누락 되었습니까?
[Deleted]  

다음 스크립트를 작성했습니다.

 //+------------------------------------------------------------------------------------------+
//|                                                                         DeleteObject.mq4 |
//+------------------------------------------------------------------------------------------+
//+------------------------------------------------------------------------------------------+
//|                             script program start function                                |
//+------------------------------------------------------------------------------------------+
//---------------------------------------------------------------------------------------- 1 -
#include <Копия WinUser32.mqh>                                     //подключаемый файл, к-й неожходим для работы функции MessageBox: в этом файле в отличии от файла <WinUser32.mqh> в разделе MessageBox() Flags добавлена строка: #define MB_CANCELTRYCONTINUE      0x00000006  
//---------------------------------------------------------------------------------------- 2 -
int start()
  {
   double Timestart= GetTickCount ();                               //переменная, с помощью которой вычисляется время (в милисекундах) начала выполнения эксперта 
   if ( ObjectsTotal ()== 0 )                                           //если объектов на графике нет
      {                                                           //начало if
       Alert ( "На графике нет графических объектов" );               //то делаем сообщение на экран...
       return ;                                                     //...и выходим
      }                                                           //конец if   
   Alert ( "На графике зафиксировано " , ObjectsTotal (), " Объектов" );
   Sleep ( 3000 );
   int ret= MessageBox ( "Удалить ВСЕ графические объекты?" , "Удаление графических объектов" , MB_YESNO | MB_ICONQUESTION ); //функция MessageBox: вопрос на экран
   if (ret== 6 )                                                     //если ответ ДА,...
      {
       ObjectsDeleteAll ();                                         //..., то удаляем ВСЕ объекты из ВСЕХ окон текущего графика
       if (! ObjectsDeleteAll ()) Alert ( "При удалениии объектов возникла ошибка " , GetLastError ()); //если удаление не удалось, то сообщение на экран
       Alert ( "ВСЕ графические объекты успешно удалены" );           //сообщение на экран в случае успешного удаления сех объектов
       return ;                                                     //и выход из start
      }                                                           //конец if   
//--------------------если ответ НЕТ? то перебираем объекты по списку---------------------- 3 -
   int obj_total= ObjectsTotal ();                                   //получаем общее количество графических объектов
   string obj_name;                                               //объявляем переменную  "имя объекта"
   for ( int i=obj_total- 1 ;i>= 0 ;i--)                                 //цикл по удалению объекта
     {                                                             //начало for
      obj_name= ObjectName (i);                                     //имя текущего удаляемого объекта
       Alert ( "Удаляется объект: " ,obj_name);                       //сообщение на экран     
      ret= MessageBox ( "Удалить графический объект?" , "Удаление графического объекта" , MB_YESNO | MB_ICONQUESTION ); //функция MessageBox: вопрос на экран
       if (ret== 7 ) continue ;                                         //если ответ НЕТ, то на следующую итерацию     
       ObjectDelete (obj_name);                                     //если ответ ДА, то удаляем текущий объект с именем obj_name     
       int error= GetLastError ();                                   //вычисляем код возможной ошибки, к-я могла появиться при неудачном удалении Графического объекта номер i
       if (error!= 0 ) Alert ( "При удалении объекта " ,obj_name, " возникла ошибка " ,error); continue ; //если функция ObjectDelete(obj_name) вернуа значение ЛОЖЬ (т.е. не удалила текущий объект), то сообщение об ошибке при удалении
       Alert ( "Объект " ,obj_name, " успешно удален" );                 //сообщение об успешном удалении
     }                                                             //конец for
   Comment ( "\nСкрипт выполнялся всего " , GetTickCount ()-Timestart, " миллисекунд, из них: " , MathFloor (( GetTickCount ()-Timestart)/ 1000 ), " секунд " ,(( GetTickCount ()-Timestart)/ 1000 - MathFloor (( GetTickCount ()-Timestart)/ 1000 ))* 1000 , " миллисекунд" ); //печать сообщения вна экран
//---------------------------------------------------------------------------------------- 3 -
   return ( 0 );
  }
//---------------------------------------------------------------------------------------- 4 -

2 단어로. 스크립트는 클라이언트 터미널 창에서 그래픽 개체를 제거 하도록 설계되었습니다. 이 경우 삭제는 모든 개체를 삭제하거나 개체를 열거하고 사용자가 선택한 개체만 삭제하는 두 가지 옵션 중 하나로 수행됩니다.

질문 : 왜 while 루프 에서 다음 객체를 삭제한 후 마지막 함수 Alert ("Object ", obj _ name ," was successfully deleted")가 화면에 해당 메시지를 표시하지 않고 자체적으로 매니페스트하지 않습니다( while 루프 의 해당 객체는 삭제되지만)

참고 : 스크립트의 헤드 부분에 포함 파일이 있는 줄이 있습니다 . # include <Copy of WinUser 32.mqh > 이는 클라이언트 터미널과 함께 제공된 원래 포함 파일과 한 줄씩 다릅니다 . # include < WinUser 32.mqh > , 그래서 나는 또한 그것을 아래에 준다

피. 에스. 포럼을 어지럽히지 않기 위해 답변에 미리 감사드립니다.

파일:
[삭제]  
yosuf :
어떤 지표를 교체하는 것이 가장 좋습니까? 그들은 여전히 별도로 누락 되었습니까?

예를 들어 MA에는 몇 가지 옵션이 있지만 귀하가 지정한 옵션은 없습니다.

따라서 거의 모든 지표를 사용하여 보편적으로 만들 수 있습니다.

 
7777877 :

질문 : 왜 while 루프 에서 다음 객체를 삭제한 후 마지막 함수 Alert ("Object ", obj _ name ," was successfully deleted")가 화면에 해당 메시지를 표시하지 않고 자체적으로 매니페스트하지 않습니다( while 루프 의 해당 객체는 삭제되지만)


 int error= GetLastError ();                                   //вычисляем код возможной ошибки, к-я могла появиться при неудачном удалении Графического объекта номер i
       if (error!= 0 ) Alert ( "При удалении объекта " ,obj_name, " возникла ошибка " ,error); continue ; //если функция ObjectDelete(obj_name) вернуа значение ЛОЖЬ (т.е. не удалила текущий объект), то сообщение об ошибке при удалении
       Alert ( "Объект " ,obj_name, " успешно удален" );                 //сообщение об успешном удалении

if(error != 0) 은 Alert 에만 적용되기 때문에, 그 이후에는 계속이 항상 실행되고 다음 Alert 에 도달하지 않습니다.
 
안녕하세요! 사이클 카운터(예: FOR)가 당일 주문을 찾도록 하는 방법을 알려주세요!
[Deleted]  

내가 무엇을 말할 수 있습니까? 나는 아직 아무것도 이해하지 못합니다.이 모든 것이 돈을 버는 것뿐이라는 것을 이해합니다. 조언가가 배수되면 일주일에 한 번 플랫폼에 들어가서 3000의 보증금으로 1000을 벌 수 있습니다

 
lowech :
안녕하세요! 사이클 카운터(예: FOR)가 당일 주문을 찾도록 하는 방법을 알려주세요!

ExistInHistoryToDay().
 
kamolot : 왜 고문이 배수되면 일주일에 한 번 플랫폼에 입장하고 3000의 보증금으로 1000을 벌 수 있습니다
이 게으른 프로그래머가 일주일에 한 번이라도 함정에 빠져 스스로 목을 졸라매는 것뿐입니다. kokodit에 완전히 부풀어 오릅니다.
 
GaryKa :
이 게으른 프로그래머가 일주일에 한 번이라도 함정에 빠져 스스로 목을 졸라매는 것뿐입니다. kokodit에 완전히 부풀어 오릅니다.

+100500 8-)
[삭제]  
GaryKa :
이 게으른 프로그래머들이 일주일에 한 번이라도 함정에 빠져 스스로 목을 졸라매는 것뿐입니다. kokodit에 완전히 부풀어 오릅니다.

공은 어때?