Expertadvisor koduna gösterge kodu nasıl eklenir?

[Silindi]  

yukarıda bahsettiğim gibi stokastik kodlama ile bir tane yapmak istiyorum.

sorun, gösterge kodunun ea'ya nasıl ekleneceğidir?

 
albert_lim83 :

sorun, gösterge kodunun ea'ya nasıl ekleneceğidir?

Belirli sınırlamalarla yapabilirsiniz, ancak iCustom'u kullanmak çok daha kolaydır.

Ama gerçekten istiyorsanız: Bir Gösterge Kodunu Uzman Danışman Koduna Aktarmak. Gösterge Yapısı - MQL4 Makaleleri

 

Stokastik için iCustom gerekli değildir

çift iStochastic ( string sembolü, int zaman çerçevesi, int %Kperiod, int %Dperiod, int yavaşlama, int metodu, int fiyat_alanı, int modu, int shift)
Stokastik osilatörü hesaplar ve değerini döndürür.
parametreler:
sembol - Göstergeyi hesaplamak için verilerinin kullanılması gereken sembol. NULL, geçerli sembol anlamına gelir.
zaman aralığı - Zaman aralığı. Zaman Çerçevesi numaralandırma değerlerinden herhangi biri olabilir. 0, mevcut grafik zaman çerçevesi anlamına gelir.
%Kdönem - %K satır periyodu.
%Ddönem - %D satır periyodu.
yavaşlama - Yavaşlayan değer.
yöntem - MA yöntemi. Hareketli Ortalama yöntemi numaralandırma değerinden herhangi biri olabilir.
fiyat_alanı - Fiyat alanı parametresi. Şu değerlerden biri olabilir: 0 - Düşük/Yüksek veya 1 - Kapat/Kapat.
mod - Gösterge satırı indeksi. Göstergeler satır tanımlayıcıları numaralandırma değerinden herhangi biri olabilir.
vardiya - Gösterge tamponundan alınan değerin indeksi (geçerli periyotlar öncesindeki mevcut çubuğa göre kayma).
Örneklem:
 if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0))
    dönüş(0);
MQL4 İşlevlerinin Alfabetik Dizinini bulmak için birçok kodlama yardımı burada https://www.mql5.com/en/forum/122679

[Silindi]  

ea içine rvi göstergesi eklemeye ne dersiniz?

ayrıca stokastik ekleme yöntemiyle aynı kodu mu kullanıyorsunuz?

 
Belgeleri okuyun
 
albert_lim83 :

ea içine rvi göstergesi eklemeye ne dersiniz?

ayrıca stokastik ekleme yöntemiyle aynı kodu mu kullanıyorsunuz?


iCustom() veya iRVI()

 
albert_lim83 :

ea içine rvi göstergesi eklemeye ne dersiniz?

ayrıca stokastik ekleme yöntemiyle aynı kodu mu kullanıyorsunuz?


  1. iCustom - MQL4 forumunun ayrıntılı açıklaması
[Silindi]  

EA kaçışına RVI göstergesi eklemeye çalışıyorum, ancak başarısızlık ...

gösterir

küresel kapsamda ifadeye izin verilmiyor

fonksiyon tanımı beklenmedik

dengesiz parantezler

bu hata nasıl düzeltilir??

[Silindi]  

işte bu sabah yaptığım kod.

düzeltmeme yardımcı olabilecek var mı??


//+------------------------------------------- -------------------+
int init()
{
//---- gösterge arabellek eşlemesi
SetIndexBuffer(0,Buffer);
SetIndexBuffer(1,SignalBuffer);
//---- gösterge çizgisi
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
//---- çizim ayarları
SetIndexDrawBegin(0,RVIPeriod+3);
SetIndexDrawBegin(1,RVIPeriod+7);
//---- DataWindow ve gösterge alt pencere etiketi için isim
GöstergeShortName("RVI("+RVIPeriod+")");
SetIndexLabel(0,"RVI");
SetIndexLabel(1,"RVIS");
//---- başlatma tamamlandı
dönüş(0);
}
{
çift teklif =MarketInfo(Symbol(),MODE_BID); // Bid değeri için istek
çifte sor =MarketInfo(Symbol(),MODE_ASK); // Ask değeri için istek
çift nokta =MarketInfo(Symbol(),MODE_POINT);//Puan Talebi
dönüş; // start()'tan çık
if(AccountFreeMargin()<100)
Print("Paramız yok. Serbest Marj = ", AccountFreeMargin());
dönüş(0);
}

int başlangıç()
{
{
int i,j,nLimit,nCountedBars;
çift dValueUp,dValueDown,dNum,dDeNum;
//----
if(Bars<=RVIPPeriod+8) return(0);
//----
nCountedBars=IndicatorCounted();
//---- olası hataları kontrol et
if(nCountedBars<0) dönüş(-1);
//---- son sayılan çubuk yeniden sayılacak
nLimit=Barlar-RVIPeriod-4;
if(nCountedBars>RVIPeriod+4)
nLimit=Barlar-nCountedBars;
//---- 1. tamponda sayılan RVI
for(i=0; i<=nLimit; i++)
{
dNum=0.0;
dDeNum=0.0;
for(j=i; j<i+RVIPeriod; j++)

{
dValueUp=((Kapat[j]-Aç[j])+2*(Kapat[j+1]-Aç[j+1])+2*(Kapat[j+2]-Aç[j+2]) +(Kapat[j+3]-Aç[j+3]))/6;
dValueDown=((Yüksek[j]-Düşük[j])+2*(Yüksek[j+1]-Düşük[j+1])+2*(Yüksek[j+2]-Düşük[j+2]) +(Yüksek[j+3]-Düşük[j+3]))/6;
dNum+=dValueUp;
dDeNum+=dValueDown;
}
if(dDeNum!=0.0)
Tampon[i]=dNum/dDeNum;
başka
Tampon[i]=dNum;
}
//---- 2. tamponda sayılan sinyal hattı
nLimit=Barlar-RVIPeriod-7;
if(nCountedBars>RVIPPeriod+8)
nLimit=Barlar-nCountedBars+1;
for(i=0; i<=nLimit; i++)
SignalBuffer[i]=(Tampon[i]+2*Tampon[i+1]+2*Tampon[i+2]+Tampon[i+3])/6;
//----
dönüş(0);
}
{
OrderSend(Symbol,LotSize,Ask,StopLoss,TakeProfit,0,0);
eğer (Kapat<i)
OpenBuy();
dönüş(0);

OrderSend(Symbol,LotSize,Bid,StopLoss,TakeProfit,0,0);
eğer (Kapat>i)
OpenSell();
dönüş(0);
}


double GetSizeLot() { return(LotSize); }
double GetTakeProfitBuy() { return(Sor+TakeProfit*Puan); }
double GetTakeProfitSell() { return(Teklif Al-Kar*Puan); }
double GetStopLossBuy() { return(Bid-StopLoss*Puan); }
double GetStopLossSell() { return(Sor+StopLoss*Puan); }
string GetCommentForOrder() { return();}

dönüş(0); }

 

Konu açmadan önce lütfen diğer konuları okuyunuz. . . o zaman bunun gibi sayısız istek görürdünüz:

Lütfen kodu göndermek için bunu kullanın. . . okumayı kolaylaştırır.

 
albert_lim83 :

işte bu sabah yaptığım kod.

düzeltmeme yardımcı olabilecek var mı??

Bir EA'da Gösterge kodunu kullanamazsınız. . . linkini verdiğim konuyu oku Eşit sayıda { ve } ve eşit sayıda ( ve ) olması gerekir. . . . Bunu zaten bir kez söylemedim mi? https://www.mql5.com/en/forum/139447 Diğer gönderilerden öğrenmeye tenezzül etmiyorsun sanırım?