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

 

her şeyi anladım yardımın için teşekkürler

 
spidey :

İyi akşamlar, lütfen bana uyarıyı göstergeye nasıl doğru bir şekilde koyacağımı söyleyin, aksi takdirde her şeyi denedim, sonra her tikte bip sesi veriyor, sonra hiç bip sesi vermiyor...


Alın, abone olun :)

Dosyalar:
 
Profesyoneller, lütfen bana i-inci çubuğun (örneğin, M15) kapanış fiyatı ile göstergedeki günün açılış fiyatının karşılaştırmasını nasıl uygulayacağımı söyleyin
 

Merhaba.

Aşağıdaki şekilde olduğu gibi .hst'nin nereden alınacağını veya görsel bir test cihazı için (muhtemelen bir csv dosyasında) Eliot dalgalarının nasıl oluşturulacağını söyleyin veya önerin:

 
RomanS :
Profesyoneller, lütfen bana i-inci çubuğun (örneğin, M15) kapanış fiyatı ile göstergedeki günün açılış fiyatının karşılaştırmasını nasıl uygulayacağımı söyleyin


Muhtemelen doğru açıklanmadı ... örneğin

 #property indicator_separate_window
#property  indicator_buffers 4
#property  indicator_color1  Red
#property  indicator_color2  Green
#property  indicator_color3  Blue
#property  indicator_color4  Black

extern int DAY       = 0 ;
extern int History   = 500 ;

double GBP[],EUR[],JPY[],USD[]; 

int init()
  {
   SetIndexBuffer ( 0 , GBP);
   SetIndexStyle( 0 , DRAW_LINE , STYLE_SOLID , 2 );
   SetIndexBuffer ( 1 , EUR);    
   SetIndexStyle( 1 , DRAW_LINE , STYLE_SOLID , 2 );
   SetIndexBuffer ( 2 , JPY);
   SetIndexStyle( 2 , DRAW_LINE , STYLE_SOLID , 2 );
   SetIndexBuffer ( 3 , USD);
   SetIndexStyle( 3 , DRAW_LINE , STYLE_SOLID , 2 );
   IndicatorShortName( "..." );
   return ;
  }

int start()
  {
  int limit = 0 , 
      counted_bars = IndicatorCounted();
      if (counted_bars> 0 ) counted_bars--; 
      limit = Bars - counted_bars;
 
  for ( int i= 0 ; i<limit; i++)
    {
     USD[i] = -(iClose( "EURUSD" , NULL ,i)-iOpen( "EURUSD" , PERIOD_D1 ,DAY))
              -(iClose( "GBPUSD" , NULL ,i)-iOpen( "GBPUSD" , PERIOD_D1 ,DAY))
              +(iClose( "USDJPY" , NULL ,i)-iOpen( "USDJPY" , PERIOD_D1 ,DAY))/iClose( "USDJPY" , NULL ,i);
     EUR[i] = +(iClose( "EURUSD" , NULL ,i)-iOpen( "EURUSD" , PERIOD_D1 ,DAY))
              +(iClose( "EURUSD" , NULL ,i)*iClose( "USDJPY" , NULL ,i)-iOpen( "EURUSD" , PERIOD_D1 ,DAY)*iOpen( "USDJPY" , PERIOD_D1 ,DAY))/iClose( "USDJPY" , NULL ,i)
              +(iClose( "EURUSD" , NULL ,i)/iClose( "GBPUSD" , NULL ,i)-iOpen( "EURUSD" , PERIOD_D1 ,DAY)/iOpen( "GBPUSD" , PERIOD_D1 ,DAY))*iClose( "GBPUSD" , NULL ,i);
     GBP[i] = +(iClose( "GBPUSD" , NULL ,i)-iOpen( "GBPUSD" , PERIOD_D1 ,DAY))
              +(iClose( "GBPUSD" , NULL ,i)*iClose( "USDJPY" , NULL ,i)-iOpen( "GBPUSD" , PERIOD_D1 ,DAY)*iOpen( "USDJPY" , PERIOD_D1 ,DAY))/iClose( "USDJPY" , NULL ,i)
              -(iClose( "EURUSD" , NULL ,i)/iClose( "GBPUSD" , NULL ,i)-iOpen( "EURUSD" , PERIOD_D1 ,DAY)/iOpen( "GBPUSD" , PERIOD_D1 ,DAY))*iClose( "GBPUSD" , NULL ,i);
     JPY[i] = -(iClose( "USDJPY" , NULL ,i)-iOpen( "USDJPY" , PERIOD_D1 ,DAY))/iClose( "USDJPY" , NULL ,i)
              -(iClose( "EURUSD" , NULL ,i)*iClose( "USDJPY" , NULL ,i)-iOpen( "EURUSD" , PERIOD_D1 ,DAY)*iOpen( "USDJPY" , PERIOD_D1 ,DAY))/iClose( "USDJPY" , NULL ,i)
              -(iClose( "GBPUSD" , NULL ,i)*iClose( "USDJPY" , NULL ,i)-iOpen( "GBPUSD" , PERIOD_D1 ,DAY)*iOpen( "USDJPY" , PERIOD_D1 ,DAY))/iClose( "USDJPY" , NULL ,i);
    }
   return ( 0 );
  }

GÜN = 0 olarak ayarlarsanız, M5 olsun, i-inci çubuğun fiyatı bugünün açık fiyatıyla, GÜN = 1 ise, o zaman dün, vb. ile karşılaştırılacaktır.

ve nasıl dinamik hale getirileceği... yani. mesela 1278 barı hesaplarken bu barın bulunduğu günün açılış fiyatı ile kıyaslama oldu, bu nasıl yapılır kafam karıştı

 

Yine de bunun bir tür MACD veya STOH göstergesi grafiği olduğunu varsayalım, SATIŞ için EA Xmax*0.25 ve Satın Alma için Xmin*0.25'teki giriş noktasını nasıl tanımlayacağımı söyleyin. "n" periyodu sabit değilse ve Xmax ve Xmin değişirse.

Dosyalar:
ypi.rar  7 kb
 

böyle bir operatör nasıl uygulanır

 while ( Условие если закрылся любой ордер )                  
{   то опредеяем тип закрытого ордера из списка   }  
значение передаем следущему оператору

{  по переданому значению выбераем из списка нужный ордер и открываем его  } 
после того как ордер открыт возращяемся в начало

veya başka bir şekilde bu döngüyü uygulamak mümkündür

 
RomanS :


Muhtemelen doğru açıklanmadı ... örneğin

GÜN = 0 olarak ayarlarsanız, M5 olsun, i-inci çubuğun fiyatı bugünün açık fiyatıyla, GÜN = 1 ise, o zaman dün, vb. ile karşılaştırılacaktır.

ve nasıl dinamik hale getirileceği... yani. mesela 1278 barı hesaplarken bu barın bulunduğu günün açılış fiyatı ile kıyaslama oldu, bu nasıl yapılır kafam karıştı

Bunu yapmak için daha eski bir dönemin OHLC'sini döndüren bir işlevim var :)

 //+------------------------------------------------------------------+
//| getOHLC                                                          |
//+------------------------------------------------------------------+
double getOHLC( int OHLC, string symbol, int timeframe, int shift = 0 ){
   if (timeframe < Period ()) return (- 1 );
   switch (OHLC){
      case 0 :  return (iOpen(symbol, timeframe, iBarShift(symbol, timeframe, Time[shift])));
      case 1 :  return (iLow(symbol, timeframe, iBarShift(symbol, timeframe, Time[shift])));
      case 2 :  return (iHigh(symbol, timeframe, iBarShift(symbol, timeframe, Time[shift])));
      case 3 :  return (iClose(symbol, timeframe, iBarShift(symbol, timeframe, Time[shift])));
   }
}
//+------------------------------------------------------------------+

Seçenekler:
int OHLC - hangi verilerin daha yüksek zaman çerçevesinden çıkarılacağı standart sabitlere karşılık gelir.
dize sembolü - enstrümanın sembolik adı.
int zaman çerçevesi - çalışılacak daha yüksek zaman çerçevesinin periyodu , standart sabitlere karşılık gelir.
int shift t - daha yüksek periyotların eşleşmelerini aramak için geçerli çubuğun sayısını, geçerli zaman çerçevesini belirten isteğe bağlı bir parametre.

Durumunuz için bir işlev çağrısı örneği:

 for ( int i= 0 ; i<limit; i++)
    {
     USD[i] = -(iClose( "EURUSD" , NULL ,i)-getOHLC( 0 , "EURUSD" , PERIOD_D1 ,i))
              -(iClose( "GBPUSD" , NULL ,i)-getOHLC( 0 , "GBPUSD" , PERIOD_D1 ,i))
              +(iClose( "USDJPY" , NULL ,i)-getOHLC( 0 , "USDJPY" , PERIOD_D1 ,i))/iClose( "USDJPY" , NULL ,i);
     EUR[i] = +(iClose( "EURUSD" , NULL ,i)-getOHLC( 0 , "EURUSD" , PERIOD_D1 ,i))
              +(iClose( "EURUSD" , NULL ,i)*iClose( "USDJPY" , NULL ,i)-getOHLC( 0 , "EURUSD" , PERIOD_D1 ,i)*getOHLC( 0 , "USDJPY" , PERIOD_D1 ,i))/iClose( "USDJPY" , NULL ,i)
              +(iClose( "EURUSD" , NULL ,i)/iClose( "GBPUSD" , NULL ,i)-getOHLC( 0 , "EURUSD" , PERIOD_D1 ,i)/getOHLC( 0 , "GBPUSD" , PERIOD_D1 ,i))*iClose( "GBPUSD" , NULL ,i);
     GBP[i] = +(iClose( "GBPUSD" , NULL ,i)-getOHLC( 0 , "GBPUSD" , PERIOD_D1 ,i))
              +(iClose( "GBPUSD" , NULL ,i)*iClose( "USDJPY" , NULL ,i)-getOHLC( 0 , "GBPUSD" , PERIOD_D1 ,i)*getOHLC( 0 , "USDJPY" , PERIOD_D1 ,i))/iClose( "USDJPY" , NULL ,i)
              -(iClose( "EURUSD" , NULL ,i)/iClose( "GBPUSD" , NULL ,i)-getOHLC( 0 , "EURUSD" , PERIOD_D1 ,i)/getOHLC( 0 , "GBPUSD" , PERIOD_D1 ,i))*iClose( "GBPUSD" , NULL ,i);
     JPY[i] = -(iClose( "USDJPY" , NULL ,i)-getOHLC( 0 , "USDJPY" , PERIOD_D1 ,i))/iClose( "USDJPY" , NULL ,i)
              -(iClose( "EURUSD" , NULL ,i)*iClose( "USDJPY" , NULL ,i)-getOHLC( 0 , "EURUSD" , PERIOD_D1 ,i)*getOHLC( 0 , "USDJPY" , PERIOD_D1 ,i))/iClose( "USDJPY" , NULL ,i)
              -(iClose( "GBPUSD" , NULL ,i)*iClose( "USDJPY" , NULL ,i)-getOHLC( 0 , "GBPUSD" , PERIOD_D1 ,i)*getOHLC( 0 , "USDJPY" , PERIOD_D1 ,i))/iClose( "USDJPY" , NULL ,i);
    }

Buna göre , iClose ("EURUSD",NULL,i) mevcut grafiğin i numarasının altındaki çubuğun kapanış fiyatını bulacak ve getOHLC (0, "EURUSD",PERIOD_D1,i) günün açılış fiyatını bulacaktır. bar i mevcut grafiğin yer almaktadır.

 
RomanS :


Muhtemelen doğru açıklanmadı ... örneğin

GÜN = 0 olarak ayarlarsanız, M5 olsun, i-inci çubuğun fiyatı bugünün açık fiyatıyla, GÜN = 1 ise, o zaman dün, vb. ile karşılaştırılacaktır.

ve nasıl dinamik hale getirileceği... yani. mesela 1278 barı hesaplarken bu barın bulunduğu günün açılış fiyatı ile kıyaslama oldu, bu nasıl yapılır kafam karıştı

İlk önce bu çubuğun hangi güne karşılık geleceğini hesaplamanız gerekir. Şu anda evde değilim, bu yüzden işlevi daha sonra, akşam evde olduğumda atacağım. Şimdilik kendinize bakın veya nasıl uygulayacağınızı düşünün.

Hata ... Zaten bir seçenek sundu ....

 
akuma_san1 :

Yine de bunun bir tür MACD veya STOH göstergesi grafiği olduğunu varsayalım, SATIŞ için EA Xmax*0.25 ve Satın Alma için Xmin*0.25'teki giriş noktasını nasıl tanımlayacağımı söyleyin. "n" periyodu sabit değilse ve Xmax ve Xmin değişirse.

Giriş kriterleriniz çok belirsiz. Şahsen benim için net değil. Herhangi bir seviyenin geçişini kontrol etmek gerekirse, sağladığınız tüm parametreleri değiştirmek herhangi bir engelleyici faktöre sahip değildir. Sadece ilk çubukta ihtiyacınız olan parametrenin değerine ve ikinci çubukta aynı parametrenin değerine bakın. İlk çubukta parametrenin değeri ayarladığınız bazı eşik değerlerinden yüksekse ve ikinci çubukta daha düşükse, aşağıdan yukarıya bir kesişimimiz var demektir. İlk çubukta daha düşükse ve ikinci çubukta daha yüksekse - yukarıdan aşağıya bir kavşak. Burada Al ve Sat için iki sinyalimiz var. Ayarladığınız değerin üstündeki veya altındaki değeri kontrol edebilirsiniz - böylece bir sinyalimiz de olur, ancak tüm zaman boyunca parametre kontrol edilen değerin üstünde veya altındadır.
not. Parametreler değişmeseydi sinyali hiç beklemezdik... :)