Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1127

 
Yani sorunun ne olduğunu anlamadın mı?
 
MrBrooklin :

Merhaba Vladimir!

Aşağıda verilen komut dosyasının başlangıcını değiştirmeye yardımcı olun:

Komut dosyasının, talep ve tekliften değil, önceki çubuğun (mum) en yüksek ve en düşük seviyesinden bekleyen emirleri ayarlaması gerekir.

Saygılarımla, Vladimir.

Aşağı yukarı şöyle:

 //--- start work
   double start_price_ask= 0.0 ;
   double start_price_bid= 0.0 ;
//---
   MqlRates rates[];
   ArraySetAsSeries (rates, true );
   int start_pos= 0 ,count= 3 ;
   if ( CopyRates (m_symbol.Name(), Period (),start_pos,count,rates)!=count)
     {
       Print ( __FILE__ , " " , __FUNCTION__ , ", ERROR: CopyRates " );
       return ;
     }
//---
   if (InpPending==stop)
     {
      start_price_ask=rates[ 1 ].high+ExtUpGap;
      start_price_bid=rates[ 1 ].low-ExtDownGap;
     }
   else
       if (InpPending==limit)
        {
         start_price_ask=rates[ 1 ].low-ExtDownGap;
         start_price_bid=rates[ 1 ].high+ExtUpGap;
        }
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5

Vladimir Karputov , 2019.09.18 12:49

Aşağı yukarı şöyle:

 //--- start work
   double start_price_ask= 0.0 ;
   double start_price_bid= 0.0 ;
//---
   MqlRates rates[];
   ArraySetAsSeries (rates, true );
   int start_pos= 0 ,count= 3 ;
   if ( CopyRates (m_symbol.Name(), Period (),start_pos,count,rates)!=count)
     {
       Print ( __FILE__ , " " , __FUNCTION__ , ", ERROR: CopyRates " );
       return ;
     }
//---
   if (InpPending==stop)
     {
      start_price_ask=rates[ 1 ].high+ExtUpGap;
      start_price_bid=rates[ 1 ].low-ExtDownGap;
     }
   else
       if (InpPending==limit)
        {
         start_price_ask=rates[ 1 ].low-ExtDownGap;
         start_price_bid=rates[ 1 ].high+ExtUpGap;
        }

Süper!!! Sayesinde!

Saygılarımla, Vladimir.

 
Neden tam bir parametre sayımı ile özel bir ölçüt kullanamıyorum, bunun kutsal anlamı nedir?
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5

Vladimir Karputov , 2019.08.31 14:38

Rica ederim.

Global program düzeyinde bildirilen m_first_start değişkenine dikkat edin

 bool         m_first_start  = false ;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()

OnTick'in sonunda bu değişken "true" olarak ayarlanır

 //---
   m_first_start= true ;
  }
//+------------------------------------------------------------------+
//| Refreshes the symbol quotes data                                 |
//+------------------------------------------------------------------+
bool RefreshRates()
  {

ve EA artık bir sonraki yeniden başlatmaya kadar bekleyen siparişler vermeyecek

 //+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   if (m_first_start)
       return ;

Merhaba Vladimir!

Kendi kendine eğitimi artırmak için, bana kodu nasıl değiştireceğimi söyleyin, böylece EA her çubukta bekleyen siparişler yerleştirsin. Sarı ile vurgulanan her şeyi silmeye çalıştım, ancak hemen binlerce emir ve pozisyon açmaya ve yerleştirmeye başladı.

Saygılarımla, Vladimir.

 
MrBrooklin :

Merhaba Vladimir!

Kendi kendine eğitimi artırmak için, bana kodu nasıl değiştireceğimi söyleyin, böylece EA her çubukta bekleyen siparişler yerleştirsin. Sarı ile vurgulanan her şeyi silmeye çalıştım, ancak hemen binlerce emir ve pozisyon açmaya ve yerleştirmeye başladı.

Saygılarımla, Vladimir.

Yeni bir çubuğun doğum anını belirlemek ve ancak o zaman bekleyen siparişleri vermek gerekir:

 //+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                              Copyright © 2019, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2019, Vladimir Karputov"
#property link        "http://wmua.ru/slesar/"
#property version    "1.000"
/*
   barabashkakvn Trading engine 3.043
*/
#include <Trade\SymbolInfo.mqh>
//---
CSymbolInfo    m_symbol;                     // object of CSymbolInfo class
//--- input parameters

//---
datetime m_prev_bars             = 0 ;         // "0" -> D'1970.01.01 00:00';

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//--- we work only at the time of the birth of new bar
   datetime time_0= iTime (m_symbol.Name(), Period (), 0 );
   if (time_0==m_prev_bars)
       return ;
   ЗДЕСЬ РАЗМЕЩАТЬ КОД ПО ВЫСТАВЛЕНИЮ ОТЛОЖЕННЫХ ОРДЕРОВ
//---
  }
//+------------------------------------------------------------------+
Dosyalar:
Test.mq5  4 kb
 

Bahşiş için teşekkürler Vladimir.

Saygılarımla, Vladimir.

 
Vladimir Karputov :

Yeni bir çubuğun doğum anını belirlemek ve ancak o zaman bekleyen siparişleri vermek gerekir:

Kesinlikle açık! Bu tür sorular nereden geliyor? Tembellikten mi yoksa başka bir şeyden mi?

 
Сергей Таболин :

Kesinlikle açık! Bu tür sorular nereden geliyor? Tembellikten mi yoksa başka bir şeyden mi?

Kullanıcı MrBrooklin sadece ilk adımları atıyor, bu yüzden yardıma ihtiyacı var. Hepsi bir kez başladı ve yeşildi.

 
Vladimir Karputov :

Kullanıcı MrBrooklin sadece ilk adımları atıyor, bu yüzden yardıma ihtiyacı var. Hepsi bir kez başladı ve yeşildi.

Prensip olarak umursamıyorum. Ama olması gereken mantık?

Yeni barda bir şeyler yapılmasını istiyorum. Her şeyden önce, bu en yeni çubuğu belirlemeniz gerekiyor.

Bunlar yeni başlayanların soruları değil, ağzına konan her şeyi çiğnemek isteyen tembel bir insanın sorularıdır. Ve beyni açın - din izin vermiyor mu?