[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 57

 
Karabas >> :

Tünaydın! Söyle bana, göstergenin rengini değiştirmek mümkün mü? Diyelim ki ana pencerede farklı renklerin farklı periyotlarına sahip iki Hareketli Ortalama var. teşekkürler


MA'lardan (Hareketli Ortalama) birine sağ tıklayın, bir pencere açılacak, "hareketli ortalama özellikleri" satırına tıklayın ve orada zaten rengi nerede değiştireceğinizi göreceksiniz

 
xruss >> :

Cls_B ve Cls_S, bir pozisyonun kapatılmasına izin verir ve Opn_B Opn_S ile çelişemezler. Buraya koda, Al veya Sat emrinin açıldığı ve bu süre boyunca daha fazla pozisyon açılmaması için kapatılması gereken çubuğu işaretleyecek bir zaman serisi yazmanız gerekir ((

Zaten sahip olduğunuz bir işlemi açma koşullarını değiştirmek değil, bunlara yenilerini eklemek içindi. Anladığım kadarıyla, aynı sinyalde kapanma sinyali alınmadıysa, EA'nın bir açılış sinyali üzerinde bir pozisyon açmasını yasaklamak istiyorsunuz. Buraya ekleyin:

if (Opn_B==true && Cls_B==false) { не открывать Buy  }
if (Opn_C==true && Cls_C==false) { не открывать Sell }

Ve bunu kendi yolunuzla yaparsanız, pozisyonun bir gün orada kapanması gereken çubuğu nasıl hesaplayacaksınız? :)

 

Merhaba

 //+------------------------------------------------------------------+
int start ( )
   {
//----
 double Macd_0 = iMACD ( NULL , 0 , MAFastPeriod , MASlowPeriod , MASignalPeriod , 1 , 0 , 0 ) ;
 double Macd_1 = iMACD ( NULL , 0 , MAFastPeriod , MASlowPeriod , MASignalPeriod , 1 , 0 , 1 ) ;
 double signal_0 = iMACD ( NULL , 0 , MAFastPeriod , MASlowPeriod , MASignalPeriod , 1 , 1 , 0 ) ;
 double signal_1 = iMACD ( NULL , 0 , MAFastPeriod , MASlowPeriod , MASignalPeriod , 1 , 1 , 1 ) ;
    
     if ( ( Macd_0 < Macd_1 & & Macd_1 > 0 ) & & ( signal_0 < signal_1 & & signal_1 > 0 ) )
     if ( CheckOrders ( OP_SELL ) )
       {
       if ( ! OrderSend ( Symbol ( ) , OP_BUY , Lots , Ask , 3 , 0 , 0 , NULL , MagicNumber ) )
         Print ( "Не открыт ордер Buy. Ошибка №" , GetLastError ( ) ) ; 
       }
       
     if ( ( Macd_0 > Macd_1 & & Macd_1 < 0 ) & & ( signal_0 > signal_1 & & signal_1 < 0 ) )
     if ( CheckOrders ( OP_BUY ) )
       {
       if ( ! OrderSend ( Symbol ( ) , OP_SELL , Lots , Bid , 3 , 0 , 0 , NULL , MagicNumber ) )
         Print ( "Не открыт ордер Sell. Ошибка №" , GetLastError ( ) ) ; 
       }

//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+

Bu ilk seçenek.

 //+------------------------------------------------------------------+
int start ( )
   {
//----
 double Macd_0 = iMACD ( NULL , 0 , pFast , pSlow , pSignal , 1 , 0 , 0 ) ;
 double Macd_1 = iMACD ( NULL , 0 , pFast , pSlow , pSignal , 1 , 0 , 1 ) ;
 double signal_0 = iMACD ( NULL , 0 , pFast , pSlow , pSignal , 1 , 1 , 0 ) ;
 double signal_1 = iMACD ( NULL , 0 , pFast , pSlow , pSignal , 1 , 1 , 1 ) ;
    
     if ( ( Macd_0 < Macd_1 & & Macd_1 > 0 ) & & ( signal_0 < Macd_0 & & signal_1 < Macd_1 & & signal_1 > 0 ) )
     if ( CheckOrders ( OP_SELL ) ) //продажа
       {
       if ( ! OrderSend ( Symbol ( ) , OP_BUY , Lots , Ask , 3 , 0 , 0 , NULL , MagicNumber ) )
         Print ( "Не открыт ордер Buy. Ошибка №" , GetLastError ( ) ) ; 
       }
       
     if ( ( Macd_0 > Macd_1 & & Macd_1 < 0 ) & & ( signal_0 > Macd_0 & & signal_1 > Macd_1 & & signal_1 < 0 ) )
     if ( CheckOrders ( OP_BUY ) ) //покупка
       {
       if ( ! OrderSend ( Symbol ( ) , OP_SELL , Lots , Bid , 3 , 0 , 0 , NULL , MagicNumber ) )
         Print ( "Не открыт ордер Sell. Ошибка №" , GetLastError ( ) ) ; 
       }

//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+

Bu ikinci seçenek.

Macd tabanlı EA , ticaret basittir (her şey 0 ve 1 bar, açık fiyat üzerine kuruludur).

İlk durumda, macd değerleri artar (satın almak için), satmak için düşer. Sinyal hattı da bu şartlarda.

İkinci durumda, hızlı ve yavaş çizgilerin kesişimini macd olarak uygulamaya çalıştım. Ama bazı şüpheler kaldı ............. Doğru mu .........

 
Everlost >> :

Zaten sahip olduğunuz bir işlemi açma koşullarını değiştirmek değil, bunlara yenilerini eklemek içindi. Anladığım kadarıyla aynı sinyal üzerinden kapanma sinyali alınmamışsa Expert Advisor'ın bir açılma sinyali üzerinde pozisyon açmasını yasaklamak istiyorsunuz. Buraya ekleyin:

if (Opn_B==true && Cls_B==false) { не открывать Buy }
if (Opn_C==true && Cls_C==false) { не открывать Sell }

Ve bunu kendi yolunuzla yaparsanız, pozisyonun bir gün orada kapanması gereken çubuğu nasıl hesaplayacaksınız? :)

Nasıl pozisyon açarım?

çünkü Opn_B=true Cls_B=false olduğu anda açılır ve Cls_B o anda true olamaz.


Diyelim ki fiyat fiyatlarını geçen (Opn_S'yi oluşturan) bir MA'mız var, bir aşağı pozisyon açtı ve SL başabaş noktasına taşındı. ve sonra fiyat başa baş için SL'yi yaladı ve...

benim durumumda, bir aşağı pozisyon açıldı((((fiyat tarafından yeni bir MA`crossing sinyali oluşmadan önce (Cls_S))



 
xruss >> :

Nasıl pozisyon açarım?

çünkü Opn_B=true Cls_B=false olduğu anda açılır ve Cls_B o anda true olamaz.

Tamam, bir değişken daha ekleyin, örneğin, int Last_Position=-1. Bir pozisyon açtıktan hemen sonra emir tipini girin. Ve koşulları ekleyin:

if (Opn_B==true && Last_Position==OP_BUY) { сигнал Buy пропускаем }

 
Everlost >> :

Tamam, bir değişken daha ekleyin, örneğin, int Last_Position=-1. Bir pozisyon açtıktan hemen sonra emir tipini girin. Ve koşulları ekleyin:

if (Opn_B==true && Last_Position==OP_BUY) { сигнал Buy пропускаем }

Evet öyle yaptım ama sonucu biraz beğenmedim ((

öyle bir durum var ki trend zayıflıyor, düzleşiyor (düzeliyor) ve ardından yenilenmiş bir güçle hareket etmeye devam ediyor ve doğru Opn_S sinyalini veriyor ki bu da engellenecek. Opn_S sinyalinden Cls_S sinyaline ve Opn_B'den Cls_B sinyaline kadar olan alanda alım satımı tek bir emirle nasıl sınırlayabilirim?

 
xruss >> :

Evet öyle yaptım ama sonucu biraz beğenmedim ((

öyle bir durum var ki trend zayıflıyor, düzleşiyor (düzeliyor) ve ardından yenilenmiş bir güçle hareket etmeye devam ediyor ve doğru Opn_S sinyalini veriyor ki bu da engellenecek. Opn_S sinyalinden Cls_S sinyaline ve Opn_B'den Cls_B sinyaline kadar olan alanda alım satımı tek bir emirle nasıl sınırlayabilirim?

Çok basit - bir Cls_S veya Cls_B sinyali geldiğinde, en son açılan pozisyonu unutuyoruz (Last_Position değişkeninin değerini tekrar -1'e sıfırlıyoruz).

if ((Cls_S==true || Cls_B==true) && Last_Position>=0) Last_Position=-1;

 
Önceki işlemin kârsız olduğunu bilmesi için danışmanda bir koşulu nasıl yazacağınızı kim söyleyecek?
 
Dimoncheg >> :
Önceki işlemin kârsız olduğunu bilmesi için danışmanda bir koşulu nasıl yazacağınızı kim söyleyecek?

if (OrderProfit() < 0) {

...

}

 
Sevgili uzmanlar, lütfen sorumu görmezden gelmeyin.

Günlük gibi oynaklığı hesaplayan bir gösterge var mı? Ancak belirsiz bir sayı 0.34 gibi bir sonuç verecek şekilde değil. Ve böylece bir günde mum tik tak sayısını sayar ve örneğin belirli bir periyoda (gün sayısı) böler, böylece ortalama değeri bilebilirsiniz. Örnek: 100'ü açın, 200'ü kapatın; ikinci gün - 200'ü açın, 250'yi kapatın. Bu 2 gün için ortalama oynaklık = ((200-100)+(250-200))/2gün=(100+50)/2=75
Varsa nereden indirilir.