Danışman yazmayı öğrenmek... - sayfa 3

 
Hala 1 hata var OrderSend hatası 130.. Neye bağlı?
 
paukas >> :

Dakika mumlarını indirin (örneğin, Alpari'den) ve dakikalar için bir test yapın.

H4 için MTS'im varsa testi dakikalar içinde nasıl yapacağım?..

4 saatlik duraklarda 5 noktada test yapmak mümkün değil.

Neden?
 

Otomatik Ticaret Şampiyonası 2007: Uzman Danışmanlarda Sık Yapılan Hatalar makalesinde
OrderSend hatası 130 (ERR_INVALID_STOPS) hatasının yanlış veya çok yakın aralıklı duraklar olduğunu okudum.

DC'yi aradım, hangi minimum mesafede durabileceğinizi sordum - böyle bir kısıtlama olmadığını söylediler.. Garip!

Ve hala bir şeyi anlamıyorum.. Manuel olarak bir emir açarsam, o zaman aslında bir stop ayarlayıp kar etmek imkansız ... O halde OrderSend() işlevi bunu nasıl yapıyor?

Elle sipariş vermeyi ve ardından durmayı kontrol ettim. Mevcut fiyat...

Şimdi OrderModify() ile saptırmak zorundayız.. O zaman OrderSend()'de neden stoploss'a ihtiyacımız var?

 
ALex2008 >> :

H4 için MTS'im varsa testi dakikalar içinde nasıl yapacağım?..

Neden?

En küçük TF üzerindeki test şu şekilde yapılır

Böyle aramalar yazıyorsun (Örnek olarak aldım)

   wpr [ 1 ] =   iWPR ( Symbol ( ) , 10 , PERIOD_H4 , 1 ) ;
   wpr [ 2 ] =   iWPR ( Symbol ( ) , 20 , PERIOD_H4 , 1 ) ;
   wpr [ 3 ] =   iWPR ( Symbol ( ) , 40 , PERIOD_H4 , 1 ) ;
   wpr [ 4 ] =   iWPR ( Symbol ( ) , 60 , PERIOD_H4 , 1 ) ;


ve herhangi bir TF'de çalıştırın, en etkili ve doğru test olacaktır - bir dakika boyunca çalıştırırsanız!

yani en doğru sözlü olacak

---

ne yazık ki keneler üzerinde onu uzaklaştıramazsınız! çünkü MT4 test cihazında kene geçmişi yok


---

TF yazmayı hemen öğrenin! ve sonra EA'nız hangi TF'de başlatıldığını umursamayacak

sabitler yerine parametreler yazmak mantıklıdır - kodun basitliği ve daha anlaşılır algı için sabitler koydum

 

Yuri) Ben bu işte profesyonel değilim...) En azından ne anlama geldiğini açıklayabilir misiniz ki anlayabileyim.. wpr[1] = iWPR ( Symbol(), 10 , PERIOD_H4, 1 );

 
ALex2008 >> :

Yuri) Ben bu işte profesyonel değilim...) En azından ne anlama geldiğini açıklayabilir misiniz ki anlayabileyim.. wpr[1] = iWPR ( Symbol(), 10, PERIOD_H4, 1 );

iWPR yerleşik bir göstergedir

double iWPR( string sembolü, int zaman çerçevesi, int periyodu, int shift)
Larry Williams'ın Yüzde Aralığı göstergesinin hesaplanması.
Seçenekler:
sembol - Göstergenin hesaplanacağı cihazın sembolik adı. NULL, geçerli karakter anlamına gelir.
zaman çerçevesi - Dönem. Grafik dönemlerinden biri olabilir. 0, mevcut grafiğin periyodu anlamına gelir.
dönem - Göstergenin hesaplanması için dönem (çubuk sayısı).
shift - Gösterge arabelleğinden alınan değerin indeksi (geçerli çubuğa göre belirtilen sayıda periyot önce kaydırma).

Misal:
if(iWPR(NULL,0,14,0)>iWPR(NULL,0,14,1)) return(0);

yardımda açıklanmıştır, bak

wpr[...], her göstergeden farklı bir nokta ile sonucun verildiği bir dizidir.

(diziye istediğiniz ismi verebilirsiniz)

çift wpr[5] ;

wpr[1] = iWPR (Simge(), 10, PERIOD_H4, 1);
wpr[2] = iWPR (Simge(), 20, PERIOD_H4, 1);
wpr[3] = iWPR (Simge(), 40, PERIOD_H4, 1);
wpr[4] = iWPR ( Symbol(), 60, PERIOD_H4, 1 );


Az önce farklı dönemlere sahip bir çağrı gösterdim...

özü bir kerede göstergelerde yazmak fikrindeydi! böylece herhangi bir TF'de test edebilirsiniz

 
eğer özünde ise hemen dönem göstergeleri yazmak fikrindeydi! böylece herhangi bir TF üzerinde test etmek mümkün olurdu - o zaman anladım ... - Danışmanda gösterge yok, sadece H4 mumları var (gösterge olarak). -TF Şimdi kodun her yerini dikkate almaya çalışacağım ve daha sonra herhangi bir TF üzerinde test etmek mümkün olacak)
 

Açık bir siparişi değiştirmeye karar verdim...

OrderSend'den hemen sonra

      if (OrderSelect(0,SELECT_BY_POS)==true)
        if (OrderType()==OP_BUY)
          OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , Stop , Take , colorBaySell ) ;


Günlükte hata:

OrderModify işlevi için geçersiz bilet
11:43:54 2005.01.26 13:12 EURUSD: OrderModify hatası 4051
Bana neyin yanlış olduğunu söyle?

 

Bunun gibi yeni durma değerleri ayarlamanız gerekir:

 OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , Bid - Stop * Point , . . . . .
                                                    
yeni durağın ayarlandığı yer - noktalarda (tam sayılarda)
 

Ve OrderClose'da kullanılan MarketInfo () OrderModify için gerekli mi?