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

[Deleted]  
Sergstuddek :
İyi insanlar, bana dizilerle nasıl çalışılacağını söyleyin, barı kapatma ve açmanın maksimum ve minimum değerlerini seçmeniz gerekiyor, 1.00 ile 10.00 arasındaki zaman aralığında, bunu yapmaya çalıştım ama bir şey değil doğru. Ama bir şeyler yanlış. '[' döndürür - dizi dizini bir tamsayı olacaktır C:\Program Files\InstaTrader\experts\Ïîáîé19 EUR-JPY.mq4 (61, 21)
Sorun nedir, nasıl düzeltilir?

aşağıdaki gibi değiştirildi

 int MAX()
{
if (Hour()== 10 )
        {
      
         for (i= 0 ; i<= 9 ; i++)
         double MAX1 = High [iHighest( Symbol (), PERIOD_H1 ,MODE_CLOSE,i, 0 )];
        }
         return (MAX1);
        
}

Artık hata vermiyor ama fiyatı da belirlemiyor ya da daha doğrusu belirliyor ama doğru değil, sorun nedir?

[Deleted]  
Sergstuddek :

aşağıdaki gibi değiştirildi

Artık hata vermiyor ama fiyatı da belirlemiyor ya da daha doğrusu belirliyor ama doğru değil, sorun nedir?

Programı saat 10'da başlatmanız koşuluyla, son 9 çubuktaki maksimum fiyatı olan çubuk endeksini arayacaktır. Hour(), programın başlama zamanıdır (sunucu zamanı).

PS Daha doğrusu, bu çubuğun endeksi değil, maksimum fiyatı (Yüksek).

Dosyalar:
 

lütfen yardım edin, diğer sl ve tp'yi ifşa ettiğim anda alım olmuyor, sadece satışla lotu açıyor.

 #define MAGIC 1234
#define IDENT "mo_bidir"

extern int lots = 1 ;
extern int stop_loss = 76 ; //
extern int take_profit = 750 ; //
extern int steps = 5 ; // Шаг отложенных ордеров

int start(){

if ( OrdersTotal () == 0 ){
OrderSend ( Symbol (), OP_BUY, lots ,Ask, 3 , Ask - stop_loss * Point , Bid + take_profit * Point , IDENT, MAGIC, 0 , Blue);
OrderSend ( Symbol (), OP_SELL, lots ,Bid, 3 , Bid + take_profit * Point , Ask - take_profit * Point , IDENT, MAGIC, 0 , Red);
OrderSend ( Symbol (), OP_BUYSTOP, 0.05 *lots,Ask+steps* Point , 3 , Ask + stop_loss * Point , Bid + take_profit * Point , IDENT, MAGIC, 0 , Blue);
OrderSend ( Symbol (), OP_SELLSTOP, 0.05 *lots,Bid-steps* Point , 3 , Bid - take_profit * Point , Ask - take_profit * Point , IDENT, MAGIC, 0 , Red);
}
return ( 0 );
} 
[Deleted]  
samaelfess :

lütfen yardım edin, diğer sl ve tp'yi ifşa ettiğim anda alım olmuyor, sadece satışla lotu açıyor.



Bid + stop_loss yerine Bid + al_profit var. Ve bekleyenlerde OP_BUYSTOP Ask + stop_loss için Ask - stop_loss yerine ve OP_SELLSTOP için - Bid - Bid + al_profit yerine al.

Ve tüm fiyatlar normalleştirilmedi.

PS Diğer sl ve tp ile çalışıp çalışmadığını merak ediyorum?

 
Teşekkürler, daha dikkatli olacağım.
[Silindi]  
rigonich :

İyi bilmiyorum. OrderSelect()'ten sonra OrderModify()'dan hemen önce bir kontrol yaptıktan sonra hata 1'i vermeyi bıraktım, ama ondan önce de her zaman dışarı çıktım.

hangi testi yaptın
 
Ekburg :

tüm normların olduğu nokta bu! Bunun için test sırasında modifikasyon fonksiyonuna hangi değerlerin aktarıldığını takip etmek için çıktılar koydum, orada her şey yolunda, dur farklı, ekstra bir şey atılmıyor, her şey izin verilen servo içinde ve operatörler yukarıdaki kodda aynı değerlerin aktarılmasına izin verilmez. .

Bu şekilde değiştirmeden önce kontrol etmeyi deneyin:

       double Erunda= 16.0 * Point ; // от 12 для пятизнаков, от 2 для четырех
//
       if ( MathAbs (OrderStopLoss()-sl)<Erunda && MathAbs (OrderTakeProfit()-tp)<Erunda){нет_необходимости_модифицировать;}
       else { модифицировать;}

[Silindi]  
Sepulca :

Bu şekilde değiştirmeden önce kontrol etmeyi deneyin:


sonuç aynı..ama bu fonksiyonlar nedir, anlamı nedir? daha önce hiç görülmedi veya kullanılmadı
 
Desead :

...ve ikinci soru siparişleri silmekle ilgili, onunla savaşmaktan bıktım zaten, tüm siparişler normal şekilde silinmez ve bu kadar. İşte sildiğim döngü:

Neredeyse her zaman, bekleyen emirlerin bazıları kalır, FOR döngüsüne bir WHILE döngüsü bile ekledim ve hala silinmemiş siparişler var. Kaldırılması gereken çok fazla erteleme var, yaklaşık 20, belki bunda bir tür zorluk var?

Bekleyen siparişler de dahil olmak üzere ( bununla silinen) siparişlerin silinmesine bir örnek:

Sağladığınız kodda (seçim filtresinde) tüm ertelenmişler mevcut değildir. Hatanın başka bir çeşidi: Açılırken gecikmeler tarafından alınan Magic'i kontrol edin (kodunuzda).

 
Ekburg :

Teşekkür ederim. Kod tabanına tırmandım, bir şey buldum, yerine koymaya çalıştım, bu şekilde değiştirdim, okudum, binlerce satırlık pro kodu ayrıştırdım ve sadece değişiklik yaparken hata 1 veriyor ve bu kadar, şeytan ne yapacağını biliyor. Birçok kez yazarken ve bir danışmanın sonraki çalışmalarında çeşitli zorluklarla karşılaştım, ancak bunları kendim çözmeye çalışıyorum, aksi takdirde normal deneyim kazanmıyorum, referansları okudum, ders kitabını tekrar okudum ve problemleri çözdüm, düşünmeye başladım Başladığımdan biraz farklı, ama bu sorunla kendi başıma başa çıkabilirim İşe yaramadı, bu yüzden size döndüm, profesyoneller! EA'nın çalışması gerekmeseydi Trailin yazmazdı :)
Sana inanmama izin ver (her şeyi yeniden okuduğuna veya "böyle okuduğuna") - 1 numaralı hatayla ilgili soru ders kitabında ele alındı ve forumda TEKRAR TEKRAR tartışıldı. Cevabı burada bulun.