ModRed : Bir MA göstergesi var. Ve benzer bir HMA var. Bir Expert Advisor'a nasıl eklenebilir? Kodu tamamen kopyala? Yoksa daha kısa bir versiyonu var mı?
Fikir çok güzel ama işlemleri başka terminallere aktaracak veya kopyalayacak programları burada görmediniz.Bir komisyoncu hizmetleri olmadan çalışır mı, iyi yapılabilir mi?
ModRed : Bir MA göstergesi var. Ve benzer bir HMA var. Bir Expert Advisor'a nasıl eklenebilir? Kodu tamamen kopyala? Yoksa daha kısa bir versiyonu var mı?
Herkese selamlar Bir sorunum var - göstergeyi "kaybettim". Bu, iki parametreyi değiştirmenin mümkün olduğu bir tür düzleştirilmiş CCI'dir - bir nokta ve bir tür çarpan. Orijinal versiyonda, bu parametreler sırasıyla 20 ve 2'ye eşittir Ve her şeyi doğru hatırlıyorsam, bu göstergenin adı iki kelimeden oluşuyordu ve ikinci kelime İngilizce "C" harfiyle başladı.Birdenbire kim bilir, yardım edin!
Ancak genel olarak, elbette, yapıcıyı aşırı yükleyebilir ve Init () yerine kullanabilirsiniz, sonuçta bu aynı işlevdir. Hangi seçeneğin seçileceği herkes için kişisel bir meseledir, zevk konularında, bildiğiniz gibi, danışman yoktur)
Başlatma başarısız olursa, örneğin Init () gibi bir yöntemin kullanılması durumunda, bunu ilgili türde bir değer döndürme olarak tanımlayabilir ve bir hata durumunda karşılık gelen değeri döndürebilirsiniz. Çağıran kod bu nedenle başarısız başlatmanın farkındadır ve bu nedenle nesne kullanılamaz. Bir kurucu kullanılıyorsa, çağıran kod başarısız başlatma hakkında nasıl bilir?
Yardım edin beyler, baykuşun pozisyon daha önce bir sinyalle açıldığı gibi aynı çubukta bir emir açmamasını, ancak yeni bir çubuk bekleyip sinyali tekrar kontrol etmesini nasıl sağlar, böyle mi yaptı - çubuk çubuk
bunu ekledi -
datetime BARflag = 0 ;
ve -
int start()
{
datetime now = Time[ 0 ];
if (BARflag >= now) return ( 0 );
BARflag = now;
Yardım edin beyler, baykuşun pozisyon daha önce bir sinyalle açıldığı gibi aynı çubukta bir emir açmamasını, ancak yeni bir çubuk bekleyip sinyali tekrar kontrol etmesini nasıl sağlar, böyle mi yaptı - çubuk çubuk
bunu ekledi -
ve -
Bunun gibi bir şey:
//---if (iBarShift(OrderSymbol(), Period (),OrderOpenTime())== 0 ) {
// выбранный ордер открыт на нулевом (текущем) баре, значит ещё рано открывать следующий
}
else {
// выбранный ордер открыт не на нулевом (текущем) баре, значит можно открывать следующий
}
Teşekkürler, bir örnek için öngörülen satırları deşifre etmeyi zorlaştırmaz mı?--//seçilen sipariş sıfır (akım) çubuğunda açık, bir sonrakini açmak için çok erken olduğu anlamına geliyor
// seçilen sipariş sıfır (geçerli) çubuğunda açılmaz, böylece bir sonrakini açabilirsiniz...???
Teşekkürler, örneğin belirtilen satırları deşifre etmeyi zorlaştırmaz mı?--//seçilen sipariş sıfır (mevcut) çubuğunda açık, bir sonrakini açmak için çok erken demek
// seçilen sipariş sıfır (geçerli) çubuğunda açılmaz, böylece bir sonrakini açabilirsiniz...???
//+------------------------------------------------------------------+int BarOpenLastPos( string sy, int timeframe, int op, int mn) {
datetime t= 0 ;
int i, j=- 1 , k= OrdersTotal ()- 1 ;
for (i=k; i>= 0 ; i--) {
if ( OrderSelect (i, SELECT_BY_POS)) {
if (OrderSymbol()!=sy) continue ;
if (OrderType()!=op) continue ;
if (OrderMagicNumber()!=mn) continue ;
if (t<OrderOpenTime()) {
t=OrderOpenTime();
j=i;
}
}
}
if ( OrderSelect (j, SELECT_BY_POS)) return (iBarShift(sy,timeframe,OrderOpenTime()));
return (- 1 );
}
//+------------------------------------------------------------------+
İşlev -1 döndürürse, verileri işleve aktarılan açık pozisyon yoktur.
Kullanım örneği:
if (BarOpenLastPos( Symbol (), Period (), OP_BUY, magic)> 0 ) {
// бар открытия последней открытой позиции Buy на текущем символе, текущем таймфрейме, // с магиком magic больше нулевого --> можно открывать следующую позицию
}
veya
if (BarOpenLastPos(USDCAD, PERIOD_M15 , OP_SELL, magic0)< 0 ) {
// нет позиций Sell на USDCAD с магиком magic0 --> можно открывать позицию на USDCAD
}
Buf1 neden Buf0'dan farklı değerlere sahip? mantıksal olarak aynı mı olmalılar?
Neden değişken aracılığıyla bazı değerler ve arabellek (veri dizisi) --> aracılığıyla diğer değerler var (dizi daha fazla hesaplama için gereklidir)? m1 ve m2 değişkenlerinin yanı sıra dizi aracılığıyla nasıl yapılır
Bir MA göstergesi var. Ve benzer bir HMA var. Bir Expert Advisor'a nasıl eklenebilir? Kodu tamamen kopyala? Yoksa daha kısa bir versiyonu var mı?
iCustom'u öğren
Fikir çok güzel ama işlemleri başka terminallere aktaracak veya kopyalayacak programları burada görmediniz.Bir komisyoncu hizmetleri olmadan çalışır mı, iyi yapılabilir mi?
Böyle mi?
Bir MA göstergesi var. Ve benzer bir HMA var. Bir Expert Advisor'a nasıl eklenebilir? Kodu tamamen kopyala? Yoksa daha kısa bir versiyonu var mı?
Herkese selamlar Bir sorunum var - göstergeyi "kaybettim". Bu, iki parametreyi değiştirmenin mümkün olduğu bir tür düzleştirilmiş CCI'dir - bir nokta ve bir tür çarpan. Orijinal versiyonda, bu parametreler sırasıyla 20 ve 2'ye eşittir Ve her şeyi doğru hatırlıyorsam, bu göstergenin adı iki kelimeden oluşuyordu ve ikinci kelime İngilizce "C" harfiyle başladı.Birdenbire kim bilir, yardım edin!
Ancak genel olarak, elbette, yapıcıyı aşırı yükleyebilir ve Init () yerine kullanabilirsiniz, sonuçta bu aynı işlevdir. Hangi seçeneğin seçileceği herkes için kişisel bir meseledir, zevk konularında, bildiğiniz gibi, danışman yoktur)
Başlatma başarısız olursa, örneğin Init () gibi bir yöntemin kullanılması durumunda, bunu ilgili türde bir değer döndürme olarak tanımlayabilir ve bir hata durumunda karşılık gelen değeri döndürebilirsiniz. Çağıran kod bu nedenle başarısız başlatmanın farkındadır ve bu nedenle nesne kullanılamaz. Bir kurucu kullanılıyorsa, çağıran kod başarısız başlatma hakkında nasıl bilir?
Yardım edin beyler, baykuşun pozisyon daha önce bir sinyalle açıldığı gibi aynı çubukta bir emir açmamasını, ancak yeni bir çubuk bekleyip sinyali tekrar kontrol etmesini nasıl sağlar, böyle mi yaptı - çubuk çubuk
bunu ekledi -
ve -Yardım edin beyler, baykuşun pozisyon daha önce bir sinyalle açıldığı gibi aynı çubukta bir emir açmamasını, ancak yeni bir çubuk bekleyip sinyali tekrar kontrol etmesini nasıl sağlar, böyle mi yaptı - çubuk çubuk
bunu ekledi -
ve -Bunun gibi bir şey:
Bunun gibi bir şey:
Teşekkürler, bir örnek için öngörülen satırları deşifre etmeyi zorlaştırmaz mı?--//seçilen sipariş sıfır (akım) çubuğunda açık, bir sonrakini açmak için çok erken olduğu anlamına geliyor
// seçilen sipariş sıfır (geçerli) çubuğunda açılmaz, böylece bir sonrakini açabilirsiniz...???
Teşekkürler, örneğin belirtilen satırları deşifre etmeyi zorlaştırmaz mı?--//seçilen sipariş sıfır (mevcut) çubuğunda açık, bir sonrakini açmak için çok erken demek
// seçilen sipariş sıfır (geçerli) çubuğunda açılmaz, böylece bir sonrakini açabilirsiniz...???
İşte son açık pozisyonun açık çubuğunu döndüren bir fonksiyon:
İşlev -1 döndürürse, verileri işleve aktarılan açık pozisyon yoktur.
Kullanım örneği:
veya
Uzmanlar sizden yardım istiyor...
test01 algoritması
//+------------------------------------------------------------------+ //test //+------------------------------------------------------------------+ #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 clrGold #property indicator_color2 clrBlue #property indicator_level1 0 //--- indicator buffers double Buf0[]; double Buf1[]; double t1[]; double t2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { IndicatorBuffers(4); SetIndexBuffer(0,Buf0); SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(1,Buf1); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(2,t1); SetIndexBuffer(3,t2); //--- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i,counted_bars; counted_bars=IndicatorCounted(); i=Bars-counted_bars-1; int sr=24,n; double sum,sum2; double m1,m2; while(i>=0) { sum=0; sum2=0; for(n=i; n<=i+sr-1; n++) { if(Open[i]>Open[i+1]) m1=sum=sum+Close[i]-Close[n]; if(Open[i]<Open[i+1]) m2=sum=sum+Close[i]-Close[n]; if(Open[i]>Open[i+1]) t1[i]=sum2=sum2+Close[i]-Close[n]; if(Open[i]<Open[i+1]) t2[i]=sum2=sum2+Close[i]-Close[n]; } Buf0[i]=(m1+m2)/sr; Buf1[i]=(t1[i]+t2[i])/sr; i--; } return(0); } //+------------------------------------------------------------------+Buf1 neden Buf0'dan farklı değerlere sahip? mantıksal olarak aynı mı olmalılar?
Neden değişken aracılığıyla bazı değerler ve arabellek (veri dizisi) --> aracılığıyla diğer değerler var (dizi daha fazla hesaplama için gereklidir)? m1 ve m2 değişkenlerinin yanı sıra dizi aracılığıyla nasıl yapılır