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

 
Gevorg Hakobyan :
if(v=="NZD")
{
h=(iClose("NZDUSD",p,b)-iOpen("NZDUSD",p,b))/MarketInfo("NZDUSD",MODE_POINT)+
(iOpen("EURNZD",p,b)-iClose("EURNZD",p,b))/MarketInfo("EURNZD",MODE_POINT)+
(iOpen("GBPNZD",p,b)-iClose("GBPNZD",p,b))/MarketInfo("GBPNZD",MODE_POINT)+
(iOpen("AUDNZD",p,b)-iClose("AUDNZD",p,b))/MarketInfo("AUDNZD",MODE_POINT)+
(iClose("NZDJPY",p,b)-iOpen("NZDJPY",p,b))/MarketInfo("NZDJPY",MODE_POINT)+
(iClose("NZDCAD",p,b)-iOpen("NZDCAD",p,b))/MarketInfo("NZDCAD",MODE_POINT)+
(iClose("NZDCHF",p,b)-iOpen("NZDCHF",p,b))/MarketInfo("NZDCHF",MODE_POINT);
}
Kodunuzda ne olduğu önemli değil. Point() yerine hangi DC'ye bağlı olduğunuzu, hangisinden sıfır aldığınızı söyleyebilir misiniz?
 
sile :

Merhaba.

Lütfen yardım et.

Şimdi her bir sonraki siparişin lotu 1, 2, 3, 4, 5 gibi artıyor...

Partinin her sipariş için değil, 3'lük bir adımla artmasını istiyorum,   Böyle   1, 1, 1, 2, 2, 2, 3, 3, 3…

Belirtilen eşiğe ulaşıldığında sayaç başlatılmalı ve başlangıç değerine sıfırlanmalıdır:
extern double    LotStop        = 0.01 ;
extern double    Plus_LotStop   = 0.01 ;
extern double    Plus_N_ORD  = 3 ;         //каждые N ордеров
void OnTick ()
  {
//---
int c=0;
   for ( int i= 1 ; i<=OrdersStop; i++)
   {
        if (( Close [ 1 ]< Open [ 1 ]&& Close [ 2 ]> Open [ 2 ]&&NumberOfPositions( Symbol (), - 1 ,_Magic)< 1 ))
         {
            OPENORDER ( OP_BUYSTOP ,PriceBS,LOTs,_Magic,i);
            numB++;
            PriceBS = NormalizeDouble (PriceBS+Step_Stop* Point , Digits );
          
            OPENORDER ( OP_SELLSTOP ,PriceSS,LOTs,_Magic,i);
            numS++;
            PriceSS = NormalizeDouble (PriceSS-Step_Stop* Point , Digits );
         }
      c++;
       if (c== 3 ){LOTs+=Plus_LotStop;c=0;}
    }
  }
 

Örneğin, terminalde "iSignal" adlı bir göstergenin çalıştığını söyleyin, bir danışmandan bu göstergenin gerçekten herhangi bir pencerede veya danışmanlı bir pencerede olduğunu öğrenmek mümkün mü?

 
Vitaly Muzichenko :

Örneğin, terminalde "iSignal" adlı bir göstergenin çalıştığını söyleyin, bir danışmandan bu göstergenin gerçekten herhangi bir pencerede veya danışmanlı bir pencerede olduğunu öğrenmek mümkün mü?

ChartIndicatorName() yardımında; Ve orada göreceğiniz diğerleri.


GrafikGöstergeAdı

Belirtilen grafik penceresindeki göstergeler listesindeki göstergenin kısa adını sayıya göre döndürür.

string ChartIndicatorName (
    uzun    chart_id , // grafik kimliği
    int     sub_window , // alt pencere numarası
    int     dizin           // bu grafik alt penceresine eklenen göstergeler listesindeki gösterge indeksi
);

Seçenekler

chart_id

[içinde] Grafik Kimliği. 0, geçerli grafik anlamına gelir.

alt_pencere

[içinde] Grafik alt pencere numarası. 0, ana grafik penceresi anlamına gelir.

dizin

[içinde] Gösterge listesinden gösterge dizini. Göstergelerin numaralandırılması sıfırdan başlar, yani listedeki ilk göstergenin sıfır indeksi vardır. Listedeki göstergelerin sayısı ChartIndicatorsTotal() işlevi kullanılarak elde edilebilir.

Geri dönüş değeri

INDICATOR_SHORTNAME özelliğinde IndicatorSetString() işlevi tarafından ayarlanan göstergenin kısa adı . Bir hata hakkında bilgi almak için GetLastError() işlevini çağırmanız gerekir.


Tüm çizelgeleri gözden geçiriyorsunuz ve üzerlerinde gerekli göstergeyi arıyorsunuz. Ayrıca, bir grafiğin tüm pencerelerinin sayısı kadar, grafikteki göstergelerin sayısını da belirleyebilirsiniz. Yardımda göreceksiniz.
 
Vitaly Muzichenko :

Örneğin, terminalde "iSignal" adlı bir göstergenin çalıştığını söyleyin, bir danışmandan bu göstergenin gerçekten herhangi bir pencerede veya danışmanlı bir pencerede olduğunu öğrenmek mümkün mü?

Belki. İstenen çizelgedeki göstergeler arasında dolaşın ve seçilen göstergenin adını belirtilenle karşılaştırın. ChartIndicatorName() işlevi.

Gösterge "bodrumda" ise, muhtemelen grafiğin alt pencerelerinden geçmeniz gerekecektir.

 
Artyom Trishkin :

ChartIndicatorName() yardımında; Ve orada göreceğiniz diğerleri.


GrafikGöstergeAdı

Belirtilen grafik penceresindeki göstergeler listesindeki göstergenin kısa adını numaraya göre döndürür.

string ChartIndicatorName (
    uzun    chart_id , // grafik kimliği
    int     sub_window , // alt pencere numarası
    int     dizin           // bu grafik alt penceresine eklenen göstergeler listesindeki gösterge indeksi
);

Teşekkürler, tam olarak aradığım şey buydu ve işe yarıyor!

Ve şimdi geri döndü) Aynı şey var mı, sadece göstergeden bir uzman bulmak için: (c) Bu uzman gerçekten herhangi bir pencerede mi yoksa göstergeli bir pencerede mi?

 
Vitaly Muzichenko :

Teşekkürler, tam olarak aradığım şey buydu ve işe yarıyor!

Ve şimdi geri döndü) Aynı şey var mı, sadece göstergeden bir uzman bulmak için: (c) Bu uzman gerçekten herhangi bir pencerede mi yoksa göstergeli bir pencerede mi?

Genel olarak nasıl kodlarsınız?
WindowExpertName - Операции с графиками - Справочник MQL4
WindowExpertName - Операции с графиками - Справочник MQL4
  • docs.mql4.com
WindowExpertName - Операции с графиками - Справочник MQL4
 
Vitalie Postolache :
Genel olarak nasıl kodlarsınız?
Bunu biliyorum ama başka birinin çizelgesinde nasıl arama yapılacağını bilmiyor.
 
Vitaly Muzichenko :
Bunu biliyorum ama başka birinin çizelgesinde nasıl arama yapılacağını bilmiyor.

Bir başkasının çizelgesinde nasıl arama yapacağını bilmemekle kalmaz, aynı zamanda yalnızca "kendi" göstergesini, komut dosyasını veya bu işlevin yazılı olduğu Uzman Danışmanı kendi başına bulur.

Test etmedim, ancak grafikler arasında döngü yapmayı deneyin

ChartGetString (chart_id, CHART_EXPERT_NAME)
teorik olarak çalışması gerekir.
 
Alexey Viktorov :

Bir başkasının çizelgesinde nasıl arama yapacağını bilmemekle kalmaz, aynı zamanda yalnızca "kendi" göstergesini, komut dosyasını veya bu işlevin yazıldığı Uzman Danışmanı kendi başına bulur.

Test etmedim, ancak grafikler arasında döngü yapmayı deneyin

ChartGetString (chart_id, CHART_EXPERT_NAME)
teorik olarak çalışması gerekir.

Evet, çalışır ve göstergeden isme göre uzmanlar bulur. Ama şimdi soru şu: Aynısı var mı, ancak dört ve tercihen çapraz platform için mi?

Teşekkür ederim!