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

 
sinyalde: fraktal (olyakish göstergesi). sadece 1 pozisyon açılır, bu ters fraktalde kapanır ve zıt pozisyon hemen açılır. Amaç: pozisyonun açıldığı fraktalın minimum veya maksimum değerindeki bir durağı kodlamak +\- 5 p.
 
kontrol edilmeli
- siparişin açıldığı andaki fiyat fraktaldan +/-5 puan mı çıktı?
-veya fiyat fraktaldan +/-5 koridordayken açılma anını yakalayın
= stop/taks + sonra donma seviyelerini kontrol edin
 

Merhaba profesyonel arkadaşlar!

Sonunda, Moskova'm bir danışmanın nasıl kurulacağını anladı, ama,

Yüklü Rabbit3 - başlatıldı, otomatik ticaret için izin verildi. Ardından, satın almak veya satmak için bir onay açılır. Lot 0.01, Sat ve Al düğmeleri etkin değildir ve lot 0.1 olarak değiştirilirken - "Yeterli para yok". Ne yapalım. Ve vapshche - bu danışman mikro lot alım satımı sağlar mı, sağlamaz mı???

 

Hepinize iyi günler! Burada MACD_Histogram göstergesini (https://www.mql5.com/en/code/8253 veritabanında mevcut) kullanarak pozisyonların açılışını kodlamaya karar verdim, ancak nasıl doğru kodlayacağımı bir türlü çözemiyorum. Ders kitabını anlamaya çalıştım - boşuna. Genel olarak, göstergeden fazlalığı attım ve olan buydu. derleme sırasında hata yoktur, ancak test cihazında arabelleklere yemin eder. Lütfen bana nasıl ve neyi düzelteceğimi söyle.

 //+------------------------------------------------------------------+
//|                                                           E .mq4 |
//|                      Copyright © 2008, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern string separator1 = "*** MACD Settings ***" ;
extern int FastMAPeriod = 12 ;
extern int SlowMAPeriod = 26 ;
extern int SignalMAPeriod = 9 ;
extern double Lots = 0.01 ;
#define arrowsDisplacement 0.0001

//---- buffers
double MACDLineBuffer [ ] ;
double SignalLineBuffer [ ] ;
double HistogramBuffer [ ] ;
double bullishDivergence [ ] ;
double bearishDivergence [ ] ;
//---- variables
double alpha = 0 ;
double alpha_1 = 0 ;
static datetime lastAlertTime ;
static string   indicatorName ;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init ( )
  { 
//---- 
   SetIndexStyle ( 0 , DRAW_LINE ) ;                        SetIndexBuffer ( 0 , MACDLineBuffer ) ;
   SetIndexStyle ( 1 , DRAW_LINE ) ;                        SetIndexBuffer ( 1 , SignalLineBuffer ) ;
   SetIndexStyle ( 2 , DRAW_HISTOGRAM , STYLE_SOLID , 2 ) ;    SetIndexBuffer ( 2 , HistogramBuffer ) ;
   SetIndexStyle ( 3 , DRAW_ARROW ) ;                       SetIndexArrow ( 3 , 233 ) ;
   SetIndexStyle ( 4 , DRAW_ARROW ) ;                       SetIndexArrow ( 4 , 234 ) ;
//----
	  alpha = 2.0 / ( SignalMAPeriod + 1.0 ) ;
	  alpha_1 = 1.0 - alpha ;
//----
   return ( 0 ) ;
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit ( )
  {
//----
   for ( int i = ObjectsTotal ( ) - 1 ; i > = 0 ; i - - )
     {
       string label = ObjectName ( i ) ;
       if ( StringSubstr ( label , 0 , 19 ) ! = "MACD_DivergenceLine" )
           continue ;
       ObjectDelete ( label ) ;   
     }
//----
   return ( 0 ) ;
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start ( )
  {
//----
   int limit ;
   int counted_bars = IndicatorCounted ( ) ;
   //---- check for possible errors
   if ( counted_bars < 0 ) 
       return ( - 1 ) ;
   //---- last counted bar will be recounted
   if ( counted_bars > 0 ) 
       counted_bars - - ;
   limit = Bars - counted_bars ;
   CalculateIndicator ( counted_bars ) ;
//----
   for ( int i = limit ; i > = 0 ; i - - )
     {
       MACDLineBuffer [ i ] = iMA ( NULL , 0 , FastMAPeriod , 0 , MODE_EMA , PRICE_CLOSE , i ) - 
                           iMA ( NULL , 0 , SlowMAPeriod , 0 , MODE_EMA , PRICE_CLOSE , i ) ;
       SignalLineBuffer [ i ] = alpha * MACDLineBuffer [ i ] + alpha_1 * SignalLineBuffer [ i + 1 ] ;
       HistogramBuffer [ i ] = MACDLineBuffer [ i ] - SignalLineBuffer [ i ] ;
     }

//----
   return ( 0 ) ;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CalculateIndicator ( int countedBars )
  {
   for ( int i = Bars - countedBars ; i > = 0 ; i - - )
     {
       CalculateMACD ( i ) ;
       CatchBullishDivergence ( i + 2 ) ;
       CatchBearishDivergence ( i + 2 ) ;
     }              
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CalculateMACD ( int i )
  {
   MACDLineBuffer [ i ] = iMA ( NULL , 0 , FastMAPeriod , 0 , MODE_EMA , PRICE_CLOSE , i ) - 
                       iMA ( NULL , 0 , SlowMAPeriod , 0 , MODE_EMA , PRICE_CLOSE , i ) ;
   SignalLineBuffer [ i ] = alpha * MACDLineBuffer [ i ] + alpha_1 * SignalLineBuffer [ i + 1 ] ;
   HistogramBuffer [ i ] = MACDLineBuffer [ i ] - SignalLineBuffer [ i ] ;      
  }
//+------------------------------------------------------------------+
//|         сигнал                                                         |
//+------------------------------------------------------------------+
void CatchBullishDivergence ( int shift )
  {   
   int currentTrough = shift ;
   int lastTrough = GetIndicatorLastTrough ( shift ) ;
//----   
   if ( MACDLineBuffer [ currentTrough ] > MACDLineBuffer [ lastTrough ] & & 
      Low [ currentTrough ] < Low [ lastTrough ] )
     {
       bullishDivergence [ currentTrough ] = MACDLineBuffer [ currentTrough ] - 
                                          arrowsDisplacement ;
       // OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"",0,0,Red);
       //----
       
       //----
       
       //----
       
     }
//----   
 
Soruma kimse yardımcı olamaz mı...
 
özellikleri ayarlamanız gerekiyor
- #özellik arabellekleri
- #özellik renkleri
aynı MASD kodundaki örneklere bakın
 
Korey >> :
özellikleri ayarlamanız gerekiyor
- #özellik arabellekleri
- #özellik renkleri
aynı MASD kodundaki örneklere bakın

Maalesef yardımcı olmuyor.. Günlükte ayrıca 2009.02.11 00:08:10 2009.01.05 00:00 E_ EURGBP,M1: SetIndexBuffer işlevi yalnızca özel göstergeden çağrılmalıdır diyor

3 kez tekrar ediyor ve ..... görünüşe göre sorun başka bir şey ... başka hangi seçenekler var?

İşte çeviri.

 
amur писал(а) >>

İşte çeviri.

Gümrük mü?) Uzman Danışmanlar, göstergelerde değil, test cihazında test edilir ve göstergeler varsa, ardından test danışmanları tarafından test edilir. Ve bu, çılgın eller tarafından buruşmuş olsa da, hala bir göstergedir. Kendinizi kodlamak istiyorsanız, bilgideki boşlukları doldurmanız gerekir, onsuz hiçbir yol yoktur.

 
Figar0 >> :

Gümrük mü?) Uzman Danışmanlar, göstergelerde değil, test cihazında test edilir ve göstergeler varsa, ardından test danışmanları tarafından test edilir. Ve bu, çılgın eller tarafından buruşmuş olsa da, hala bir göstergedir. Kendinizi kodlamak istiyorsanız, bilgideki boşlukları doldurmanız gerekir, onsuz hiçbir yol yoktur.

Sevgili Figar0, yukarıda öğrenmeye çalışıyorum ve ders kitabından tamponları nasıl tanımlayacağımı anlayamadığımı yazdım - genel olarak, böylece danışman MACD_Histogram göstergesinin sinyallerinden işlem yapar.

Bu yüzden sizlerden, profesyonellerden yardım istemeye karar verdim. yardım için teşekkürler))


 
amur писал(а) >>

Sevgili Figar0, yukarıda öğrenmeye çalışıyorum ve ders kitabından tamponları nasıl tanımlayacağımı anlayamadığımı yazdım - genel olarak, böylece danışman MACD_Histogram göstergesinin sinyallerinden işlem yapar.

Bu yüzden sizlerden, profesyonellerden yardım istemeye karar verdim. yardım için teşekkürler))

Bir danışman alın, örneğin MACD Sample, MT4 ile birlikte gelir. Koduna bakın. EA, MACD göstergesini kullanır ancak herhangi bir arabelleğe sahip değildir. Değil mi? Bunun yerine gösterge değerlerine iMACD(....) aracılığıyla erişir. Sizin durumunuzda da aynı şey, ticaret için göstergeyi yeniden yapmanız gerekmez, ancak bir danışman alın ve göstergenizle çalışması için yeniden yapın. Ve iCustom(....) kullanarak gösterge değerlerine erişin (Kullanım kuralları yardım ve öğreticidedir). Daha spesifik sorular olacak - sorun.