[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 480

 

Bir danışmanla yardım

timsah göstergesinin kalbinde
yeşil çizgi maviyi ve kırmızı çizgiyi aşağıdan yukarıya doğru kestiğinde bir satın alma sinyali Satın Al'da bir pozisyon açar
yeşil çizgi yukarıdan aşağıya kırmızı ve maviyi geçtiğinde sat sinyali, Sell'de bir pozisyon açın
StopLoss ve TakeProfit'e ulaşıldığında pozisyonlar kapatılır


derleme sırasında hata yok, ancak strateji test cihazında test ederken hatalar var
sipariş için bekleyen ilk hata dizgesi açılmadı, dizgiyi içeren kodu derlenmiş hatalardan sildi, strateji test cihazında başlatılmadı
çalışıyor ama sadece Sat'ta pozisyon açıyor, Buy'da satın almak istemiyor
Kodda neyin yanlış olduğuna bakıp aboneliği iptal edebilir misiniz?

Dosyalar:
all_2.mq4  2 kb
 
novicek :

Bir danışmanla yardım

timsah göstergesinin kalbinde
yeşil çizgi maviyi ve kırmızı çizgiyi aşağıdan yukarıya doğru kestiğinde bir satın alma sinyali Satın Al'da bir pozisyon açar
yeşil çizgi yukarıdan aşağıya kırmızı ve maviyi geçtiğinde sat sinyali, Sell'de bir pozisyon açın
StopLoss ve TakeProfit'e ulaşıldığında pozisyonlar kapatılır


derleme sırasında hata yok, ancak strateji test cihazında test ederken hatalar var
sipariş için bekleyen ilk hata dizgesi açılmadı, dizgiyi içeren kodu derlenmiş hatalardan sildi, strateji test cihazında başlatılmadı
çalışıyor ama sadece Sat'ta pozisyon açıyor, Alış'ta satın almak istemiyor
Kodda neyin yanlış olduğuna bakıp aboneliği iptal edebilir misiniz?


açılış satırlarına bakın:

 OrderSend ( Symbol (),OP_BUY,Lot,Ask,Slippage,magic,Ask , StopLoss * Point , Ask , TakeProfit * Point );
            
OrderSend ( Symbol (),OP_SELL,Lot,Bid,Slippage,magic,Bid , StopLoss * Point , Bid , TakeProfit * Point );

ve şimdi OrderSend işlevinin özelliklerine bakalım (açıklama burada https://docs.mql4.com/ru/trading/OrderSend ):

 int OrderSend ( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment= NULL , int magic= 0 , datetime expiration= 0 , color arrow_color= CLR_NONE ) 

ve parametrelerin yerinde olup olmadığını kontrol edin

 
novicek :

Bu gerçek okuryazarlığım hakkında şüphe uyandırmasın (oluşumlar)
Noktalama işaretleri koyma benim tuhaflığım ve sadece


"Noktalama yok" tuhaflığınızı uyguladığınızda, sorgulayıcı gönderilerinizin genellikle göz ardı edileceğine şaşırmayın.

İnsanların da bir tuhaflığı vardır, genellikle kendilerine saygı duyarlar.
Ayrıca ana dilinize saygı duymanın da bir tuhaflığı var.

 
teşekkürler ama orada bir çözüm bulamadım, rsi'ye bollinger koymam gerekiyor, manuel olarak yapabilirim ama programlı olarak nasıl yapabilirim?
 
ZZZEROXXX :
teşekkürler ama orada bir çözüm bulamadım, rsi'ye bollinger koymam gerekiyor, manuel olarak yapabilirim ama programlı olarak nasıl yapabilirim?

Bolinger, MA'nın StdDev'de yukarı ve aşağı hareket ettirilmesidir. Bunu iki şekilde yapabilirsiniz.

1. Sapma sapmasının tamsayı değişikliği size uygunsa , iBandsOnArray işlevini kullanabilirsiniz.

2. Deviat'ın ondalık kesirlerini de saymanız gerekiyorsa, iMAOnArray ve iStdOnArray işlevlerini kullanmanız gerekecektir.

Kodda şöyle görünür:

 #property indicator_separate_window
#property indicator_buffers 4
#property indicator_minimum 0
#property indicator_maximum 100

#property indicator_color1 SkyBlue
#property indicator_color2 LimeGreen
#property indicator_color3 LimeGreen
#property indicator_color4 LimeGreen
#property indicator_style2 STYLE_DOT

extern int rsiPeriod= 14 ;
extern int rsiPrice= PRICE_CLOSE ;
extern int bbPeriod= 20 ;
extern int bbShift= 0 ;
int bbMethod= MODE_SMA ;
extern double bbDeviat= 2 ;

double rsi[], ma[], up[], dn[], stdev[];
//------------------------------------------------------------------    init
int init()
{
   int i= 0 ;
   SetIndexBuffer (i, rsi); SetIndexStyle(i, DRAW_LINE ); SetIndexLabel(i, "RSI" ); i++;
   SetIndexBuffer (i, ma); SetIndexStyle(i, DRAW_LINE ); SetIndexLabel(i, "MA" ); i++;
   SetIndexBuffer (i, up); SetIndexStyle(i, DRAW_LINE ); SetIndexLabel(i, "UP" ); i++;
   SetIndexBuffer (i, dn); SetIndexStyle(i, DRAW_LINE ); SetIndexLabel(i, "DN" ); i++;
  IndicatorBuffers( 5 );
   SetIndexBuffer (i, stdev); SetIndexStyle(i, DRAW_NONE ); // добавочный буфер расчета
   return ( 0 );
}
//------------------------------------------------------------------    start
int start()
{
   int count=IndicatorCounted(); if (count< 0 ) return ; // если ошибка расчета
   int lim= Bars -count; if (lim> 1 ) lim= Bars - 1 ; // если нерасчитано более 1 бара, то полный пересчет
   // 1. получаем массив RSI
   for ( int i=lim; i>= 0 ; i--) rsi[i]= iRSI ( Symbol (), Period (), rsiPeriod, rsiPrice, i);
   // 2. строим на основе RSI - МА (средняя линия болинджера), StdDev и Верхнюю и Нижнюю границу Боллинджера
   for (i=lim; i>= 0 ; i--) 
  {
    ma[i]=iMAOnArray(rsi, 0 , bbPeriod, bbShift, bbMethod, i); // средняя линия
    stdev[i]=iStdDevOnArray(rsi, 0 , bbPeriod, bbShift, bbMethod, i); // отклонение
    up[i]=ma[i]+bbDeviat*stdev[i]; // верхняя граница
    dn[i]=ma[i]-bbDeviat*stdev[i]; // нижняя граница
  }
   return ( 0 );
}
Dosyalar:
_bbonrsi.mq4  3 kb
 
abolk :

"Noktalama yok" tuhaflığınızı uyguladığınızda, sorgulayıcı gönderilerinizin genellikle göz ardı edileceğine şaşırmayın.
İnsanların da bir tuhaflığı vardır, genellikle kendilerine saygı duyarlar.
Ayrıca ana dilinize saygı duymanın da bir tuhaflığı var.

Doğru not edildi. Gözün ağrıyor ve uzağa bakmak istiyorsun.
Evet ve şüpheler hala ortaya çıkıyor - " okuryazarlığım hakkında (oluşumlar) "
 
sergeev :

Kodda şöyle görünür:

Sayesinde! Tam olarak ne gerekli.
 
abolk :


"Noktalama yok" tuhaflığınızı uyguladığınızda, sorgulayıcı gönderilerinizin genellikle göz ardı edileceğine şaşırmayın.

İnsanların da bir tuhaflığı vardır, genellikle kendilerine saygı duyarlar.
Ayrıca ana dilinize saygı duymanın da bir tuhaflığı var.

örneğin, onları nereye ekleyeceğimi hala bilmiyorum, sadece sonunda bir nokta olması gerektiğini biliyorum - bunu kesinlikle biliyorum. Rusça en zor dildir. Ama bir artısı var, başka herhangi bir dili kıskandıracak şekilde ifade edilebilir özellikle müstehcen, kısa ve herkes için anlaşılır, bazen birinin anlaması zor olduğunda kullanıyorum, yemin ederim ve herkes bir anda ve sırasında her şeyi anladı. gün kimse sana aptalca sorularla gelmiyor.
 
Sevgili dostlar, birkaç zaman diliminden Open[1] ve Close[1] bilgilerini Expert Advisor'a nasıl çağıracağımı söyler misiniz?
 
Rusça'da Bzik ve dört farklı şeylerdir. Sağlam bir dörtlüğüm var, yeterince var.
Neden: