KimIV'ten faydalı özellikler - sayfa 114
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
Tünaydın.
Programlamada yeniyim, belki biri bana yardım edebilir.
Soru. Bir veya daha fazla açık sipariş var, bunların örneğin 20$'lık bir kârla kapatılacağı biliniyor.
20$'lık bir kârla siparişlerin hangi fiyattan kapatılacağını öğrenmeniz gerekiyor.
Açık lotların toplam hacmini hesaplıyoruz ve sonra?!
Bana nasıl yapacağımı söyleme.
Belki zaten hazır bir işlev vardır?
Şimdiden teşekkürler.
DistMarketAndPos() işlevini kullanma örnekleri.
Piyasanın ona en yakın konumdan ne kadar uzakta olduğunu belirleyen bir fonksiyona neden ihtiyacınız olsun ki? En az dört ana seçenek görüyorum:
not. Listelenen seçeneklerden herhangi birinin özel bir uygulamasına ihtiyaç duyan biri varsa, uygulamaları buraya yazın. Yukarıda saydıklarım çerçevesinde tüm isteklerimi yerine getireceğim.
ZY-ZY. Fragman, DistMarketAndPos() işleviyle deneme yapmak için bir komut dosyası içerir.
Merhaba KimIV, fonksiyon çok iyi çalışıyor, ters çeviriyorum, çalışıyor ama iki yarımı birleştiremiyorum.
int start()
{
if (DistMarketAndPos()>150)
{
OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,Ask+150*Point);
}
return(0);
}
int DistMarketAndPos(string sy="", int op=OP_BUY, int mn=-1) {
double d, p;
int i, k=OrdersTotal(), r=1000000;
if (sy=="" || sy=="0") sy=Symbol();
p=MarketInfo(sy, MODE_POINT);
if (p==0) if (StringFind(sy, "")<0) p=0.00001; else p=0.01;
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if ((OrderSymbol()==sy) && (op<0 || OrderType()==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
if (OrderType()==OP_BUY) {
d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
if (r>d) r=NormalizeDouble(d, 0);
}
if (OrderType()==OP_SELL) {
d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
if (r>d) r=NormalizeDouble(d, 0);
}
}
}
}
}
return (r);
}
Message() işlevinin yeni sürümü.
Uyarı ve Yazdır çıktı yönergeleri hakkında (bilinlik 1 ve 3), bir mesajı satır satır görüntüleyebileceklerine dikkat edilmelidir. Yani, mesaj metninde bir satır sonu varsa - "\n" kontrol karakteri, o zaman her satır bağımsız olarak görüntülenecektir. Ekteki test senaryosunu deneyin, beğeneceğinizi düşünüyorum :-)
Message() işlevinin yeni sürümü.
Uyarı ve Yazdır çıktı yönergeleri hakkında (bilinlik 1 ve 3), bir mesajı satır satır görüntüleyebileceklerine dikkat edilmelidir. Yani, mesaj metninde bir satır sonu varsa - "\n" kontrol karakteri, o zaman her satır bağımsız olarak görüntülenecektir. Ekteki test senaryosunu deneyin, beğeneceğinizi düşünüyorum :-)
OpenPosition işlevinize bir durma düzeyi kontrolü eklediniz mi?
hayır... ne tür bir çek demek istiyorsun? Peki dur kalk kontrolden geçemedi diyelim ne yapmalıyım? Seçenekler var:
hayır... ne tür bir çek demek istiyorsun? Peki dur kalk kontrolden geçemedi diyelim ne yapmalıyım? Seçenekler var:
Test komut dosyasındaki OpenPosition() işlevinin yeni sürümü.
Ne var ne yok?
1. 130 Hatalı duraklar ve NumberOfTry>1 değişkeninin değeri durumunda, fonksiyon StopLoss ve TakeProfit fiyat seviyelerini OP_SELL için Teklif'e ve OP_SATIN AL'a göreli MODE_STOPLEVEL+MODE_SPREAD değerine ayarlamaya çalışacaktır.
Yorum:
Fiyat seviyelerinin düzeltilmesi için, NumberOfTry global değişkeninin değeri 1'den büyük olmalıdır . Bunun nedeni, bir pozisyon açmaya yönelik ilk denemenin 130 hatasını tespit edip fiyat seviyelerini düzeltmesi, ikinci ve sonraki denemelerin ise bir pozisyon açma denemesidir. ayarlanan seviyeler ile pozisyon.
Tünaydın.
KimIV'ten faydalı işlevler kitaplığını aşağıdakiler gibi bazı basit işlevlerle desteklemek mümkün müdür:
1. Bazı kriterlere göre seçilen açılış fiyatı pozisyon (sembol, tip, parti büyüklüğü, sihirli sayı). Bu fiyat, global değişkenlerde saklanabilir ve oluşturabileceğiniz bir fiyat seviyesi olarak kullanılabilir. danışman algoritması.
2. Bazı kriterlere göre seçilen bir bileti döndürür pozisyonlar veya siparişler (sembol, tip, parti büyüklüğü, sihirli sayı). Bilet önemli tanımlayıcı, her yerde ve hatta bir varlık bayrağı olarak kullanılabilir.
Bu kadar basit işlevler ne kadar çok olursa, seçim yapmak o kadar kolay olacaktır. en çok Kendiniz için en uygun olanları, mevcut olanları değiştirirken hata yapmayacağınızdan korkmadan.
Özellikleriniz için teşekkür ederiz.