Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 236

 
s4sha45 :

Hepinize iyi günler! youtube video örneklerini kullanarak basit bir ticaret robotunun nasıl yazılacağını öğrenmeye yeni başladım. İlkinin benim için açılması için bir senaryo yazmak istiyorum   bir satın alma siparişi , ve başka açık siparişim yoksa açılmalı, komut dosyası bunu yazdı, ancak sipariş açılmıyor, hata nedir, lütfen söyleyin!

<

geçersiz OnTick()

{

if ( OP_SELL==0 && OP_BUY==0 )

int bilet=OrderSend(Symbol(),OP_BUY,Lot1,Ask,Slippage,StopLoss,TakeProfit,"Siparişim",MagicNumber,0,clrGreen);

>

Yazdınız (tam anlamıyla Rusça):

1, 0'a eşitse ve 0, 0'a eşitse , bir pozisyon açın.

 
Artyom Trishkin :

Yazdınız (tam anlamıyla Rusça):

1, 0'a ve 0, 0'a eşitse , bir pozisyon açın.

Videoda yazar bu satırı şöyle yazmış if (b == 0   && s ==0) ve her şey onun için çalıştı. ve ondan önce herhangi bir b ve s değişkeni sunmadı. belki sürüm eskidir. bu doğru değilse, şu anda siparişim olmadığını belirleyen satır nasıl görünmelidir?
 
bool FindOrder(int eType, int eMagic, string eSymbol)
   {
   for(int i=OrdersTotal()-1; i>=0; i--)
      {
      if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if(OrderCloseTime()>0) continue;
      if(OrderSymbol()!=eSymbol) continue;
      if(OrderMagicNumber()!=eMagic) continue;
      if(OrderType()!=eType) continue;
      return(true);
      }
   return(false);
   }
bool b=FindOrder(OP_BUY,Magic,Symbol());
if(b)
   {
   
   }
 
s4sha45 :

Hepinize iyi günler! youtube video örneklerini kullanarak basit bir ticaret robotunun nasıl yazılacağını öğrenmeye yeni başladım. İlkinin benim için açılması için bir senaryo yazmak istiyorum   bir satın alma siparişi , ve başka açık siparişim yoksa açılmalı, komut dosyası bunu yazdı, ancak sipariş açılmıyor, hata nedir, lütfen söyleyin!

<

 void OnTick ()

  {

   if ( OrdersTotal ()== 0 )   int ticket= OrderSend ( Symbol (),OP_BUY,Lot1,Ask,Slippage,StopLoss,TakeProfit, "My order" ,MagicNumber, 0 , clrGreen );

  }

Al, sat, stop veya limit emri olmadığı halde emir açmanız gerekiyorsa.

 OrdersTotal ()
Kapanan siparişler dikkate alınmaz.
 
Александр :

Al, sat, stop veya limit emri olmadığı halde emir açmanız gerekiyorsa.

Kapanan siparişler dikkate alınmaz.
Sayesinde!
 

İyi akşamlar! Şu soru ortaya çıktı: her bir işaretteki piyasa fiyatlarını belirli bir csv dosyasındaki (7 sütun) fiyatlar ile karşılaştırmak gerekiyor, ayrıca emirler seriler halinde gruplandırılıyor ve her serideki emir sayısı isteğe bağlı olabilir. Neyin daha hızlı olacağını anlamak istiyorum: başlatma sırasında her sipariş için tüm verileri içeren bir dizi oluşturmak için zaman harcayın ve ardından bir onay işaretiyle dizi üzerinde yineleyin veya her seferinde dosyayı açın ve her şeyi imlece itin. Yaklaşık olarak dosyaya ve diziye erişim süresi ilginç, ne kadar zaman kazanacağım. Teşekkür ederim!

 
Karomos :

İyi akşamlar! Şu soru ortaya çıktı: her bir işaretteki piyasa fiyatlarını belirli bir csv dosyasındaki (7 sütun) fiyatlar ile karşılaştırmak gerekiyor, ayrıca emirler seriler halinde gruplandırılıyor ve her seridekiemir sayısı isteğe bağlı olabilir. Neyin daha hızlı olacağını anlamak istiyorum: başlatma sırasında her sipariş için tüm verileri içeren bir dizi oluşturmak için zaman harcayın ve ardından bir onay işaretiyle dizi üzerinde yineleyin veya her seferinde dosyayı açın ve her şeyi imlece itin. Yaklaşık olarak dosyaya ve diziye erişim süresi ilginç, ne kadar zaman kazanacağım. Teşekkür ederim!

Yazdıkları çok net değil ama belleğe erişmek kesinlikle bir dosyadan okumaktan daha hızlı.

 

Merhaba. Söyle bana, danışmanın parametre penceresini PROGRAMA çağırmak mümkün mü?

Bunun neden gerekli olduğunu açıklayayım. Sorun şu ki, parametreleri bildirirken sadece sabitlerle başlatılabilirler ve önce onları belirli bir algoritmaya göre hesaplamak istiyorum.

Danışmanın parametrelerinde BUY_STOP ve SELL_STOP seviyelerim var. Aslında, çoğu durumda EA bu seviyeleri kendisi hesaplayabilir, sadece doğruluğunu kontrol etmem gerekiyor.

Bu nedenle, EA'nın başlangıçta bu seviyeleri hesaplamasını, bunları parametrelerle değiştirmesini ve parametreler penceresini ekranda görüntülemesini istiyorum. Seviyeler doğruysa, Tamam'a tıklıyorum ve ardından EA normal çalışıyor. EA, seviyelerin tanımında bir hata yaptıysa, onları doğru değerlere göre düzeltirim. Parametreler penceresini programlı olarak görüntülemek mümkün değilse, Uzman Danışmanın parametreler penceresini görüntülemeden ÖNCE parametreleri bir şekilde başlatmanın mümkün olup olmadığını söyleyin (bunları hesaplamak için bir fonksiyon yazdım).

 

Sevgili uzmanlar!

Lütfen siparişi nasıl bulacağımı söyle.

Durum şu:

- danışman aynı anda 2 sipariş açar. SL aynı, TP ayarlı değil.

- Ayrıca, belirli koşullar altında danışman ilk siparişi kapatır ve ikincisinin SL'sinin düzeltilmesi gerekir.

Soru - ikinci sıra nasıl bulunur?

Sorun, bu tür birkaç çiftin açılabilmesidir. Ancak farklı çiftler için açılış saati kesinlikle farklıdır.


Anladığım kadarıyla birçok seçenek var. Nasıl daha kolay ve daha doğru hale getirilir?

Yorumlara bilet yazmak istemiyorum çünkü. komisyoncu bunun üzerine yazabilir.

Prensip olarak, ikinci sıraya başka bir sihir yerleştirilebilir. Ama bu yine de sorunu çözmüyor.

Açılış saatine veya fiyata göre arama yapabilirsiniz. Ama ikinci siparişin aynı fiyattan açılacağının garantisi nerede?

ne tavsiye edersin

 

MT5 göstergesi iki renkte bir çizgi çizer .

Satır değerleri bir arabellektedir.

Göstergeden değer istenirken çizginin rengini bir şekilde belirlemek mümkün müdür?