MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 197
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Harici bir göstergeyle çalışma hakkında bir video izledim, test cihazındaki arabellek değerlerini görüntülemek için küçük bir kod yazdım:
geçersiz OnTick()
{
double Buf1=iCustom(NULL,0,"Shved-Supply-and-Demand-e600",0,1);
double Buf2=iCustom(NULL,0,"Shved-Supply-and-Demand-e600",1,1);
double Buf3=iCustom(NULL,0,"Shved-Arz-ve-Talep-e600",2,1);
double Buf4=iCustom(NULL,0,"Shved-Arz-ve-Talep-e600",3,1);
Comment("Buf1=",Buf1,"\n", "Buf2=",Buf2,"\n","Buf3=",Buf3,"\n","Buf4=",Buf4);
}
Görüntüleme modundaki bölgeler görünür ve kaybolur. Ve tamponların değeri hep aynı, her zaman sıfır. Bu bölgeleri kodda resmileştirmek gerçekten imkansız mı?
Belki iCustom'un yanı sıra bu tür göstergeler için uygun olan bazı işlevler vardır? Belki birileri benzer göstergelere sahip baykuşlar yazdı?
Gösterge arabellekleriyle hiçbir şekilde, fraktal değerleri depolarlar.
Gösterge özelliklerinde fraktals_show = true; onları grafikte göreceksin
Bölgeler, grafik nesnesi OBJ_RECTANGLE
kullanarak bu bölgelerin anlamını öğrenebilirsiniz.
ObjectGet
Belirtilen nesne özelliğinin değerini döndürür.
çift ObjectGet (
sicim nesne_adı , // nesne adı
int dizin // özellik tanımlayıcısı
);
Bir döngüde, tüm nesneleri gözden geçirirsiniz, ihtiyacınız olanı ve yolu bulursunuz.
Yaklaşık olarak böyle bir şey.
Biliyorsunuz, tam bu başlıkta, kendisine iletilen gösterge değerini hesaplamalarında kullanan trol için bir şablon yayınladım. Arayın tembel olmayın.
Açık pozisyonların karı için doğru takibe ihtiyacım var. sonuçta bunlardan 1 veya 3 tane vardır ve bunlar Step adımının değeriyle, yani dur-açma sistemiyle bağlantılıdır. Bu nedenle karmaşıklık ve belki de tam tersi, CalculateProfit() işlevini kullanarak tüm siparişleri takip etmek daha kolaydır. Şimdi, bu emirlerle çalışma şemasında, göstergenin değerinin, açık pozisyonların toplam karı ile takip ile nasıl ilişkilendirilebileceğini anlayamıyorum.
Açık pozisyonların karı için doğru takibe ihtiyacım var. sonuçta bunlardan 1 veya 3 tane vardır ve bunlar Step adımının değeriyle, yani dur-açma sistemiyle bağlantılıdır. Bu nedenle karmaşıklık ve belki de tam tersi, CalculateProfit() işlevini kullanarak tüm siparişleri takip etmek daha kolaydır. Şimdi, bu emirlerle çalışma şemasında, göstergenin değerinin, açık pozisyonların toplam karı ile takip ile nasıl ilişkilendirilebileceğini anlayamıyorum.
Sonuçta bir gösterge, değeri, yalnızca istenen çubuktaki Mashki'nin değeri olamaz. Pozisyonların toplam stopunu hareket ettirmek için hesaplanan fiyat değerini takip edene geçmek mümkündür.
Ancak, açık pozisyonların kârı için ne tür bir iziniz olduğu belli değil - tam olarak neyi ve ne zaman takip ediyor.
Tüm yollar burada. TrailingFuncLib.mq4 dosyasından TrailingStairs - TRAILING STANDARD-STAGED işlevini alıyorum. Her sipariş bağımsız olarak takip edilir.
Sonuçta bir gösterge, değeri, yalnızca istenen çubuktaki Mashki'nin değeri olamaz. Pozisyonların toplam stopunu hareket ettirmek için hesaplanan fiyat değerini takip edene geçmek mümkündür.
Ancak, açık pozisyonların kârı için ne tür bir iziniz olduğu belli değil - tam olarak neyi ve ne zaman takip ediyor.
Prensip olarak, evet, bir zamanlar ortalama bir fiyata trol avlamam teklif edildi. Her şey mantıklı görünüyor, ancak ortalama fiyat ne anlama geliyor? Bu (1 sipariş fiyatı + Adım*Puan + (2 sipariş fiyatı + Adım*Puan) + 3 sipariş fiyatı) / 3 ? Yani, birçok parametre var - açık pozisyonları ve her pozisyonun mevcut fiyatını aramanız gerekiyor. Evet, genel olarak, bu takip beni EA'nın testlerde birleşmesi gerçeği kadar rahatsız etmiyor. Gerçek hayatta da böyle olacak. Hayır, kurabilirsiniz ama yine döviz grafiğinin bir hafta veya bir ayda ne kadar ciro alacağını bilmiyoruz, yani tek bir zayıflık var - 3 emir açıksa ve piyasa karşıysa - hareket eder - danışman bir düşüşten birleşir. Bu nedenle, mevduat sıfıra sıfırlanmadan önce, düşüşü sınırlamayı ve pozisyonları kapatmayı düşünmeniz gerekir. Kısacası, şu anda en çok Fox ile ilgileniyorum)))
Bunu kendim de düşünemiyorum ve belirli bir bilgi de bulamadım ((Bunun özü, fiyat sınırlarını, göstergenin oluşturduğu en yakın bölgeleri kodda belirtmektir. Kodu yazmaya başladım, ancak Kafam karıştı ve doğru yapıp yapmadığımı bilmiyorum, bir göz atın ve doğru yolu gösterin lütfen.
int obj_total=ObjectsTotal();
string name;
for(int i=0;i<obj_total;i++)
{
name = ObjectName(i);
if(ObjectType(name)==OBJ_RECTANGLE)
{
pr1=ObjectGet(name,OBJPROP_PRICE1);// верхняя цена зоны
pr2=ObjectGet(name,OBJPROP_PRICE2);// нижняя цена зоны
}
}
Anladım - görünüşe göre terminalin yeterli belleği yoktu - birkaç tabloyu kapattım ve işe yaradı.
Teşekkürler - gerçekten de hesaplamalar yapılıyor.
Değişkenler int türünde değil de bool türündeyse, ne yapmalı?
Üzgünüm ama bu kod öncekinden farklı mı?
Farklılıklar minimumdur. Değişkenlerden biri booleandır.
Çıktı doğru veya yanlış diyecek
Farklılıklar minimumdur. Değişkenlerden biri booleandır.
Çıktı doğru veya yanlış diyecek