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.
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()
}
//-------------------------------------------------------------------------------------------
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.
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?
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.
GlobalVariableSet global değişkenine nasıl yazacağımı söyle, şimdiki zaman diyelim? Hiç bir tarih değil, bir dizi sayı veriyor ...
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:
Bağlantı açısını değiştirerek ve koordinat mesafelerini ayarlayarak kendim yaptım:
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:
Bir şekilde etkilediğini düşündüğüm son üç parametre. Hiç bir şey...
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?