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
NumberOfBarCloseLastPos() işlevi.
Bu işlev, son konumun kapatma çubuğunun numarasını veya -1 değerini döndürür. Dikkate alınacak pozisyonların seçimi harici parametreler tarafından belirlenir:
- sy - Piyasa aracının adı. Bu parametreyi ayarlarsanız, işlev yalnızca belirtilen takımın konumlarını dikkate alacaktır. Varsayılan değer - NULL , mevcut piyasa aracı anlamına gelir.
- tf - Zaman çerçevesi. Varsayılan değer - 0 , geçerli zaman çerçevesi anlamına gelir.
- op - Ticaret işlemi, pozisyon türü. Geçerli değerler: OP_BUY , OP_SELL veya -1 . Varsayılan değer -1 , herhangi bir konum anlamına gelir.
- mn - Konum Kimliği, MagicNumber. Varsayılan değer -1 , herhangi bir tanımlayıcı anlamına gelir.
not. Ekli, NumberOfBarCloseLastPos() işlevini test etmek için bir komut dosyasıdır.DeleteOrders() işlevi. Test sürümü.
DeleteOrders() işlevi BuyLimit, BuyStop, SellLimit ve SellStop bekleyen siparişleri silmek için tasarlanmıştır. op - İşlem tipi, bekleyen emir tipi. Beş değerden biri mümkündür: -1, OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT veya OP_SELLSTOP. Varsayılan değer -1, herhangi bir sipariş anlamına gelir.
mn - MagicNumber, bekleyen siparişin kimlik numarası. Varsayılan değer -1, herhangi bir sihir anlamına gelir.
Merhaba. Sayfa 10'da bu işlev kullanıma sunulmuştur.
Depozitoları kaldırmak için Uzman Danışmanımda kullandım. Daha doğrusu kullanmak istedim. Fonksiyonu int başlangıç bölümünün dışına yerleştirdi
ve takılı
Ama derlerken bir hata alıyorum
'clDelete' - değişken tanımlanmadı C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (1155, 40)
Hatayı nasıl düzeltebilirim? clDelete nedir
Ve ClosePositions() işlevini kullandığımda - Pozisyonları piyasa fiyatından kapatıyorum, her şey yolunda - hatasız!
/ DeleteOrders işlevini ekleseniz ve henüz uygulamasanız bile, bu hata hala derleniyor!
Ama derlerken bir hata alıyorum
'clDelete' - değişken tanımlanmadı C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (1155, 40)
Hatayı nasıl düzeltebilirim? clDelete nedir
Aynı yerde, ekte 10. sayfada test_DeleteOrders.mq4 dosyası var.
İndirin ve içindeki tüm clDelete sözlerini arayın.
İndirildi ve baktı! Böylece? Sadece bu çıkıyor ve sadece kapat simgesinin rengini ayarlamanız gerekiyordu!
Ama şimdi yine her şey yolunda değil. Şimdi bu hata gitti. AMA bir tane daha belirdi - zaten ClosePositions () işlevinde, bir hata - bu daha önce yoktu.
'ClosePosBySelect' - fonksiyon tanımlı değil C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (905, 47)
Ve orada bakılacak bir senaryo yok (s. 14)
Hatayı nasıl düzelteceğimi söyler misin?
'ClosePosBySelect' - fonksiyon tanımlı değil C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (905, 47)
Bu hata, ClosePosBySelect() işlevinin tanımlı olmadığı anlamına gelir.
Hatayı nasıl düzelteceğimi söyler misin?
Sizi tekrar rahatsız ettiğim için özür dilerim! ClosePositions()'ın yanına belirttiğiniz ClosePosBySelect() fonksiyonunu koydum ve derlemeden sonra zaten altı hata vardı! Eh, kötülük yeterli değil!
Dört, kendi başıma yaptım. Kayma, renk, kapatma deneme sayısı .... İki hata kaldı, -
ses dosyaları -
'UseSound' - değişken tanımlanmadı C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (1002, 13)
'NameFileSound' - değişken tanımlanmadı C:\Program Files\MetaTrader - Alpari\experts\0005.mq4 (1002, 33)
Onları nereden almalı? Nereye koymak?
Well extern bool UseSound = false;//Switch
PROPERTIES EXPERT ve NameFileSound'u koyacağım - bu nedir? ve nereye götürülür?
******************************************************* ***** *******************************
Bulundu ve küresel olarak yerleştirildi
Ve sonra derleyici bir hata yerine 4 parça attı:
'GetNameOP' - işlev tanımlı değil
'ErrorDescription' - işlev tanımlı değil
'else' - beklenmeyen belirteç
'GetNameOP' - işlev tanımlı değil
Görünüşe göre bu hatalar süresiz olarak görünmeye devam edecek. Bir ClosePositions() işlevini kullanmak için önce başka bir tane - ClosePosBySelect() koymam gerekiyordu. Ve diğeri, sırayla, bir tür ses gerektirir - ziller. Ve benim için tamamen gereksiz olan bu zil seslerini büyük zorluklarla bulduğumda, tamamen anlaşılmaz bir hata çıkıyor - 'else' - beklenmedik belirteç ve diğer hatalar. Henüz bu özelliği kullanmaya başlamadım bile. Sadece diğerlerinin arasına koyun.!
Bana hataları nasıl düzeltebileceğimi söyler misin? Tüm bu GetNameOP yorumlarını yaptı. Görünüşe göre hatalar gitmiş. Ama işlev onlarsız iyi çalışacak mı?
Ve sonra derleyici bir hata yerine 4 parça attı:
'GetNameOP' - işlev tanımlı değil
Ekteki ilk sayfada testrSetOrder.mq4
ErrorDescription' - işlev tanımlı değil
Uzman Danışmanınızın kodunda, satırı girin
#include <stdlib.mqh>
'else' - beklenmeyen belirteç
NumberOfBarOpenLastPos() işlevi.
Bu işlev, son konumun veya -1'in açılmasının çubuk numarasını döndürür. Dikkate alınacak pozisyonların seçimi harici parametreler tarafından belirlenir:
- sy - Piyasa aracının adı. Bu parametreyi ayarlarsanız, işlev yalnızca belirtilen takımın konumlarını dikkate alacaktır. Varsayılan değer - NULL , mevcut piyasa aracı anlamına gelir.
- tf - Zaman çerçevesi. Varsayılan değer - 0 , geçerli zaman çerçevesi anlamına gelir.
- op - Ticaret işlemi, pozisyon türü. Geçerli değerler: OP_BUY , OP_SELL veya -1 . Varsayılan değer -1 , herhangi bir konum anlamına gelir.
- mn - Konum Kimliği, MagicNumber. Varsayılan değer -1 , herhangi bir tanımlayıcı anlamına gelir.
not. Ekli, NumberOfBarOpenLastPos() işlevini test etmek için bir komut dosyasıdır.