MT5 için dilekler - sayfa 62

 
Yedelkin :

Sadece var olmayan bir pencerenin numarasını belirtmeniz yeterlidir.

Bu, örneğin, INT_MAX belirtin. Veya negatif bir değer (kendim denemedim ama fikir olarak - deneyebilirsiniz).


 int win_ind= 1 ;

int OnInit ()
  {
//---
   chart_id= ChartID ();
//--- set balans ind

   MqlParam params[ 1 ];
   params[ 0 ].type         = TYPE_STRING ;
   params[ 0 ].string_value =name_ind;
   handle= IndicatorCreate ( ChartSymbol (chart_id), ChartPeriod (chart_id), IND_CUSTOM ,win_ind,params); // вот тут ещё 
                                                                              // прокатит несуществующее окно
   ChartIndicatorAdd (chart_id,win_ind,handle); // а вот тут уже нужно точно знать его номер
   win_ind= ChartWindowFind (chart_id,name_ind); // а получить его можно только тут    
//---
   return ( 0 );
  }

Bu nedenle, win_ind değerini açıkça ayarlamanız gerekir, aksi takdirde çalışmayacaktır.

 

Urain :

Yedelkin :

Sadece var olmayan bir pencerenin numarasını belirtmeniz yeterlidir.

Örneğin, INT_MAX belirtin. Veya negatif bir değer (kendim denemedim ama fikir olarak - deneyebilirsiniz).

Denemedim o yüzden tavsiye ederim

Tamam, fikri negatif değerlerle test ettiyseniz ve işe yaramadıysa, ilk ipucuna odaklanalım:

"Yalnızca var olmayan bir pencerenin numarasını belirtmeniz gerekiyor, örneğin, INT_MAX belirtin ". Onlar. verilen örnekte belirtin

 ChartIndicatorAdd (chart_id, INT_MAX ,handle); // указываем заранее несуществующий номер подокна

Veya sizin durumunuzda, var olmayan bir pencerenin numarasını belirttiğinizde, ChartIndicatorAdd işlevi çalışmayı reddediyor ve yeni bir alt pencere mi oluşturuyor?

Bu arada, kodunuzun neden aynı değişkene sahip olduğu tam olarak açık değil.

 int win_ind= 1 ;
ilk önce IndicatorCreate işlevinin dördüncü parametresi olarak kullanılır (dördüncü parametre == parametreler_array[] dizisinde geçirilen parametre sayısı) ve ardından - ChartIndicatorAdd işlevinin ikinci parametresi olarak (ikinci parametre == grafik alt pencere numarası).
 
Документация по MQL5: Операции с графиками / ChartIndicatorsTotal
Документация по MQL5: Операции с графиками / ChartIndicatorsTotal
  • www.mql5.com
Операции с графиками / ChartIndicatorsTotal - Документация по MQL5
 

Ondan mı bahsediyorsun?

CHART_WINDOWS_TOTAL

Gösterge alt pencereleri dahil toplam grafik penceresi sayısı

int r/o

 
Yani evet :) Çift döngü yaparak grafiğin tüm hindilerini sorunsuz bir şekilde geçebilirsiniz.
 
Yedelkin :

Bu arada, kodunuzun neden aynı değişkene sahip olduğu tam olarak açık değil.

ilk önce IndicatorCreate işlevinin dördüncü parametresi olarak kullanılır (dördüncü parametre == parametreler_array[] dizisinde geçirilen parametre sayısı) ve ardından ChartIndicatorAdd işlevinin ikinci parametresi olarak kullanılır (burada ikinci parametre == grafik alt pencere numarası).

Semyon Semyonovich, tam olarak. Win_ind'in her yere açıkça 1 olarak yazıldığını ve ardından her şeyi bir değişkenle değiştirdiğimde 1'in win_ind olarak değiştirildiğini bir gözden kaçırma sonucu bendim. İşte bir akım ve tekmelerle :o)

doğru kod böyle olurdu

 int win_ind=- 1 ;

int OnInit ()
  {
//---
   chart_id= ChartID ();
//--- set balans ind

   MqlParam params[ 1 ];
   params[ 0 ].type         = TYPE_STRING ;
   params[ 0 ].string_value =name_ind;
   handle= IndicatorCreate ( ChartSymbol (chart_id), ChartPeriod (chart_id), IND_CUSTOM , 1 ,params); // 1- количество параметров 
                                                                              
   ChartIndicatorAdd (chart_id,win_ind,handle); // тут поскольку win_ind=-1 создаём новое окно
   win_ind= ChartWindowFind (chart_id,name_ind); // а тут получаем значение win_ind 
//---
   return ( 0 );
  }

Şimdi evet, her şey otomatik olarak çalışıyor. Kodun analizi için teşekkürler, bir kafa iyi, iki kafa daha iyi :o)

 
TheXpert :
Yani evet :) Çift döngü yaparak grafiğin tüm hindilerini sorunsuz bir şekilde geçebilirsiniz.
İyi! Doğru, amaçları için bir döngü olmadan yapmayı başardılar.
 
Altı ay önce, bekleyen siparişler listesinin genişletilmesi dilekleri dile getirildi. Örneğin, OCO türündeki siparişleri girin, vb. Bugün bu fikirlerin tanıtımıyla ilgili işler nasıl gidiyor? Bekleyen yeni emir türlerinin (en azından bir yıl içinde) ortaya çıkmasını ummak mümkün müdür?
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Ne yazık ki hayır. Sipariş sistemi değişmeyecek.
 
Renat :
Ne yazık ki hayır. Sipariş sistemi değişmeyecek.
Tamam, mevcut olandan devam edeceğiz.
Neden: