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

 
yaaarik777 :

İyi akşamlar!

Lütfen kodu yazmama yardım edin, kendim yapamayacağımı hissediyorum, özü şu:


Sonuç olarak şudur: burada bu başlıkta ıstıraba ve arayışa yardım ediyorlar.
Bunu sizin için yapmanız gerekiyorsa - o zaman bu serbest çalışmadır. Ve yardım etmek için, ne elde etmek istediğinizi söylemeniz, ne yaptığınızı göstermeniz ve neyin işe yaramadığını açıklamanız gerekir.
 
Maxim Kuznetsov :
Sonuç olarak şudur: burada bu başlıkta ıstıraba ve arayışa yardım ediyorlar.
Bunu sizin için yapmanız gerekiyorsa - o zaman bu serbest çalışmadır. Ve yardım etmek için, ne elde etmek istediğinizi söylemeniz, ne yaptığınızı göstermeniz ve neyin işe yaramadığını açıklamanız gerekir.


Sonuç olarak, danışmanın terminaldeki tüm çiftlerin toplamını değil, yalnızca belirli bir çiftin siparişlerini saymasını nasıl sağlayacağımı anlamıyorum.

Yapabiliyorsanız, bana bir fikir veya kod örneği verin, çünkü ders kitapları neyin ve nasıl çalıştığını ayrı ayrı açıklar, ancak çok fazla spesifik örnek yoktur.

Yardımın için minnettar olacağım.

teşekkür etmek.

 
Merhaba.
Eh, uzun zamandır dama almadım. ve tekrar aldığımda ortaya çıktı ki

oynamayı öğrendim.
Lütfen yardım et.
Rosh'tan ZigZag göstergesini kullanan iyi bir eski danışman var.
ve bir İsviçre saati gibi çalışır.
Metnin altında alıntıladığım danışmanı indirmemek için Kod tarafından eklenmiştir.

Danışmanın fikri, siparişlerin şu anda açılıp kapanmasıydı.

farklı ZigZag'lerin eşleşmeleri.
Şimdi Rosh'tan gelen göstergeyi bir başkasıyla değiştirmem gerekiyor.

göstergesi, aynı zamanda MT3'ten bu yana ZigZag'ın ilk sürümlerinden biri.
Ancak bu göstergenin farklı bir ZigZag çizim algoritması vardır.

Onu da ekledim. Göstergenin adı High_Low v2 (ZigZag), (nedense ekte adı yanmış)

Rastgele, bazen işe yaradı, sadece koşulları değiştirdim
double zz1 = iCustom(NULL, 60, "ZigZag_Rosh",12, 5, 3, 0, 0);
double zz2 = iCustom(NULL, 60, "ZigZag_Rosh",48, 20, 12, 0, 0);
üzerinde
double zz1 = iCustom(NULL, 0, "Yüksek_Düşük v2 (ZigZag)",300, 6, 0, 0);

double zz2 = iCustom(NULL, 0, "Yüksek_Düşük v2 (ZigZag)",300, 6, 0, 0);

‌Yani, bir özel göstergenin adını değiştirdim ve

parametrelerden diğerine. Fraktallar söz konusu olduğunda, diyelim ki buna sahibim

geçti.
Parametreleri aynı ayarladım çünkü ikisinin eşleşmesi gerekmiyor

Zigzaglar, ancak yalnızca değişmesi gerçeğine ihtiyaç var.
Tüm TF'lerde çalışması için sayı 60 olarak 0 olarak değiştirildi.

Değiştirmeden sonra danışman hatasız derlendi, ancak kurulduğunda

program kategorik olarak çalışmak istemiyor.Ayrıca test cihazında da test ediliyor

istemiyor.

Soru - sorun ne?
Ve başka bir soru nasıl?
Teşekkürler, büyük metin için özür dilerim.


//+------------------------------------------- --------------------+
//| ZZ.mq4 |
//| Telif Hakkı © 2011, MetaQuotes Yazılım A.Ş. |
//| http://www.metaquotes.net |
//+------------------------------------------- --------------------+
#property telif hakkı "Telif hakkı © 2011, MetaQuotes Software Corp."
#özellik bağlantısı "http://www.metaquotes.net"

#include <stdlib.mqh>

#define MAGIC 20110220

harici çift Kar Al = 50;
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| Açık pozisyonları hesaplayın |
//+------------------------------------------- --------------------+
int CalculateCurrentOrders(dize sembolü)
{
int konum=0;
//----
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış) ara;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL) pos++;
}
}
//---- iade sipariş hacmi
if(kon>0) dönüş(konum);
}
//+------------------------------------------- --------------------+
//| Açık sipariş koşullarını kontrol edin |
//+------------------------------------------- --------------------+
geçersiz CheckForOpen()
{
iç;

//---- ZZ'yi al
double zz1 = iCustom(NULL, 60, "ZigZag_Rosh",12, 5, 3, 0, 0);
double zz2 = iCustom(NULL, 60, "ZigZag_Rosh",48, 20, 12, 0, 0);
//---- satın alma koşulları
if(KarşılaştırÇiftler(zz1,Düşük[0]) &&Çiftleri Karşılaştır(zz2,Düşük[0]))
{

res=SiparişGönder(Symbol(),OP_BUY,1,Sor,3,0,Ask+TakeProfit*Puan,"",MAGIC,0,Bl

ue);
dönüş;
}
//---- satış koşulları
if(KarşılaştırÇiftler(zz1,Yüksek[0]) &&Çiftleri Karşılaştır(zz2,Yüksek[0]))
{

res=SiparişGönder(Symbol(),OP_SELL,1,Teklif,3,0,Teklif-AlKar*Noktası,"",MAGIC,0,Re

d);
dönüş;
}

//----
}
//+------------------------------------------- --------------------+
//| Yakın sipariş koşullarını kontrol edin |
//+------------------------------------------- --------------------+
geçersiz CheckForClose()
{
//---- ZZ'yi al
double zz1 = iCustom(NULL, 60, "ZigZag_Rosh",12, 5, 3, 0, 0);
double zz2 = iCustom(NULL, 60, "ZigZag_Rosh",48, 20, 12, 0, 0);
//----
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış) ara;
if(OrderMagicNumber()!=MAGIC || OrderSymbol()!=Symbol()) devam ediyor;
//---- sipariş tipini kontrol et
if(OrderType()==OP_BUY)
{
if(KarşılaştırÇiftler(zz1,Yüksek[0]) &&Çiftleri Karşılaştır(zz2,Yüksek[0]))

OrderClose(OrderTicket(),OrderLots(),Bid,3,Beyaz);
kırmak;
}
if(OrderType()==OP_SEL)
{
if(KarşılaştırÇiftler(zz1,Düşük[0]) &&Çiftleri Karşılaştır(zz2,Düşük[0]))

OrderClose(OrderTicket(),OrderLots(),Ask,3,Beyaz);
kırmak;
}
}
//----
}
//+------------------------------------------- --------------------+
//| başlatma işlevi |
//+------------------------------------------- --------------------+
geçersiz başlangıç()
{
//---- geçmişi ve ticareti kontrol et
if(Bars<100 || IsTradeAllowed()==yanlış) dönüş;
//---- açık siparişleri mevcut sembole göre hesapla
if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
başka CheckForClose();
//----
}
//+------------------------------------------- --------------------+













MetaQuotes Software Corp.
MetaQuotes Software Corp.
  • www.metaquotes.net
Торговая платформа MetaTrader 5 - это бесплатный инструмент трейдера, позволяющий торговать на форексе и фондовых биржах.
Dosyalar:
 
yaaarik777 :


Sonuç olarak, danışmanın terminaldeki tüm çiftlerin toplamını değil, yalnızca belirli bir çiftin siparişlerini saymasını nasıl sağlayacağımı anlamıyorum.

yapabilirsen bana bir fikir veya kod örneği ver, çünkü ders kitapları neyin ve nasıl çalıştığını ayrı ayrı açıklar, ancak çok fazla spesifik örnek yoktur.

Yardımın için minnettar olacağım.

teşekkür etmek.

CodeBase'e göz atmaktan çekinmeyin - her EA'nın bir sipariş döngüsü vardır :-)

örneğin https://www.mql5.com/ru/code/16588 (ilk rastlanan)

  for ( int index = orders- 1 ; index >= 0 ; index--)
      {
       if ( OrderSelect (index, SELECT_BY_POS , MODE_HISTORY )== false )
         {
         Print ( "Error in history!" );
         break ;
         }
       if ( OrderSymbol ()==symbol && OrderMagicNumber ()==MAGICMA)
         {
         if ( OrderType ()== OP_BUY || OrderType ()== OP_SELL )
            {
             if ( OrderProfit ()> 0 ) break ;
             if ( OrderProfit ()< 0 ) losses++;
            }
         }
      }

‌" if ( OrderSymbol ()==symbol && OrderMagicNumber ()==MAGICMA)" koşulu yalnızca belirli bir sembol ve belirli bir MAGIC ile siparişleri seçer

PS/ yukarıdaki kopyala-yapıştır kodunda, ‌OrderSelect hatası durumunda break tam olarak doğru değil, devam etmek daha doğrudur (siparişin neden seçilmediğini asla bilemezsiniz, belki bazı dahili MT mekanizmasında bir sorun vardır , ancak bir sonraki atlanmayacak)

Middle Moving Average
Middle Moving Average
  • oylar: 6
  • 2016.10.18
  • Dmitriy Kudryashov
  • www.mql5.com
Вариант советника, основанного на среднем значении цены для расчета Moving Average.
 
Maxim Kuznetsov :

CodeBase'e göz atmaktan çekinmeyin - her EA'nın bir sipariş döngüsü vardır :-)

örneğin https://www.mql5.com/ru/code/16588 (ilk rastlanan)

Sadece kod tabanında değil, forumdaki iki konudan birinde, aramaya başlamak önemlidir ve farklı yorumlarda yüzden fazla olacaktır.
 
teşekkür ederim ziyaret edeceğim
 

Selam beyler!!! satın almak veya satmak için bir ticaret sinyali döndürecek bir fonksiyon yazmama yardım edin. MQL'de barlarla nasıl çalışacağımı hala bilmiyorum (nasıl yapacağımı çok fazla bilmeme rağmen!).

şart şudur: Ana çubuk, içinde, yani yüksek ve düşük içinde, kapanış fiyatı olan çubukların bulunduğu bir çubuktur (bu önemlidir!!! tam olarak kapanış fiyatı.) şimdi bu çubuk ana çubuk olur. !

Ana çubuğun kapanış fiyatı açılış fiyatından yüksekse, bir satın alma sinyali döndürürüz.

‌Eğer‌ana çubuğun kapanış fiyatı açılış fiyatından düşükse, o zaman bir satış sinyali veririz.

Zaman çerçevesini harici bir değişkende ayarlamak çok önemlidir.

‌ Ama şimdi en azından benim için sorun haritadaki son şah matını nasıl bulacağım. bar??? Evet, görsel olarak hemen görebiliyorum!....

‌Son Anne çubuğunun indeksini harici bir değişkende belirtmek benim için uygun olur ve ardından fonksiyon ondan dans etmeye başlar veya başka bir seçenek, örneğin 50 indeksli bir çubuk almak ve döngüye girmektir. sıfır.

‌ Yalvarırım öksüze yardım et!!!

 

Tünaydın!

Bir fikir önerin. Bu fiyattan bir emir zaten açıksa, danışmanın bir emir açamaması gerekir. Doğrulama nasıl uygulanır?

 
Kot :

Tünaydın!

Bir fikir önerin. Bu fiyattan bir emir zaten açıksa, danışmanın bir emir açamaması gerekir. Doğrulama nasıl uygulanır?

Zor görev. Umutsuzluktan, kaymayı düşünerek, istenen_fiyat/_Point'e sihirli emirler verdim

Mql5'te daha kolay, fiyatı beyan edilene uymayan bir pozisyon var ve talep edilen fiyatla bir emir var.

 
Kot :

Tünaydın!

Bir fikir önerin. Böyle bir fiyattan bir emir zaten açıksa, danışmanın bir emir açamaması gerekir. Doğrulama nasıl uygulanır?


Her emrin açılış fiyatını belirtilen fiyat değeri ile karşılaştırdığınız bir emir döngüsü yazın, eğer eşleşme varsa yeni emir bayrağını kaldırmayın.