[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 118
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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.
a=true ve b=true koşullarında bekleyen iki emir (BuyStop ve SellStop) açmak için bir kod yazdım ve bir süre sonra danışman ikinci bir sinyal görünene kadar her iki emri de kapatır, ancak bazen danışman 2 bekleyen emir açar aynı yön. Bu neden oluyor ve bu "hata" nasıl önlenir?
if (a=true && b=true)
{
int OrderCount = OrdersTotal();
if (OrderCount>1) return(0);
bilet1=OrderSend(Symbol(), OP_BUYSTOP, getLot(), PriceOpen_Buy, kayma, PriceOpen_Sell,0,0,Green);
uyku(1000);
bilet2=OrderSend(Symbol(), OP_SELLSTOP, getLot(), PriceOpen_Sell, kayma, PriceOpen_Buy,0,0,Green);
Uyku(1000*59*Zaman Çerçevesi);
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUYSTOP ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELLSTOP ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELL ) OrderClose(OrderTicket(),OrderLots(),Ask,slippage);
if (OrderType()==OP_BUY ) OrderClose(OrderTicket(),OrderLots(),Bid,slippage);
}
dönüş(0);
}
Lütfen bana söyle.
Şimdiden teşekkürler
Merhaba,
Ayarlarda sabit 1: 1 ölçekli bir grafiğin mümkün olduğunu bir uzmana yazmak mümkün mü?
Mümkünse lütfen bana nasıl olduğunu söyleyin.
Şimdiden teşekkürler.
Bu kütüphane olabilir.
Bölüm "3.3. Grafik özelliklerini ayarlama işlevleri" işlevi ServiceSetScaleFix1To1 () .
Kütüphane yalnızca Rusça ve İngilizce yerelleştirmelerle çalışır. Belki seninki de olur.
İşte sipariş açma işlevi:
İşte parametrelerin bir çıktısı:
Burada açıkça görülmektedir ki TP ve SL fiyatları sırasıyla alış ve alış fiyatının altında ve üstündedir, yani. her şey doğru. Ancak bazı nedenlerden dolayı, yanlış bir durma nedeniyle bir değişiklik hatası oluşur. Nasıl yani?
İşte sipariş açma işlevi:
İşte parametrelerin bir çıktısı:
Burada açıkça görülmektedir ki TP ve SL fiyatları sırasıyla alış ve alış fiyatının altında ve üstündedir, yani. her şey doğru. Ancak bazı nedenlerden dolayı, yanlış bir duruş nedeniyle bir değişiklik hatası meydana gelir. Nasıl yani?
Küfürün ne için olduğunu bile okudun mu?
Çağrılan fonksiyona geçirilen parametrelere bakın o zaman hiçbir şey net değil o zaman bütün dünya ile ilgileneceğiz efendim...
not. Bekleyen bir sipariş verirken, satır
if (price < Bid)
tamamen uygun değil. MarketInfo(Symbol(), MODE_STOPLEVEL) içinde belirtilen izin verilen minimum mesafeye uygunluğu kontrol etmeniz gerekir. Hemen gözüme çarpan ilk şey.
İkincisi - siparişin verildiği fiyatı yazdırın. Dur ve Al, Sor ve Bid'e göre değil, sipariş verme fiyatına göre yerleştirilmelidir.
Bu kütüphane olabilir.
Bölüm "3.3. Grafik özelliklerini ayarlama işlevleri" işlevi ServiceSetScaleFix1To1 () .
Kütüphane yalnızca Rusça ve İngilizce yerelleştirmelerle çalışır. Belki seninki de olur.
Küfürün ne için olduğunu bile okudun mu?
Çağrılan fonksiyona geçirilen parametrelere bakın işte o zaman hiçbir şey net değil o zaman bütün dünya ile ilgileneceğiz hocam...
Tabii ki okudum ve bu yüzden ilginç oldu. Tüm giriş parametrelerini yazdırdım.
İşte olanlar:
Bu günlükte ne var:
Bazı siparişler değiştirilir ve bazıları değiştirilmez. En baştaki ND(TP) , ND(SL) değerleri genellikle nasılsa döndürülür. Niye ya?
Bu arada normalleştirme işlevi benimki:
Küfürün ne için olduğunu bile okudun mu?
Çağrılan fonksiyona geçirilen parametrelere bakın işte o zaman hiçbir şey net değil o zaman bütün dünya ile ilgileneceğiz hocam...
not. Bekleyen bir sipariş verirken, satır
if (price < Bid)
tamamen uygun değil. MarketInfo(Symbol(), MODE_STOPLEVEL) içinde belirtilen izin verilen minimum mesafeye uygunluğu kontrol etmeniz gerekir. Hemen gözüme çarpan ilk şey.
Genellikle, açarken değil, siparişleri değiştirmek için bu tür kontroller gördüm. Sonuçta, bir durak için işten çıkarma fiyatını belirlerken fiyat Sor'dan düşükse, bu bir hata olacaktır, bunu çoktan geçtim. Ve eğer 10pp. dur, o zaman durma seviyesi değerinden açıkça daha yüksektir. Ben kene ticareti yapmıyorum :)
İkincisi - siparişin verildiği fiyatı yazdırın. Dur ve Al, Sor ve Bid'e göre değil, sipariş verme fiyatına göre yerleştirilmelidir.
Sanırım bu değişiklik için mi? Sonuçta açılışta BID ve ASC bizim için önemli. Yukarıdaki yazıda her şeyi anlattım.
Tünaydın,
Uzmanın aynı anda birkaç pencerede çalışmasını sağlamak istiyorum. Ancak her enstrüman için sadece bir sipariş açılabilir. Yani şimdi durum:
int toplam = SiparişlerToplam();
if (toplam<1) {analiz ve poz açma bloğu} else {analiz ve poz kapatma bloğu}
şimdi, aynı anda iki cihaz üzerinde ise, biri açılırken diğerinde çalışma engellenecektir. Bu yüzden şöyle bir şey yazdım:
int toplam = SiparişlerToplam();
int cnt;
if(toplam>0)
{
for(cnt=0;cnt<toplam;cnt++)
{
OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol())
{
Symbol_FLAG = doğru;
}
}
}
if(total<1 || total>0 && Symbol_FLAG == false) {ntposes'u analiz etmek ve açmak için blok}...
ama test cihazında çalışmıyor.
Söyler misin, belki de gerçekleştirilemez bir şeye başladım?