[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 505

 
eugggy :
bar, harici ayarlarda (Start_Point) ayarlanan zamana göre geçerli çubuğun kaymasıdır.

çubuk = ?? kaldırma sırasında ne?
 
ask : Kaba olmak gerekli mi?

Şu anda kabalık eden sizsiniz: Hâlâ sorunlu bir ifade yok ve neyi karıştırdığınız genellikle bilinmiyor, buna sözde kod bile diyemezsiniz.

Ve seni yanlış bir şekilde telepatlara gönderdiğimi mi düşünüyorsun?

 
sergeev :

çubuk = ?? kaldırma sırasında ne?
Umarım önceki değer. Onlar. bardan sonra belgeye ihtiyacım yoksa, onu silmek zorundayım.
 
eugggy :
umarım eski değeri

Peki, umarım işe yarar.

 
sergeev :

Peki, umarım işe yarar.



:-) Ama sadece hatayı işaret et, değil mi?
 
eugggy :
:-) Ama sadece hatayı işaret et, değil mi?

:) ve neden bar=?? sorusuna cevap vermek için, bu yüzden imkansız mı?
 
sergeev :

:) ve neden bar=?? sorusuna cevap vermek için, bu yüzden imkansız mı?
Konu yeni başlayanlar içindir ve silme sırasında çubuğun ne olduğundan emin olsaydım, belki danışman işe yarardı. Ben şöyle düşünüyorum: belge kapandığında, yani. yeni bir çubuk görünür, çubuk değişkeni değerini 1 artırır, silme işlevinde, bar-1, yani zaten kapatılmış bir belgenin sayısını belirledim ve önceki çubuk belirtilen kriterleri karşılamıyorsa, belge silinir , sayının belirtildiği değerde = bar değişkeninin mevcut değeri eksi 1. Hata, zaten silinmiş bir belgeyi silmemden kaynaklanamaz mı?
 

kimse hatayı fark etmedi. yani bir kez daha

koddaki hatayı söylermisin teşekkür etmek.

//+------------------------------------------- --------------------+
//| satır.mq4 |
//| |
//| |
//+------------------------------------------- --------------------+
//--- giriş parametreleri
harici bool sat = 1; // satış izni
harici bool satın al = 1;
harici çift lot = 0.1;
dış int sl = 50;
harici int tp = 150;

dış int sıra = 10; //

dış çift bez = 15;
harici çift tral_step = 15;
harici çift tral_start = 10;

//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----

//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
//----
string sat_stop ="ss"; // satırı manuel olarak adlandır
string buy_stop ="bs";

//satın almak----------------------------------------------- ------------------------------------------------------ -----

// satırı bulun ve fiyat dokunduğunda sipariş verin
if (ObjectFind (buy_stop) > 0 ) //buy_stop satırı varsa.
if ( ObjectGet (buy_stop, OBJPROP_PRICE1=Sor )// satır dokunuşu
{
OrderSend (Symbol(),OP_BUYSTOP, lot, Ask+Point*order,3, Bid-sl*Point, Bid+tp*Point );// sipariş gönderilir
ObjectDelete(satın alma_durdurma); // satır kaldırıldı
}


dönüş(0);
}
//+-------------------------

 
TESKATLIPOKA :

kimse hatayı fark etmedi. yani bir kez daha

koddaki hatayı söylermisin teşekkür etmek.


İşte bunlar (kodunuzda daha birçok hata var, ancak bunlar derleyiciden geçmeyecek bile):

if ( ObjectGet (buy_stop, OBJPROP_PRICE1=Ask ) // касание линии
Ayrıca, kodu derleyicinin bakış açısından daha mantıklı bir kodla değiştirseniz bile:

if ( ObjectGet (buy_stop, OBJPROP_PRICE1) == Ask ) // касание линии

karşılaştırmadan önce gerçek değerleri normalleştirmeden yine de teorik olarak yanlış olacaktır. Daha da kötüsü, fiyat bir tıkta birden fazla pip değişirse ve sizin durumunuzu aşarsa normalleşme sonuç vermeyebilir.

Bunun gibi bir kesişim koşulu aramak daha doğru olacaktır:

if ( ObjectGet (buy_stop, OBJPROP_PRICE1) <= High[0]) && ( ObjectGet (buy_stop, OBJPROP_PRICE1) >= Low[0])) //  на текущей свече касание линии уже имело место


PS MetaTrader'da derlemeden sonra hata veren yeri bulmak oldukça kolaydır:

1. "Dosya" sütunundaki "Araçlar" sekmesinde, derleyicinin bir hata tespit ettiği satır numarası ve sembol numarası parantez içinde virgülle ayrılmış olarak belirtilir.

2. Aynı sekmede "Açıklama" sütunundaki hata mesajına çift tıklarsanız, editördeki imleç derleyicinin bu hatayı bulduğu yere atlayacaktır.

 
eugggy :
Konu yeni başlayanlar içindir ve silme sırasında çubuğun ne olduğundan emin olsaydım, belki danışman işe yarardı.
Peki, sadece sor - hangi çubuğun eşit olduğunu nasıl bulacağınızı.