Geliştiricilere yardım edin. - sayfa 3

 
Sergey Chalyshev :

Geç alıntılar sorununu çözmeye yardımcı olun. Kimin ve neden ertelediğini anlamıyorum, işte iyi bir örnek .


Göstergeler, tekliflerin gelişini yavaşlatabilir (hesaplanana kadar - teklifler gelmez).

 
Vladimir Pastushak :


Ayrıca, bu bir düğme ise, özellikler tam olarak düğmeler olacaktır, eğer bir kare ise, özellikler tam olarak kare olacaktır.

Sorununuzu çözmeye yönelik bir yaklaşım örneği olabilecek grafik motorunun bir parçası:

 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 ); 
           }             
         }


girişe dikkat

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

Gerekli pencere, gerekli nesne ve gerekli özellik diziye değiştirilir. Ardından, yeni değer fonksiyon tarafından hemen ayarlanır.

 ObjectSetInteger ( 0 ,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME], OBJPROP_BGCOLOR , Свойство );
"Motor" derken bunu kastediyorum.
 

Basit bir sorum var.

Bir kâse nasıl yapılır, neye ihtiyaç vardır: kod parçaları ve benzerleri, hangi stratejiyi benimsemeli?

 
Renat Akhtyamov :

Basit bir sorum var.

Kâse nasıl yapılır, neye ihtiyacınız var: kod parçaları vb.

Benim düşüncem - kasenin yapılmasına gerek yok. Piyasada tüccar olarak çalışırken bu kelimeyi unutmanız gerekiyor. ))
 
Реter Konow :
Benim düşüncem - kasenin yapılmasına gerek yok. Piyasada tüccar olarak çalışırken bu kelimeyi unutmanız gerekiyor. ))
Ve eğer etraftaki herkes sızdırıyorsa, ondan karlı bir strateji öğrenecek ve bir danışman geliştirecek kimse yoksa nasıl çalışmalı?
 
Renat Akhtyamov :
Ve etraftaki her şey boşalırsa nasıl çalışılır?
Yani, herkes gibi değil çalışmanız gerekiyor.))
 
Реter Konow :
Yani, herkes gibi değil çalışmanız gerekiyor.))
Burada kimseye sormayacaksın - herkes çalışıyor. Herkes gibi değil - chtoli çalışmıyor mu?
 
Renat Akhtyamov :
Burada kimseye sormayacaksın - herkes çalışıyor. Herkes gibi değil - chtoli çalışmıyor mu?
Şahsen ben orta ve uzun vadeli hisse senedi stratejilerini seviyorum. Forex'i sevmiyorum. Strateji, pazarın ve katılımcılarının bilgisine dayanmalı ve verileri doğru bir şekilde yorumlamalıdır. Bu olmadan, herhangi bir strateji bir "tahmin oyunudur".
 
Реter Konow :
Şahsen ben orta ve uzun vadeli hisse senedi stratejilerini seviyorum. Forex'i sevmiyorum. Strateji, pazarın ve katılımcılarının bilgisine dayanmalı ve verileri doğru bir şekilde yorumlamalıdır. Bu olmadan, herhangi bir strateji bir "tahmin oyunudur".
Evet haklısın. Teşekkür ederim!
 
Реter Konow :
Yani, herkes gibi değil çalışmanız gerekiyor.))
Ben bu şekilde çalışıyorum, CButton isimli ve isimsiz farklı butonlar oluşturmanıza ve sadece butonların özelliklerini değiştirmenize olanak sağlıyor.
 //|==================================================================|
//|                          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 ;
     }
  };
//|==================================================================|
//|                                                                  |
//|==================================================================|