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

 
Igor Makanu :

Uzman Danışmanların gösterge arabellekleri yoktur ve terminalde çizim yapmazlar

uzmanların komut dosyalarından ve göstergelerden ne gibi farklılık gösterdiğini yardımda okuyun

Cevap için teşekkürler.

Lütfen bana bu işlevi nasıl uygulayacağımı söyler misiniz?

 

Merhaba! diziyi işleve geçirmek için yardım

bir yapımız var

 struct pattern
  {
   double             x;
   datetime           y;
 };  

Bu yapı türünde bir çift statik dizi ilan ediyorum

pattern last_pattern_up[NUMBER_OF_SYMBOLS][NUMBER_OF_PERIODS], last_pattern_dn[NUMBER_OF_SYMBOLS][NUMBER_OF_PERIODS];

Şimdi işleve statik bir dizi iletmek istiyorum, ancak bir hata veriyor -'[' - dizi gerekli

void MyFunction(pattern &array)
{
   Print (array[ 1 ][ 1 ].x, " " ,array[ 1 ][ 1 ].y);
   }

Bir diziyi bir işleve düzgün bir şekilde nasıl geçirebilirim?

 
Tango_X :

Merhaba! diziyi işleve geçirmek için yardım

bir yapımız var

Bu yapı türünde bir çift statik dizi ilan ediyorum

Şimdi işleve statik bir dizi iletmek istiyorum, ancak bir hata veriyor -'[' - dizi gerekli

Bir diziyi bir işleve düzgün bir şekilde nasıl geçirebilirim?

 void MyFunction(pattern &array[][NUMBER_OF_PERIODS])
 
Artyom Trishkin :

teşekkür etmek! Süper!

 
Alexander Layzerevich :

Cevap için teşekkürler.

Lütfen bana bu işlevi nasıl uygulayacağımı söyler misiniz?

yalnızca göstergeyi iCustom() aracılığıyla çağıran ayrı bir uzman ve grafik için ayrı bir gösterge

ayrıca, göstergeyi çağırırken, EA göstergenin yeni bir kopyasını kullanacaktır, yani. bir grafik üzerinde bir uzman çalıştırır ve uzman ayarlarını değiştirirseniz (iCustom() öğesine aktarılanlar), o zaman grafikteki gösterge buna hiçbir şekilde tepki vermez.

test cihazında, testin sonunda, uzmanın aradığı gösterge gösterilecektir, görsel modda test yaparken göstergeyi test cihazı tablosuna bırakabilirsiniz ....

genel olarak göreve ve isteğe göre değişir, isteğe bağlı olarak şablonun uygulamasını uzmandan yapabilirsiniz ama şablondaki parametreleri nasıl değiştireceğimi hatırlamıyorum... belki biri yapmıştır bunu

 
Alexander Layzerevich :

Cevap için teşekkürler.

Lütfen bana bu işlevi nasıl uygulayacağımı söyler misiniz?

Çizgilerle çizin ( OBJ_TREND )

 
Alexander Layzerevich :

Cevap için teşekkürler.

Lütfen bana bu işlevi nasıl uygulayacağımı söyler misiniz?

Uzman Danışmandan gösterge çizgilerini , göstergeyi hiç kullanmadan, ancak yalnızca göstergeden Uzman Danışmana aktarılan hesaplamalara göre çizerseniz, o zaman yalnızca grafik nesnelerle - eğilim çizgileri. Doğru, maliyetli. Ancak kendinizi grafikteki çubukların görünürlük alanıyla sınırlayabilirsiniz.

 

Tavsiye için teşekkürler.

Aslında, Gösterge de aynı şeyi yapar.

onlar. Hesapladığım değerler var, bunların hatlarla bağlanması gerekiyor. ( OBJ_TREND )

 
Igor Makanu :

bir siparişi değiştirirken en az bir parametrenin değiştirilmesi gerekiyor, hata No. 1 - sunucuya bir istek gönderdikten sonra hiçbir şeyin değiştirilmesi gerekmiyorsa

sunucuya ne gönderdiğinizi yazdırın, hemen göreceksiniz

Durdurma veya kâr olup olmadığını kontrol etmek için ek bir koşul eklememe rağmen hata devam etti

 if (OrderMagicNumber() == id_number && (OrderStopLoss() == 0 || OrderTakeProfit() == 0 ))


Ve ayrıca takip için

if(OrderMagicNumber() == id_number && OrderStopLoss() != 0)
           {
            if(OrderType() == OP_BUY)
              {
               if(OrderComment() == "1" && Bid - OrderOpenPrice() >= a1 && OrderStopLoss() != OrderOpenPrice() + l1) {bol = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+l1,OrderTakeProfit(),0,clrNONE);};
               if(OrderComment() == "2" && Bid - OrderOpenPrice() >= a2 && OrderStopLoss() != OrderOpenPrice() + l2) {bol = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+l2,OrderTakeProfit(),0,clrNONE);};
              }
            else
              {
               if(OrderComment() == "1" && OrderOpenPrice() - Ask >= a1 && OrderStopLoss() != OrderOpenPrice() - l1) {bol = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-l1,OrderTakeProfit(),0,clrNONE);};
               if(OrderComment() == "2" && OrderOpenPrice() - Ask >= a2 && OrderStopLoss() != OrderOpenPrice() - l2) {bol = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-l2,OrderTakeProfit(),0,clrNONE);};
              };
           };
 
Alexandr Sokolov :

Durdurma veya kâr olup olmadığını kontrol etmek için ek bir koşul eklememe rağmen hata devam etti

Ve ayrıca takip için

OrderStopLoss() != NormalizeDouble(OrderOpenPrice() - l1,_Digits)
Neden: