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

 
forexnew :

Nasıl resim yapılır:

/

dizide mi?

Örneğin:

string path=TerminalPath()+"/logs/"+tekTime+".log";

bir hata veriyor ve "/" eğik çizgisini kaldırırsanız

string path=TerminalPath()+"günlükler"+tekTime+".log";

- hata yok.




Burayı ve burayı okuyun.

 
ZZZEROXXX :

IsTradeAllowed()'ın başka ne döndürdüğünü görebilir mi?

Lütfen yardım et. Son noktadan itibaren N çubuk ilerideki çubuklara bağlı iki noktaya dayalı eğilim çizgileri oluşturmaya çalışıyorum. Onlar. gelen - birinci ve ikinci noktaların zaman fiyatı ve N ilerideki çubuk sayısıyla ifade edilir (ışın bayrağı = yanlış). İkinci noktanın mevcut çubuk 0'dan 1 numaralı çubukta olması gerekiyorsa ve ondan 10 çubuk ileri çekmem gerekiyorsa, gelecekten bir çubuğun zamanını ve fiyatını nasıl hesaplayabilirim?

Bu, bir danışman derlerken aniden yoğun bir ticaret dizisine girerseniz de işe yarar. EA yorumlarında istek günlüklerinden gelen mesajları görüntülemenin bir yolunu arıyorum. Görünüşe göre çok az insan kendine böyle bir görev sormuş.
 
PapaYozh :


Burayı ve burayı okuyun.

Teşekkür ederim!
[Deleted]  

Gerçekten sevgili gurular yardım etmeyecek mi?

pvm117 20.10.2011 18:26

Tünaydın!

İlk deney olarak, aşağıdaki algoritmayı uygulamaya karar verdim: Bollinger bantları dar bir koridorda birleştikten sonra, bir süre sonra piyasada yukarı veya aşağı keskin bir hareket olacağını bekleyebiliriz. Expert Advisor'da Bollinger Bantlarının durumunu analiz ediyorum ve yakın olduklarında ( Delta puanları ), piyasanın iyileşeceğini umarak aşağı yönde (alt satırın altındaki StepOpen noktalarında) bekleyen bir satış emri veriyorum. bu yönde keskin bir şekilde hareket edecektir. Piyasa diğer yöne gittiyse, bu emri silmeniz yeterlidir.

 extern double Delta= 800.0 ;               // Ширина канала, которую мы считаем достаточно узкой чтобы ожидать скоро серьезного движения в одну из сторон
extern double StepOpen= 150.0 ;           // Отступ от линии Боллинджера  для открытия отложенного ордера
extern double TP= 350.0 ;                 // Take Profit
extern double SL= 400.0 ;                 // Stop Loss

int start()
  {
   double T1= iBands ( NULL , 0 , 20 , 2 , 0 , PRICE_CLOSE ,MODE_UPPER, 0 );   // верхняя линия Боллинджера
   double T2= iBands ( NULL , 0 , 20 , 2 , 0 , PRICE_CLOSE ,MODE_LOWER, 0 ); // нижняя линия Боллинджера
   if ((Ask>T1+StepOpen* Point )&& OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==true) OrderDelete ( 0 ); // если рынок пошел вверх – то удаляем отложенный ордер
   if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==true) return ( 0 ); // если есть ранее открытый ордер – прекращаем выполнение текущей итерации советника
   if (T1-T2<Delta* Point ) {               // если линии Боллинджера сблизились ближе чем на Delta пунктов начинаем операцию открытия ордера
       double PriceOpen= NormalizeDouble (T2-StepOpen* Point , 5 );   // вычисляем цену открытия
       double StopLoss= NormalizeDouble (T2-StepOpen* Point +SL* Point , 5 ); // вычисляем StopLoss
       double TakeProfit= NormalizeDouble (T2-StepOpen* Point -TP* Point , 5 ); // вычисляем TakeProfit
       OrderSend ( Symbol (),OP_SELL, 0.1 ,PriceOpen, 5 ,StopLoss,TakeProfit, 0 , 0 , 0 , Green ); //  открываем ордер на продажу
            }
   return ( 0 );
  }
Algoritma kararsız, bazen kısa sürede iki emir açıyor, sürekli OrderSend Error 130 ve OrderSend Error 138 hataları üretiyor ve piyasa ters yönde hareket ederse açık emirleri silmek hiç çalışmıyor.

Tavsiye konusunda yardım için büyük bir istek! Teşekkür ederim!

 
pvm117 :

Gerçekten sevgili gurular yardım etmeyecek mi?

pvm117 20.10.2011 18:26

Tünaydın!

İlk deney olarak, aşağıdaki algoritmayı uygulamaya karar verdim: Bollinger bantları dar bir koridorda birleştikten sonra, bir süre sonra piyasada yukarı veya aşağı keskin bir hareket olacağını bekleyebiliriz. Expert Advisor'da Bollinger Bantlarının durumunu analiz ediyorum ve yakın olduklarında ( Delta puanları ), piyasanın iyileşeceğini umarak aşağı yönde (alt satırın altındaki StepOpen noktalarında) bekleyen bir satış emri veriyorum. bu yönde keskin bir şekilde hareket edecektir. Piyasa diğer yöne gittiyse, bu emri silmeniz yeterlidir.

Algoritma kararsız, bazen kısa sürede iki emir açıyor, sürekli OrderSend Error 130 ve OrderSend Error 138 hataları üretiyor ve piyasa ters yönde hareket ederse açık emirleri silmek hiç çalışmıyor.

Tavsiye konusunda yardım için büyük bir istek! Teşekkür ederim!

 OrderSend ( Symbol (), OP_SELL , 0.1 ,PriceOpen, 5 ,StopLoss,TakeProfit, 0 , 0 , 0 , Green ); //  открываем ордер на продажу

Bu bekleyen bir emir değil, bir piyasa emridir.

buna göre açılış fiyatı farklı olmalı ve silinemez (OrderDelete), sadece kapatılabilir

[Deleted]  

Bu konunun tüm uzmanlarına ve deneyimli okuyucularına selamlar! Eh, sadece bana yardım edebilecek herkes =)

Periyodikliği sağlamanın en basit ve "doğru" yolu nedir? Yani, basitleştirmek için, her 15 dakikada bir otomatik olarak belirli bir eylemin yapılmasını istiyorum.

Benim durumumda bu, bazı istatistiklerle bir dosyayı diske kaydetmektir. Şu anda istediğimi yapan bir betiğim var ve bu tam anlamıyla 20 satırlık bir kod. Bu 20 satır belirli aralıklarla nasıl tekrar edilir? Anladığım kadarıyla MQL'de timer yok... Her tikte bir çeşit kontrol yapacak bir Expert Advisor kullanmak gerekli mi?...

yardım ve tavsiyelerinizi bekliyorum)

 
Hey! Söyleyin bana, M_30 H_1, D_1 vb. kullanan gösterge dışında çok para birimi Uzman Danışmanın zaman çerçevesini ayarlamanın başka bir yolu var mı?
 
skyjet :
Hey! Söylesene, M_30 H_1, D_1 vb. kullanan gösterge dışında, çok para birimli bir Uzman Danışmanın zaman çerçevesini ayarlamanın başka bir yolu var mı?

Sorun ne?
 

Merhaba.

Buradaki soru şudur: Bir momentum tahmini olarak sarı çizgiyi ve eski çerçevenin uzun bir yükseliş trendinde OSM'nin bir tahmini olarak beyaz çizgiyi nasıl kullanacağınızı tavsiye edin?

Burada dalgaların zirveleri arasındaki genliği belirlemek zordur, genel olarak nereye daha fazla kazılacağını tavsiye edin;)


 
Sancho77 :

Açıktan ilkini seçin.

Tüm bunlar, açık pozisyonlar arasında ilk açık pozisyon ile son açık pozisyon arasındaki noktalardaki mesafeyi kontrol etmek için gereklidir.

Aceleyle yeniden yazılmış, belki yardımcı olur? Kontrol etmedim...

 double PriceOpenFirstPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
   datetime t= TimeCurrent ();
   double    r= 0 ;
   int       i, k= OrdersTotal ();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
       if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
         if ( OrderSymbol ()==sy || sy== "" ) {
             if ( OrderType ()==OP_BUY || OrderType ()==OP_SELL) {
               if (op< 0 || OrderType ()==op) {
                   if (mn< 0 || OrderMagicNumber ()==mn) {
                     if ( OrderOpenTime ()<t) {
                        t= OrderOpenTime ();
                        r= OrderOpenPrice ();
                        }
                     }
                  }
               }
            }
         }
      }
   return (r);
}

Böyle dene...