MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1064

 
Seric29 :

일반적으로 Artyom은 아무 대답도 하지 않고 위의 사람은 함수가 알려져야 하고 따라서 전역적으로 선언되어야 하는 구조와 함께 작동한다고 대답했기 때문에 우리는 그 구조가 전역적으로 선언되어야 한다고 결론을 내립니다.

본질적으로 구조체 함수는 동일한 정적 구조체만 받아들일 수 있습니다. 제한된 범위를 갖도록 구조체를 로컬에서 선언하고 함수에 전달하는 것은 불가능하다는 의미입니다.

내 말을 이해하지 못할 때 나를 언급하지 마십시오. Artem이 말한 것을 주의 깊게 읽으십시오.

있는 변수 선언을 혼동하고 있습니다.

공원에서 그는 코드에서 몇 가지 부정확성을 만들었습니다. 이것은 그가 잘못 말했음을 의미하지 않습니다. 구조 - 사용자 정의 데이터 유형이며 글로벌 가시성 범위에서 정의 됩니다. 사용자 정의 유형 변수는 어디에서나 선언 할 수 있습니다. 그리고 이러한 변수는 원하는 만큼 선언할 수 있습니다.
 
Artyom Trishkin :
통계는 변경되지 않습니다.

그건 그렇고, 오전 1시나 23시가 기한이 있는 것만은 안 보여. 이것이 나에게 보여주는 것입니다.


기술과제

진전

TOR의 동의
데모
업무 양도 및 지급


이 모든 확인란이 눌러져 있습니다. 일주일이면 자동결제가 나온다고 합니다. 그러나 데모 파일만 받았고 작년에만 작업할 수 있는 날짜 제한이 포함되어 있습니다. 길을 잃은 것 같은데 이제 결제를 위해 파일이 자동으로 변경되는 데 일주일 정도 걸리나요?


그것은 이미


고객 Zlaya_budka 가 " 데모 " 단계를 확인했습니다.
2020.01.29 21:47

업무 양도 및 지급

고객은 데모를 수락했으며 이제 개발자는 최종 결과를 제출해야 합니다.

작업을 수락한 후 고객의 계정에서 지불이 자동으로 수신됩니다(수수료 제외). 일주일 이내에 고객이 제출된 작업에 대해 응답하지 않으면 주문이 자동으로 완료된 것으로 간주됩니다.

2020.01.29 21:47

개발자 =========" 제출 및 지불 " 단계를 확인했습니다


그게 무슨 의미 일까? 상각과 워드 밸런스가 반대로 된 페이팔에서 이미 사랑스러웠고, 3주 동안 지불과 함께 서비스 데스크를 기다리고 있었다. 이제 이 기쁨은 무엇을 의미합니까?

Zlaya_budka
Zlaya_budka
  • www.mql5.com
Профиль трейдера
 
Alexey Viktorov :

내 말을 이해하지 못할 때 나를 언급하지 마십시오. Artem이 말한 것을 주의 깊게 읽으십시오.

공원에서 그는 코드에서 몇 가지 부정확성을 만들었습니다. 이것은 그가 잘못 말했다는 것을 의미하지 않습니다. 구조 - 사용자 정의 데이터 유형이며 글로벌 가시성 범위에서 정의 됩니다. 사용자 정의 유형 변수는 어디에서나 선언 할 수 있습니다. 그리고 이러한 변수는 원하는 만큼 선언할 수 있습니다.

글쎄, 나는 구체적으로 내 경우에 대해, 구체적으로 구조에 대해 이야기하고 있고 이것에 대해서만 이것이 사용자 정의 변수 유형이라는 것이 분명하지만 특히 로컬 수준에 관심이 있습니다. 아마 수업을 통해서 가능합니다. 원칙적으로는 클래스를 통해 누구에게나 클로즈드 타입을 선언할 수 있고 그게 다지만 저는 이 정도가 이해가 되지 않습니다.

 
동료 - Init 기능이 테스터를 통과할 때마다 시작됨을 알려주십시오.
 
Seric29 :

글쎄요, 저는 제 경우와 구조에 대해 구체적으로 이야기하고 있으며 이것에 대해서만 이것은 사용자 정의 변수 유형이라는 것이 분명하지만 특히 로컬 수준에 관심이 있습니다. 아마도 수업을 통해서 가능합니다. 원칙적으로 클래스를 통해 누구에게나 클로즈드 타입을 선언할 수 있고 그게 전부인데, 저는 이 정도가 잘 이해가 되지 않습니다.

전역 수준에서 구조를 정의합니다. 전체 프로그램은 이에 대해 알아야 합니다. 이것은 사용자가 만든 새로운 유형의 변수입니다.

그리고 이 구조의 유형을 사용하여 모든 로컬 수준에서 다양한 변수를 설정할 수 있습니다. 해당 범위에서 생성된 변수는 그(로컬 수준)에서만 볼 수 있습니다.

 

안녕하세요!

첨부 도움말

 extern    ENUM_BASE_CORNER   InpCorner      =   CORNER_LEFT_UPPER ;   // Угол привязки индикатора

이 개체에

 //--- Clicking on the fifth rectangle
   if (id== CHARTEVENT_OBJECT_CLICK ) 
     {
       string clickedChartObject=sparam;
       if (clickedChartObject==obj_name[ 5 ]) 
        {
         string name= "name_" + IntegerToString ( MathRand ()+ 100 , 0 , ' ' );

         y= 100 ;x= 5 ;
         ChartXYToTimePrice ( 0 ,x,y,window,dt_1,price_1);
         ChartXYToTimePrice ( 0 ,x+ 250 ,y,window,dt_2,price_2);
         ChartXYToTimePrice ( 0 ,x,y+ 20 ,window,dt_3,price_3);

         ChannelCreate( 0 ,name, 0 ,dt_1,price_1,dt_2,price_2,dt_3,price_3, 1 , clrRed , STYLE_SOLID , 1 ,InpBackRect, true , false , false ,InpHidden_OBJ, 0 );
        }
     }

부울

 //+------------------------------------------------------------------+
//| Create an equidistant channel by the given coordinates           |
//+------------------------------------------------------------------+
bool ChannelCreate( const long              chart_ID= 0 ,                   // chart's ID
                   const string            name= "Channel" ,               // channel name
                   const int               sub_window= 0 ,                 // subwindow index  
                   datetime                time1= 0 ,                       // first point time
                   double                  price1= 0 ,                     // first point price
                   datetime                time2= 0 ,                       // second point time
                   double                  price2= 0 ,                     // second point price
                   datetime                time3= 0 ,                       // third point time
                   double                  price3= 0 ,                     // third point price
                   const ENUM_BASE_CORNER corner = CORNER_RIGHT_UPPER ,   // the angle of the graph for the binding
                   const color             clr= clrRed ,                   // channel color
                   const ENUM_LINE_STYLE   style= STYLE_SOLID ,             // style of channel lines
                   const int               width= 1 ,                       // width of channel lines
                   const bool              back= false ,                   // in the background
                   const bool              selection= true ,               // highlight to move
                   const bool              ray_left = false ,             // extend the line to the left
                   const bool              ray_right= false ,               // channel's continuation to the right
                   const bool              hidden= true ,                   // hidden in the object list
                   const long              z_order= 0 )                     // priority for mouse click
  {
//--- reset the error value
   ResetLastError ();
//--- create a channel by the given coordinates
   if (! ObjectCreate (chart_ID,name, OBJ_CHANNEL ,sub_window,time1,price1,time2,price2,time3,price3))
     {
       Print ( __FUNCTION__ ,
             ": failed to create an equidistant channel! Error code = " , GetLastError ());
       return ( false );
     }
   ObjectSetInteger (chart_ID,name, OBJPROP_COLOR ,clr);
   ObjectSetInteger (chart_ID,name, OBJPROP_STYLE ,style);
   ObjectSetInteger (chart_ID,name, OBJPROP_WIDTH ,width);
   ObjectSetInteger (chart_ID,name, OBJPROP_BACK ,back);
   ObjectSetInteger (chart_ID,name, OBJPROP_SELECTABLE ,selection);
   ObjectSetInteger (chart_ID,name, OBJPROP_SELECTED ,selection);
   ObjectSetInteger (chart_ID,name, OBJPROP_RAY_RIGHT ,ray_right);
   ObjectSetInteger (chart_ID,name, OBJPROP_HIDDEN ,hidden);
   ObjectSetInteger (chart_ID,name, OBJPROP_ZORDER ,z_order);
//--- 
   return ( true );
  }
//+------------------------------------------------------------------+
//| Delete the channel                                               |
//+------------------------------------------------------------------+
bool ChannelDelete( const long    chart_ID= 0 ,     // chart's ID
                   const string name= "Channel" ) // channel name
  {
//--- reset the error value
   ResetLastError ();
//--- delete the channel
   if (! ObjectDelete (chart_ID,name))
     {
       Print ( __FUNCTION__ ,
             ": failed to delete the channel! Error code = " , GetLastError ());
       return ( false );
     }
//---
   return ( true );
  }
//---
 

ChartXYToTimePrice 가 좌표를 계산하고 기본적으로 왼쪽 상단 모서리 에서 계산한다는 것을 이해합니다.

ChartXYToTimePrice는 내가 지정한 각도에서 계산하도록 어떻게 설득합니까?

 
MakarFX :

ChartXYToTimePrice 가 좌표를 계산하고 기본적으로 왼쪽 상단 모서리 에서 계산한다는 것을 이해합니다.

ChartXYToTimePrice는 내가 지정한 각도에서 계산하도록 어떻게 설득합니까?

결정을 내리는 사람만 설득할 수 있습니다. 그리고 "그것"이 다른 사람들의 설정을 충족시키기만 하면, 무언가를 확신시키려는 모든 종류의 대화는 시간 낭비일 뿐입니다.)))

작업을 잘 이해하지 못했지만 앵커 각도뿐만 아니라 ENUM_BASE_CORNER 뿐만 아니라 앵커 포인트당 ENUM_ANCHOR_POINT

 

Alexey Viktorov :

나는 문제를 잘 이해하지 못했다

호출 시 표시기는 왼쪽 상단 모서리 에 개체를 만듭니다(OBJ_CHANNEL).

다른 모서리에 개체를 만드는 조건을 설정하는 방법.

 
MakarFX :

호출 시 표시기는 왼쪽 상단 모서리 에 개체를 만듭니다(OBJ_CHANNEL).

다른 모서리에 개체를 만들기 위한 조건을 설정하는 방법.

설명서를 주의 깊게 읽으십시오. OBJ_CHANNEL은 코너와 관련이 없습니다.

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Способы привязки объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Способы привязки объектов
  • www.mql5.com
Графические объекты Text, Label, Bitmap и Bitmap Label (OBJ_TEXT, OBJ_LABEL, OBJ_BITMAP и OBJ_BITMAP_LABEL) могут иметь один из 9 различных способов привязки своих координат, задаваемых свойством OBJPROP_ANCHOR. – объекты имеет ширину и высоту. Если указано "только для чтения", то это означает, что значения ширины и высоты...