MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1824

 
Tretyakov Rostyslav # :

a1)

a2)

b)

peki ya geri kalan eşyalar?

 
Порт-моне тв # :

peki ya geri kalan eşyalar?

Sorunları ortaya çıktıkça ele alacağız...

İlk önce bir tablo yapmanız ve neyin ve nerede olması gerektiğini belirlemeniz ve ardından işlevleri yazmanız gerekir.

 
Mihail Matkovskij # :

Renk işlevi renk döndürmeli ve iki katına çıkmamalıdır.

Site motoru tarafından eklenen bağlantı da çalışmak için gereksiz olmayacaktır.

teşekkür etmek. şimdi okuyorum

 
Tretyakov Rostyslav # :

Sorunları ortaya çıktıkça ele alacağız...

İlk önce bir tablo yapmanız ve neyin ve nerede olması gerektiğini belirlemeniz ve ardından işlevleri yazmanız gerekir.

Prensip olarak yapabilirim, benim için en zor şey fiyatı bir dosyaya kaydetmek ve zamanı saymak.

 
Порт-моне тв # :

Prensip olarak yapabilirim, benim için en zor şey fiyatı bir dosyaya kaydetmek ve zamanı saymak.

Neden bir dosyada, yapabilirsiniz


Zor da değil, saymaya başladığın anda hatırlıyorsun

 int iStart  = 0 ;
int iSeconds= 20 ;
//---
   if (наступило событие)
      iStart= TimeCurrent (); // запомнили время в секундах
//---
   if ((iStart+iSeconds)<= TimeCurrent ()) // если время пришло
     {
      выполняем действие
     }


 
Tretyakov Rostyslav # :

Sorunları ortaya çıktıkça ele alacağız...

İlk önce bir tablo yapmanız ve neyin ve nerede olması gerektiğini belirlemeniz ve ardından işlevleri yazmanız gerekir.

 int ticket;
double pricefix;
// if an object was clicked
   if (id== CHARTEVENT_OBJECT_CLICK )
     {
       // if buy button was pressed
       if (sparam== "BuyButton" )
        {
         //price fixing
         pricefix = Ask; 
        
        }
     }  
     if (Ask < pricefix - 4 * _Point )
    { 
   ticket = OrderSend ( _Symbol ,OP_BUY, 0.01 ,Ask, 3 , 0 ,Ask+3 00 * _Point , NULL , 0 , 0 ,Green);  
    }  
}

Bir değişken aracılığıyla bir düğmeye basarak fiyatı sabitlemeye çalışmak gibiydim, fiyat bu değişkene eşit olduğunda bir emrin açılacağını umuyordum ama mucize gerçekleşmedi. Yardım.

fonksiyon teoride doğru olsa da, eğer koyarsam

 if (Ask == pricefix)
sonra sipariş hemen açılıyor ama hatırladıktan sonra 4 puan daha düşük olması gerekiyor
 
Порт-моне тв # :

Bir değişken aracılığıyla bir düğmeye basarak fiyatı sabitlemeye çalışmak gibiydim, fiyat bu değişkene eşit olduğunda bir emrin açılacağını umuyordum ama mucize gerçekleşmedi. Yardım.

fonksiyon teoride doğru olsa da, eğer koyarsam

sonra sipariş hemen açılıyor ama hatırladıktan sonra 4 puan daha düşük olması gerekiyor




 //+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- 
   ObjectCreate ( 0 , "Button_1" , OBJ_BUTTON , 0 , 0 , 0 );
   ObjectSetInteger ( 0 , "Button_1" , OBJPROP_XDISTANCE , 20 );
   ObjectSetInteger ( 0 , "Button_1" , OBJPROP_YDISTANCE , 20 );
   ObjectSetInteger ( 0 , "Button_1" , OBJPROP_XSIZE , 100 );
   ObjectSetInteger ( 0 , "Button_1" , OBJPROP_YSIZE , 20 );
   ObjectCreate ( 0 , "Label_1" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSetInteger ( 0 , "Label_1" , OBJPROP_XDISTANCE , 20 );
   ObjectSetInteger ( 0 , "Label_1" , OBJPROP_YDISTANCE , 40 );
   ObjectSetInteger ( 0 , "Label_1" , OBJPROP_CORNER , CORNER_LEFT_UPPER );
   ObjectSetString ( 0 , "Label_1" , OBJPROP_TEXT , "Price" );
   ObjectSetInteger ( 0 , "Label_1" , OBJPROP_COLOR , clrBlack );
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,
                   const long &lparam,
                   const double &dparam,
                   const string &sparam)
  {
//---
   if (sparam== "Button_1" )
     {
       ObjectSetString ( 0 , "Label_1" , OBJPROP_TEXT , DoubleToString (Ask- 4 * _Point , Digits ));
     }
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   int ticket;
   double price= StringToDouble ( ObjectGetString ( 0 , "Label_1" , OBJPROP_TEXT ));
   if (Ask<=price) ticket = OrderSend ( _Symbol ,OP_BUY, 0.01 ,Ask, 3 , 0 ,Ask+ 300 * _Point , NULL , 0 , 0 , clrGreen );  
  }
 

Hey!

Bir soru var.

Maksimum düşüşü hatırlamanın bir yolu var mı?

Yani, bugün düşüş %16 ve 20 gün önce %5 idi, yani maksimum düşüş %16 ve yarın %24 ise, maksimum düşüş %24'tür.

Yoksa onun için zor mu?

 
Alexander Avksentyev # :

Hey!

Bir soru var.

Maksimum düşüşü hatırlamanın bir yolu var mı?

Yani, bugün düşüş %16 ve 20 gün önce %5 idi, yani maksimum düşüş %16 ve yarın %24 ise, maksimum düşüş %24'tür.

Yoksa onun için zor mu?

CodeBase, işlem geçmişinden Balance, Equty geçmişini gösteren göstergelere sahiptir.. Ve bunlardan birden fazla var, bu tür araçlar.

veri almak ve normal bir göstergeden saymak

 
Maxim Kuznetsov # :

CodeBase, işlem geçmişinden Balance, Equty geçmişini gösteren göstergelere sahiptir.. Ve bunlardan birden fazla var, bu tür araçlar.

veri almak ve normal bir göstergeden saymak

Eh, elbette, bir göstergede görüntüleyebilir ve karşılaştırmalar yapabilirsiniz.

Teşekkürler!!!