Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 594

 
DiPach :
P./S.: Her ihtimale karşı, NormalizeDouble yardımında, "Not" bölümünde sorunuzun kısmi bir cevabı olduğunu belirteceğim.

Kendisi, DoubleToS'u reçete etmeyi unuturdu ... ve sonra noktadan sonra birçok sayıya şaşkınlıkla baktı. :)


Evet, elbette, yardımda bununla ilgili yazıyor :) kim oraya tırmanmanız gerektiğini düşünebilirdi çünkü fonksiyon biliniyor ve üzerindeki yardımı okumanın bir anlamı yok. Cevap için teşekkürler.
 

Merhaba! Lütfen göstergenin test cihazında başka bir döviz çiftinin verileriyle nasıl çalışacağını söyleyin.

Şekil, normal MACD'yi gösterir, ancak "GBPUSD" sembolü ile. "EURUSD" tablosunda, her şey "GBPUSD" tablosundakiyle tamamen aynı şekilde çizilir.

Ancak test cihazında çalışmak istemiyor. Test cihazı duraklatıldığında, "EURUSD" grafiğindeki göstergeyi ayarladığımda, ilk başta her şey doğru çiziliyor, ancak testi başlattığım anda

resimdeki gibi düz bir çizgi çizilir. Veya işe yarayan başka bir gösterge önerebilir misiniz? Önemli olan MACD değil, yazma ilkesidir.

Dosyalar:
 
Petrol vadeli işlemlerini (#BRNM4) test cihazında kimler kullanabilir? 4107 hatası alıyorum.
 

GlobalVariableSet global değişkenine nasıl yazacağımı söyle, şimdiki zaman diyelim? Hiç bir tarih değil, bir dizi sayı veriyor ...

 
ClanVi :

GlobalVariableSet global değişkenine nasıl yazacağımı söyle, şimdiki zaman diyelim? Hiç bir tarih değil, bir dizi sayı veriyor ...


Zaman bir tamsayı değeri olarak saklanır
 

Merhaba. Herkesin Zafer Bayramı kutlu olsun!

Yapının yeni sürümüyle birlikte, sağ alt köşedeki nesneler sağa doğru süründü. İçlerindeki metnin tamamının okunması için onları hafifçe sola kaydırmak gerekir.

Nasıldı ve nasıl yapılır:

Şimdi sürünerek uzaklaştılar:

kod:

 #include <stdlib.mqh>
#include <stderror.mqh>
#include <WinUser32.mqh>
//--------------------------------------------------------------- 3 --
#include <Variables_AU.mqh>           // Описание переменных 
#include <Terminal.mqh>               // Учёт ордеров
#include <Events.mqh>                 // Функция слежения за событиями, обновлен.
#include <Inform.mqh>                 // Информационная функция
#include <Trade.mqh>                 // Торговая функция
#include <Open_Ord.mqh>               // Открытие одного ордера заданного типа
#include <Open_Ord_balance_line.mqh> //Доливка по линии баланса -  установка одного отложенного ордера  
#include <Close_All.mqh>             // Закрытие  всех ордеров заданного типа
#include <Tral_Stop_All.mqh>         // Модификация лимитного ордера
#include <Lot_MM.mqh>                 // Вычисление количества лотов
#include <Criterion.mqh>             // Торговые критерии
#include <Errors.mqh>                 // Функция обработки ошибок.
//--------------------------------------------------------------- 4 --
int init()                             // Спец. функция init
  {
  
   IsExpertStopped = false ;
   if (! IsTradeAllowed ())  { Comment ( "Необходимо разрешить советнику торговать" );IsExpertStopped = true ; return ( 0 );}      
   // if (!IsTesting()){if (IsExpertEnabled())    Comment("Советник запустится следующим тиком");else  Comment("Отжата кнопка \"Разрешить запуск советников\"");}   
      
   // Определяем переменные окружения
   Level_old= MarketInfo ( Symbol (), MODE_STOPLEVEL ); //Миним. дистаниция 
   Level_Freeze = MarketInfo ( Symbol (), MODE_FREEZELEVEL ); 
   Spread = MarketInfo ( Symbol (), MODE_SPREAD );
   Tick = MarketInfo ( Symbol (), MODE_TICKSIZE );     //Mинимальный тик   
   // Пересчеты пунктов для пятизначного ДЦ   
   if (( Digits == 3 ) || ( Digits == 5 )){SlipPips = SlipPips* 10 ; indent_Hight = indent_Hight * 10 ; indent_Low = indent_Low * 10 ;}    
  
   Terminal();                         // Функция учёта ордеров 
//----------------------------------------------Мониторинг---------------------  
   if (Monitor== true )
    {
     int a,y;
     for (a= 0 ,y= 5 ;a<= 4 ;a++)
      {
       string N= DoubleToStr (a, 0 );
  
       ObjectCreate (N, OBJ_LABEL , 0 , 0 , 0 , 0 , 0 , 0 , 0 );
       ObjectSet (N, OBJPROP_CORNER , 3 );
       ObjectSet (N, OBJPROP_XDISTANCE , 5 );
       ObjectSet (N, OBJPROP_YDISTANCE ,y);
      y+= 20 ;
      }  
    }
      
   return ( 0 );                             // Выход из init() 
  }
//-----------------------------------------------------------------------------
int start()                             // Спец. функция start
  {  
     
//------------- Вызов ф-ий учёта ордеров, принятия торговых решений и информации ----------   
  Terminal();                         // Функция учёта ордеров 
  Events();                           // Информация о событиях
  Trade (Criterion());                 // Торговая функция
  Inform( 0 );                           // Для перекрашивания объектов
   
//-------------  МОНИТОРИНГ  --------------------------------------------------------------
   if (Monitor== true )
    {
     string str= "Balance: " + DoubleToStr ( AccountBalance (), 2 )+ " $" ;
     ObjectSetText ( "0" ,str, 10 , "Arial Black" ,DarkOrange);
    
     str= "Profit: " + DoubleToStr ( AccountProfit (), 2 )+ " $" ;
     ObjectSetText ( "1" ,str, 10 , "Arial Black" ,Salmon);
    
     str= "Free Margine: " + DoubleToStr ( AccountFreeMargin (), 2 )+ " $" ;
     ObjectSetText ( "2" ,str, 10 , "Arial Black" ,Gold);
    
     str= "OrdersTotal: " + DoubleToStr ( OrdersTotal (), 0 );
     ObjectSetText ( "3" ,str, 10 , "Arial Black" ,MediumAquamarine);
    
     if (Lot_MM()== false )               // Средств не хватает на миним.
             return ( 0 );                   // Выход из пользов. функции 
     str= "Lots_Next: " + DoubleToStr (Lots_New, 2 );
     ObjectSetText ( "4" ,str, 10 , "Arial Black" ,Olive);
    }
   
   return ( 0 );                             // Выход из start()
  }
//-------------------------------------------------------------------------------------------
int deinit()                           // Спец. функция deinit()
  {
   Inform(- 1 );                         // Для удаления объектов
   //----------------------------------------------------------------------------------------
   if (Monitor== true )
    {
     for ( int a= 0 ;a<= 4 ;a++)
      {
       string N= DoubleToStr (a, 0 );
       ObjectDelete (N);
      } 
    }
//-------------------------------------------------------------------------------------------
   return ( 0 );                             // Выход из deinit()
  }
//-------------------------------------------------------------------------------------------
 

Bağlantı açısını değiştirerek ve koordinat mesafelerini ayarlayarak kendim yaptım:

 //----------------------------------------------Мониторинг---------------------  
   if (Monitor== true )
    {
     int a,y;
     for (a= 0 ,y= 50 ;a<= 4 ;a++)
      {
       string N= DoubleToStr (a, 0 );
  
       ObjectCreate (N, OBJ_LABEL , 0 , 0 , 0 , 0 , 0 , 0 , 0 );
       ObjectSet (N, OBJPROP_CORNER , 0 );
       ObjectSet (N, OBJPROP_XDISTANCE , 50 );
       ObjectSet (N, OBJPROP_YDISTANCE ,y);
      y+= 20 ;
      }  
    }
      
   return ( 0 );                             // Выход из init() 
  }
 

Ve nesne yorumlarının boyutu ve yazı tipi (muhtemelen zorlukla renk) nasıl değiştirilir?


Pekala, resimde # bilet numarasıyla başlayın - işte buradalar.

İşlev:

 //+------------------------------------------------------------------+
   void SetTLine( color cl, long chartID, int wnd, string nm,
                 datetime t1, double p1, datetime t2, double p2,
                 bool ry= False , int st= 0 , int wd= 1 , string tx= "" , int sz= 0 ) {
       if (DrawGraphics== 0 ) return ;
       if ( ObjectFind (nm)< 0 ) ObjectCreate (chartID, nm, OBJ_TREND , wnd, 0 , 0 , 0 , 0 );
       ObjectSetInteger (chartID,nm, OBJPROP_TIME1 ,t1);
       ObjectSetDouble (chartID,nm, OBJPROP_PRICE1 ,p1);
       ObjectSetInteger (chartID,nm, OBJPROP_TIME2 ,t2);
       ObjectSetDouble (chartID,nm, OBJPROP_PRICE2 ,p2);
       ObjectSetInteger (chartID,nm, OBJPROP_COLOR ,cl);
       ObjectSetInteger (chartID,nm, OBJPROP_RAY ,ry);
       ObjectSetInteger (chartID,nm, OBJPROP_STYLE ,st);
       ObjectSetInteger (chartID,nm, OBJPROP_WIDTH ,wd);
       ObjectSetString (chartID,nm, OBJPROP_TEXT ,tx);
       ObjectSetString (chartID,nm, OBJPROP_FONT , "Tahoma" );
       ObjectSetInteger (chartID,nm, OBJPROP_FONTSIZE ,sz);
   }
//+------------------------------------------------------------------+

Bir şekilde etkilediğini düşündüğüm son üç parametre. Hiç bir şey...

 
pako :


Bu bir metin nesnesi. Ve OBJ_TREND içinde değiştirmem gerekiyor. Hemen bir nesneye girebilmek ve trend çizgisine başka bir metin nesnesi eklememek istiyorum.
 

Hata ayıklayıcı çalışmayı durdurdu - neden?

5 Mayıs öğleden sonra itibariyle Hata Ayıklayıcı, bir kesme noktasında değişken değerler yaymayı bıraktı. Tüm değişkenler için tüm programlarda. Aynı zamanda, programların kendileri eskisi gibi çalışır. O zaman (ve hala) Editör " ver " idi. 5.00 yapı 934" ve MetaTrader " ver . 4.00 yapı 646” .

İşte en basit komut dosyası ve işte Hata Ayıklayıcı'nın çıktıları. Söyle bana, lütfen, sorun nedir?

Neden: