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

 
Iurii Tokman :

kod eklenmelidir Alt+S
ve fonksiyon nerede?
nasıl derledin Hatalar yok ?

Kodu gecikmelerle çalışır ve işlev konumlarla çalışır - biraz ince ayar yapmanız gerekir

 
Vitaly Muzichenko :

Kodu gecikmelerle çalışır ve işlev konumlarla çalışır - biraz ince ayar yapmanız gerekir

Çok doğru , sadece sellstop ve buystop limit emirleri ile iş yapılır. Neyin tamir edilmesi gerekiyor?

 
sibiriyak73 :

Çok doğru , sadece sellstop ve buystop limit emirleri ile iş yapılıyor. Neyin tamir edilmesi gerekiyor?

 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает флаг торгов сегодня.                                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool isTradeToDay( string sy= "" , int op=- 1 , int mn=- 1 ) {
   int i, k=OrdersHistoryTotal();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY )) {
       if (OrderSymbol()==sy || sy== "" ) {
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
           if (op< 0 || OrderType()==op) {
             if (mn< 0 || OrderMagicNumber()==mn) {
               if (TimeDay  (OrderOpenTime())==Day()
              &&  TimeMonth(OrderOpenTime())==Month()
              &&  TimeYear (OrderOpenTime())==Year()) return (True);
            }
          }
        }
      }
    }
  }
  k= OrdersTotal ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES )) {
       if (OrderSymbol()==sy || sy== "" ) {
         if (OrderType()<=6) { 
           if (op< 0 || OrderType()==op) {
             if (mn< 0 || OrderMagicNumber()==mn) {
               if (TimeDay  (OrderOpenTime())==Day()
              &&  TimeMonth(OrderOpenTime())==Month()
              &&  TimeYear (OrderOpenTime())==Year()) return (True);
            }
          }
        }
      }
    }
  }
   return (False);
}
 
Vitaly Muzichenko :

Bu fonksiyon alım tarafı için mi yoksa alım satım için mi?

6 tür siparişin sarı renkle vurgulandığı gerçeğini bırakalım mı?

Hatasız derlendi ancak siparişleri açmıyor

 
sibiriyak73 :

Bu fonksiyon alım tarafı için mi yoksa alım satım için mi?

6 tür siparişin sarı renkle vurgulandığı gerçeğini bırakalım mı?

Hatasız derlendi ancak siparişleri açmıyor

Bu tüm türler içindir, doğru uygulandığında çalışması gerekir


Not: Neden işe yaramayacağını ve yolunda ne olduğunu mantıklı bir şekilde anlamaya çalışın.

 

Ve muhtemelen 1 kez bir fonksiyon eklemek daha doğrudur, zaten orada veya piyasada ne tür olduğu önemli değil.

 if (Hour()==Nac && ! isTradeToDay ( Symbol ()))
 {
   if ( iOpen ( NULL , PERIOD_D1 , 0 )< iOpen ( NULL , PERIOD_D1 , 1 ))
   {
     int ticket1= OrderSend ( Symbol (),OP_SELLSTOP, 1.5 ,limit1, 3 ,SL1,TP1, NULL , 0 , 0 , clrRed ); //Здесь открываем
   }

   if ( iOpen ( NULL , PERIOD_D1 , 0 )> iOpen ( NULL , PERIOD_D1 , 1 ))
   {
     int ticket= OrderSend ( Symbol (),OP_BUYSTOP, 1.5 ,limit, 3 ,SL,TP, NULL , 0 , 0 , clrBlueViolet ); //Здесь открываем
   }
 }
 
Herkesin Öküz'ün Yeni Yılı Kutlu Olsun! Tüm boğa büyümesi! :)

En düşük ve en yüksek fiyat arasındaki son günün (veya saatin) puanlarının değerini nasıl hesaplayacağımı söyle.
 
Порт-моне тв :
Herkesin Öküz'ün Yeni Yılı Kutlu Olsun! Tüm boğa büyümesi! :)

En düşük ve en yüksek fiyat arasındaki son günün (veya saatin) puanlarının değerini nasıl hesaplayacağımı söyle.
( High[1] - Low[1] ) / Point()
 
Herkese iyi!

Bu kodun ne anlama geldiğini veya daha doğrusu prensipte nasıl çalıştığını söyleyebilir misiniz? Bu durumda Makro ikame kullanılır ve emirlerin açılması için ana koşuldur. not. Global değişken hiçbir yerde değiştirilmez.

 #define MARKET_WATCH          ( 0 )

bool   Gl_Var_MarketWatch    =  MARKET_WATCH;   // глобальная переменная

if (Gl_Var_MarketWatch) ticket= OrderSend (symbol_name,op,ll,pp,MaxSlippage, 0 , 0 ,co,mn, 0 ,clOpen);
       else ticket= OrderSend (symbol_name,op,ll,pp,MaxSlippage,sl,tp,co,mn, 0 ,clOpen);
Макроподстановка (#define) - Препроцессор - Основы языка - Справочник MQL4
Макроподстановка (#define) - Препроцессор - Основы языка - Справочник MQL4
  • docs.mql4.com
Директива #define подставляет expression вместо всех последующих найденных вхождений identifier в исходном тексте. identifier заменяется только в том случае, если он представляет собой отдельный токен. identifier не заменяется, если он является частью комментария, частью строки, или частью другого более длинного идентификатора. expression может...
 
Tom Seljakin :
Herkese iyi!

Bana bu kodun ne anlama geldiğini veya daha doğrusu prensipte nasıl çalıştığını söyleyebilir misiniz? Bu durumda Makro ikame kullanılır ve emirlerin açılması için ana koşuldur. not. Global değişken hiçbir yerde değiştirilmez.

belki o

MARKET_WATCH,                               // окна "Обзор рынка"