개발자를 도와주세요. - 페이지 3

 
Sergey Chalyshev :

늦은 견적 문제를 해결하는 데 도움이 됩니다. 나는 누가 지연하고 있는지 이해하지 못합니다. 여기 좋은 예가 있습니다.


지표는 따옴표의 도착을 늦출 수 있습니다(계산될 때까지 - 따옴표는 오지 않음).

 
Vladimir Pastushak :


또한 버튼이면 속성이 정확히 버튼이 되고 사각형이면 속성이 정확히 사각형이 됩니다.

다음은 문제를 해결하기 위한 접근 방식의 예가 될 수 있는 그래픽 엔진의 일부입니다.

 if (!Объект_в_нажатом_состоянии && Идентификатор_события == _STANDART_EVENT_OBJECT_POINTED)
   {
     if (G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_MAIN_CATEGORY] == _OBJECT_MAIN_CATEGORY_STANDART)
     {
       if (G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_WINDOW_APPEARENCE_BUTTON)
        {
         ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BGCOLOR , 255 ); 
         ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_COLOR , clrWhite ); 
        }
   if (G_CORE[Номер_окна_под_событием][_W_Properties][_WINDOW_CURRENT_STATUS] == _WINDOW_CURRENT_STATUS_AWAKE)
     {    
       if (G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_SCROLL_BAR_BUTTON)
        {
         ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BGCOLOR , clrSilver ); 
         ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_COLOR , clrSilver );  
        }
       if (
              G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_MENU_ITEM
         //&& !(G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_SUBCATEGORY] == _OBJECT_SUBCATEGORY_INTERFACE_MAIN_MENU_ITEM && Открыто_окно_меню)
        )
        {
         ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BGCOLOR , clrLightSkyBlue );
         ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BORDER_COLOR , clrBlue ); 
         ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_COLOR , clrWhite ); 
         //----------------
         if (G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_SUBCATEGORY] == _OBJECT_SUBCATEGORY_INTERFACE_MAIN_MENU_ITEM && Открыто_окно_меню) 
           {
            
             ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BORDER_COLOR , 0 );
           }
         //----------------
        }
       if (G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_TOOL_BOX_ITEM)
        {
         ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BGCOLOR , clrSilver ); 
         ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_COLOR , clrSilver );  
        }
       if (G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_TEXT_EDIT_BOX)
        {
         if (G_CORE[Номер_окна_под_событием][_W_Properties][_WINDOW_CATEGORY] == _WINDOW_CATEGORY_MENU)
           {
             ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BGCOLOR , C'226,226,226' );
             ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BORDER_COLOR , clrLightSkyBlue ); 
             ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_COLOR , 0 );
             ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_FONTSIZE ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_FONTSIZE] + 1 );  
           }
         else 
           {  
             ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BGCOLOR , C'226,226,226' ); //clrLightSkyBlue
             ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BORDER_COLOR , clrLightSkyBlue ); //clrBlue 
             ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_COLOR , 0 );   //clrWhite
           // ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_FONTSIZE,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_FONTSIZE] + 1); 
           }   
        }
       if (G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_SET_VALUE_BUTTON)
        {
         ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BGCOLOR , clrLightSkyBlue ); 
         ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_COLOR , clrBlue ); 
         ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_COLOR , clrWhite );
        }
        
       if (G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_WINDOW_HANDLE)
        {
         if (G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_SUBCATEGORY] == _OBJECT_SUBCATEGORY_VERTICAL_SCROLL_BAR_HANDLE)
           {
             ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BGCOLOR , 8421504 ); 
             ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_COLOR , 8421504 );
           }
         if (
               G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_SUBCATEGORY] == _OBJECT_SUBCATEGORY_WINDOW_RIGHT_HANDLE
            || G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_SUBCATEGORY] == _OBJECT_SUBCATEGORY_WINDOW_BOTTOM_HANDLE
            || G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_SUBCATEGORY] == _OBJECT_SUBCATEGORY_WINDOW_HW_HANDLE
           )
           {
             ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BGCOLOR , clrDarkGray ); 
           }             
         }


엔트리에 주의

G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME]

필수 창, 필수 개체 및 필수 속성이 배열에 대체됩니다. 다음으로 새 값은 함수에 의해 즉시 설정됩니다.

 ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BGCOLOR , Свойство );
이것이 내가 말하는 "엔진"입니다.
 

간단한 질문이 있습니다.

성배 를 만드는 방법, 필요한 것: 코드 조각 등, 어떤 전략을 채택할 것인가?

 
Renat Akhtyamov :

간단한 질문이 있습니다.

성배를 만드는 방법, 필요한 것: 코드 조각 등?

내 의견 - 성배 는 할 필요가 없습니다. 시장에서 트레이더로 일하면서 이 단어를 잊어야 합니다. ))
 
Реter Konow :
내 의견 - 성배는 할 필요가 없습니다. 시장에서 트레이더로 일하면서 이 단어를 잊어야 합니다. ))
그리고 주변 사람들이 다 누설하고 있는데, 수익성 있는 전략을 배우고 어드바이저를 개발할 사람이 아무도 없다면 어떻게 해야 할까요?
 
Renat Akhtyamov :
주변의 모든 것이 배수되면 어떻게 작동합니까?
따라서 다른 사람들처럼 일하지 않아야합니다.))
 
Реter Konow :
따라서 다른 사람들처럼 일하지 않아야합니다.))
여기에서는 누구에게도 묻지 않을 것입니다. 모두가 일합니다. 다른 사람들처럼 - chtoli를 작동하지 않습니까?
 
Renat Akhtyamov :
여기에서는 누구에게도 묻지 않을 것입니다. 모두가 일합니다. 다른 사람들처럼 - chtoli를 작동하지 않습니까?
개인적으로 저는 중장기 주식 전략을 좋아합니다. 나는 외환을 좋아하지 않습니다. 전략은 시장과 참가자에 대한 지식을 기반으로 해야 하며 데이터를 올바르게 해석해야 합니다. 이것이 없으면 모든 전략은 "추측 게임"입니다.
 
Реter Konow :
개인적으로 저는 중장기 주식 전략을 좋아합니다. 나는 외환을 좋아하지 않습니다. 전략은 시장과 참가자에 대한 지식을 기반으로 해야 하며 데이터를 올바르게 해석해야 합니다. 이것이 없으면 모든 전략은 "추측 게임"입니다.
그래, 너가 맞아. 고맙습니다!
 
Реter Konow :
따라서 다른 사람들처럼 일하지 않아야합니다.))
이것이 내가 일하는 방식입니다. CButton 을 사용하면 이름이 있거나 없는 다른 버튼을 만들고 버튼의 속성만 변경할 수 있습니다.
 //|==================================================================|
//|                          CButton.mqh                             |
//|               Copyright 2016, Trading-go Project.                |
//| Author: Voldemar, Version: 13.04.2016, Site http://trading-go.ru |
//|------------------------------------------------------------------|
//| Класс для работы с простой кнопкой                               |
//|==================================================================|
#property strict
#include "CObject.mqh" 
//|==================================================================|
//|  CREATE("Opens",7000,7000,60,20,CORNER_LEFT_UPPER,"","Sans Serif",7,clrWhite,C'71,71,71',C'200,200,200',false,false,false,true,0,"\n");
//|==================================================================|
class CButton   
  {
protected :
   CObject           obj;
public :

   bool    SetXDISTANCE( int aX)                               { return       obj.SetXDistance(aX);}                   //--- установим координаты кнопки
   bool    SetXDISTANCE( string aName, int aX)                  { return       obj.SetXDistance(aName,aX);}             //--- установим координаты кнопки
   int     GetXDISTANCE( void )                                 { return ( int )obj.GetXDistance();}                 //--- установим координаты кнопки
   int     GetXDISTANCE( string aName)                         { return ( int )obj.GetXDistance(aName);}           //--- установим координаты кнопки

   void    SetSUB_WINDOW( int aWindow)                         { obj.SetSubWindow(aWindow);}                     //--- установим координаты кнопки  
   int     GetSUB_WINDOW( void )                                { return obj.GetSubWindow();}                     //--- установим координаты кнопки 
   //---
   bool    SetNEW_NAME( string aName, string aNewName) { return obj.SetNewName(aName,aNewName);}         //---
   void    SetNAME( string aName)                              { obj.SetName(aName);}                             //---
   string GetNAME( void )                                      { return obj.GetName();}                           //---
   //---   
   void    SetHIDE( string aName)                              { obj.SetHide(aName);}                             //---
   void    SetHIDE( void )                                      { obj.SetHide();}                                 //---
   //---
   bool    SetKILL( void )                                      { return obj.SetDellName();}                             //---
   bool    SetKILL( string aName)                              { return obj.SetDellName(aName);}                       //---
   //---
   bool    GetOBJECT_FIND( void )                               { return obj.GetObject_Find();}                           //---
   bool    GetOBJECT_FIND( string aName)                       { return obj.GetObject_Find(aName);}                     //---

   // ================
   bool SetXYToTimePrice( string aName, int aX, int aY, int &aSubWindow, datetime &aTime, double &aPrice)
     {
       return   obj.SetXYToTimePrice(aName,aX,aY,aSubWindow,aTime,aPrice);
     }
   bool SetXYToTimePrice( int aX, int aY, int &aSubWindow, datetime &aTime, double &aPrice)
     {
       return   obj.SetXYToTimePrice(aX,aY,aSubWindow,aTime,aPrice);
     }
   // ================
   bool    SetTimePriceToXY( string aName, datetime aTime, double aPrice, int aXSIZE= 0 , int aYSIZE= 0 )
     {
       return obj.SetTimePriceToXY(aName,aTime,aPrice,aXSIZE,aYSIZE);
     }
   bool    SetTimePriceToXY( datetime aTime, double aPrice, int aXSIZE= 0 , int aYSIZE= 0 )
     {
       return obj.SetTimePriceToXY(aTime,aPrice,aXSIZE,aYSIZE);
     }
     void    Debug( bool aDebug= false ) {             obj.Debug(aDebug);}                 //--- Режим дебага
   // ================
   //CREATE("Opens",7000,7000,60,20,CORNER_LEFT_UPPER,"","Sans Serif",7,clrWhite,C'71,71,71',C'200,200,200',false,false,false,true,0,"\n");
   // ================
   bool               CREATE(
                             const string            aName       = "Button" ,           // имя кнопки
                             const int               aX          = 20 ,                 // координата по оси X
                             const int               aY          = 20 ,                 // координата по оси Y
                             const int               aWidth      = 50 ,                 // ширина кнопки
                             const int               aHeight     = 18 ,                 // высота кнопки
                             const ENUM_BASE_CORNER aCorner     = CORNER_LEFT_UPPER , // угол графика для привязки
                             const string            aText       = "Button" ,           // текст
                             const string            aFont       = "Arial" ,           // шрифт
                             const int               aFont_size  = 10 ,                 // размер шрифта
                             const color             aClr        = clrWhite ,           // цвет текста
                             const color             aBack_clr   = C'71,71,71' ,       // цвет фона
                             const color             aBorder_clr = C'200,200,200' ,     // цвет границы
                             const bool              aState      = false ,             // нажата/отжата
                             const bool              aBack       = false ,             // на заднем плане
                             const bool              aSelection  = false ,             // выделить для перемещений
                             const bool              aHidden     = true ,               // скрыт в списке объектов
                             const int               aZ_order    = 0 ,                 // приоритет на нажатие мышью
                             const string            aTooltip    = "\n"                // комментарий
                            )
     {
       if (obj.CreateObject(aName, OBJ_BUTTON )) //--- создадим кнопку
        {
         SetXDISTANCE(aX);             //--- установим координаты кнопки
         SetYDISTANCE(aY);             //--- установим координаты кнопки
         SetXSIZE(aWidth);             //--- установим размер кнопки
         SetYSIZE(aHeight);             //--- установим размер кнопки
         SetCORNER(aCorner);           //--- установим угол графика, относительно которого будут определяться координаты точки
         SetTEXT(aText);               //--- установим текст
         SetFONT(aFont);               //--- установим шрифт текста
         SetFONTSIZE(aFont_size);       //--- установим размер шрифта
         SetCOLOR(aClr);               //--- установим цвет текста
         SetBGCOLOR(aBack_clr);         //--- установим цвет фона
         SetBORDER_COLOR(aBorder_clr); //--- установим цвет границы
         SetBACK(aBack);               //--- отобразим на переднем (false) или заднем (true) плане
         SetSTATE(aState);             //--- переведем кнопку в заданное состояние
         SetSELECTABLE(aSelection);     //--- включим (true) или отключим (false) режим перемещения кнопки мышью
         SetSELECTED(aSelection);       //--- включим (true) или отключим (false) режим перемещения кнопки мышью
         SetHIDDEN(aHidden);           //--- скроем (true) или отобразим (false) имя графического объекта в списке объектов
         SetZORDER(aZ_order);           //--- установим приоритет на получение события нажатия мыши на графике
         SetTOOLTIP(aTooltip);         //--- комментарий
        }
       else
         return false ;
       return true ;
     }
  };
//|==================================================================|
//|                                                                  |
//|==================================================================|