Kodlama yardımı - sayfa 747

 
Umarım bu ekran tam olarak ne istediğimi gösterir :)
Dosyalar:
 
skyler1234321 :
Umarım bu ekran tam olarak ne istediğimi gösterir :)

HighLowCandle > 0 kullanıyorsanız, kapalı bir mum üzerinde emilir.

UseBarDirection öğesini true olarak ayarlayın ve ardından kontrol edin

 

Evet ayarlarda var. Test ettiğim ayarlarım var

Meybe kodunda yanlış bir şey var. İçini kontrol edebilir misin?

Dosyalar:
2.PNG  25 kb
 
cja :

Bir grafik ekranı için MT5 gösterge verilerine erişmenin basit bir yolu var mı? MT5 ilk çıktığında kodun sadece basit bir gösterge için oldukça karmaşık olduğunu biliyorum ve MT5'in en son sürümünde bir şeyler değişmiş olabilir mi?

Örneğin, MT4 ile grafik nesnesi ekranında bir MA çaprazı göstermek istersem kullanırım

double slow_MA = iMA(Symbol(),0,100,0,MA_MODE,MA_PRICE,0);

double fast_MA = iMA(Symbol(),0,35,0,MA_MODE,MA_PRICE,0);

if (ma_fast > ma_slow){ sütun = clrLime;}

if (ma_fast <ma_slow) {col = clrRed;}

başka {col = clrGray;}


MT5'te basit bir eşdeğer var mı? yoksa bu bilgilere erişmek için anlatılmamış kod satırları mı yazmam gerekiyor?

merhaba cja

İlk önce 2017'de TSD'yi tekrar ziyaret ettiğiniz için teşekkür ederiz, ardından tsd'yi çok nadir ziyaret ettiğiniz için ancak çok eski, kıdemli ve uzman üye olduğunuz için size mutlu yıllar :)

Saygılarımızla

 

Bu Trailing with Step rutinini değiştirmeye çalışıyorum.
Alış/satış girişinden değil, stoploss'tan hareket etmem gerekiyor...

örneğin: (SATIN AL işlemi)

StopLoss: 250 (puan olarak)
Sonuç :150 (puan olarak)
TralingStep: 50 (puan olarak)
===========

SATIN AL Giriş=> 1000
StopLoss=>750 (=1000-250)

================
İlk Fiyat Değişikliği) Fiyat taşındı: 1150

(Buna ihtiyacım yok.. ;-( )
Takip, stoploss'umu "buy_entrance" =>1000'e taşıyor

(Ama buna ihtiyacım var)
Takip, stoploss'umu => 800'e taşımalı (=StopLoss+Trailingstep)

İkinci Fiyat Değişikliği) Fiyat taşındı: 1300
İzleyen gösteri => 950'ye taşınır (=Kaybı Durdur+İlerleyen adım)


gerçek kod, takip eden ve takip eden adımı kullanıyor ancak onu değiştirmem gerekiyor ...
(fiyat hareket ettiğinde) sondaki noktalara ulaşıldığında ve durdurma kaybını , ancak gerçek kodu hareket ettirmek için takip eden adımı kullanır.
stoploss'u operasyonun Giriş noktasına taşıyın (ve bunu istemiyorum)

İhtiyacım var:

SATIN AL açıldığında: takip eden adıma ulaşılırsa, takip eden adım fiili stoploss'tan çıkarılmalıdır. (NewStopLoss = LastStoploss - TrailingStep)
SATIŞ açıldığında: takip eden adıma ulaşılırsa, takip eden adım fiili stoploss'tan eklenmelidir. (NewStopLoss = LastStoploss +TrailingStep)

#include <Trade/Trade.mqh>
#include <Trade/SymbolInfo.mqh>
#include <Trade/PositionInfo.mqh>
CTrade Trade;
CSymbolInfo Sym;
CPositionInfo Pos;

int
 Trailing =  150 ;
int  TrailingStep =  25 ;

void  fSimpleTrailingStep(){    //mt5
    if (Trailing<= 0 ){
       return ;
   }         
    if (!Pos.Select( _Symbol )){
       return ;
   }         
    if (!Sym. RefreshRates ()){
       return ;  
   }   
    double  nsl,tmsl,psl,newstop;  
    switch (Pos.PositionType()){
       case   POSITION_TYPE_BUY :
         nsl=Sym.NormalizePrice(Sym. Bid ()- _Point *Trailing);
             if (nsl>=Sym.NormalizePrice(Pos.PriceOpen())){
                //if(nsl>Sym.NormalizePrice(Pos.StopLoss())){
                if (nsl>=Sym.NormalizePrice(Pos.StopLoss()+ _Point *TrailingStep)){   //////////////
                   //tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
                   tmsl=Sym.NormalizePrice(Sym. Bid ()- _Point *Sym.StopsLevel());
                      if (nsl<tmsl){
                         //Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
                        newstop=Sym.NormalizePrice(Pos.StopLoss()+ _Point *TrailingStep);
                        Trade.PositionModify( _Symbol ,newstop,Pos.TakeProfit());
                         Print  ( "(BUY) Trailing :" +Pos.StopLoss());
                     }
               }
            }
       break ;
       case   POSITION_TYPE_SELL :
         nsl=Sym.NormalizePrice(Sym. Ask ()+ _Point *Trailing);
             //if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())){             
             if (nsl<=Sym.NormalizePrice(Pos.PriceOpen())- _Point *TrailingStep){    //////////////
               psl=Sym.NormalizePrice(Pos.StopLoss());
                   if (nsl<psl || psl== 0 ){
                     tmsl=Sym.NormalizePrice(Sym. Ask ()+ _Point *Sym.StopsLevel());
                         if (nsl>tmsl){
                           newstop=Sym.NormalizePrice(Pos.StopLoss()- _Point *TrailingStep);
                            //Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
                           Trade.PositionModify( _Symbol ,newstop,Pos.TakeProfit());
                            Print  ( "(SELL) Trailing :" +Pos.StopLoss());
                        }
                  }
            }      
       break ;
   }
}
 
baraozemo :

Bu Trailing with Step rutinini değiştirmeye çalışıyorum.
Alış/satış girişinden değil, stoploss'tan hareket etmem gerekiyor...

örneğin: (SATIN AL işlemi)

StopLoss: 250 (puan olarak)
Sonuç :150 (puan olarak)
TralingStep: 50 (puan olarak)
===========

SATIN AL Giriş=> 1000
StopLoss=>750 (=1000-250)

================
İlk Fiyat Değişikliği) Fiyat taşındı: 1150

(Buna ihtiyacım yok.. ;-( )
Takip, stoploss'umu "buy_entrance" =>1000'e taşıyor

(Ama buna ihtiyacım var)
Takip, stoploss'umu => 800'e taşımalı (=StopLoss+Trailingstep)

İkinci Fiyat Değişikliği) Fiyat taşındı: 1300
İzleyen gösteri => 950'ye taşınır (=Kaybı Durdur+İlerleyen adım)


gerçek kod, takip eden ve takip eden adımı kullanıyor ancak onu değiştirmem gerekiyor ...
(fiyat hareket ettiğinde) sondaki noktalara ulaşıldığında ve durdurma kaybını, ancak gerçek kodu hareket ettirmek için takip eden adımı kullanır.
stoploss'u operasyonun Giriş noktasına taşıyın (ve bunu istemiyorum)

İhtiyacım var:

SATIN AL açıldığında: takip eden adıma ulaşılırsa, takip eden adım fiili stoploss'tan çıkarılmalıdır. (NewStopLoss = LastStoploss - TrailingStep)
SATIŞ açıldığında: takip eden adıma ulaşılırsa, takip eden adım fiili stoploss'tan eklenmelidir. (NewStopLoss = LastStoploss +TrailingStep)

#include <Trade/Trade.mqh>
#include <Trade/SymbolInfo.mqh>
#include <Trade/PositionInfo.mqh>
CTrade Trade;
CSymbolInfo Sym;
CPositionInfo Pos;

int
 Trailing =  150 ;
int  TrailingStep =  25 ;

void  fSimpleTrailingStep(){    //mt5
    if (Trailing<= 0 ){
       return ;
   }         
    if (!Pos.Select( _Symbol )){
       return ;
   }         
    if (!Sym. RefreshRates ()){
       return ;  
   }   
    double  nsl,tmsl,psl,newstop;  
    switch (Pos.PositionType()){
       case   POSITION_TYPE_BUY :
         nsl=Sym.NormalizePrice(Sym. Bid ()- _Point *Trailing);
             if (nsl>=Sym.NormalizePrice(Pos.PriceOpen())){
                //if(nsl>Sym.NormalizePrice(Pos.StopLoss())){
                if (nsl>=Sym.NormalizePrice(Pos.StopLoss()+ _Point *TrailingStep)){   //////////////
                   //tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
                   tmsl=Sym.NormalizePrice(Sym. Bid ()- _Point *Sym.StopsLevel());
                      if (nsl<tmsl){
                         //Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
                        newstop=Sym.NormalizePrice(Pos.StopLoss()+ _Point *TrailingStep);
                        Trade.PositionModify( _Symbol ,newstop,Pos.TakeProfit());
                         Print  ( "(BUY) Trailing :" +Pos.StopLoss());
                     }
               }
            }
       break ;
       case   POSITION_TYPE_SELL :
         nsl=Sym.NormalizePrice(Sym. Ask ()+ _Point *Trailing);
             //if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())){             
             if (nsl<=Sym.NormalizePrice(Pos.PriceOpen())- _Point *TrailingStep){    //////////////
               psl=Sym.NormalizePrice(Pos.StopLoss());
                   if (nsl<psl || psl== 0 ){
                     tmsl=Sym.NormalizePrice(Sym. Ask ()+ _Point *Sym.StopsLevel());
                         if (nsl>tmsl){
                           newstop=Sym.NormalizePrice(Pos.StopLoss()- _Point *TrailingStep);
                            //Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
                           Trade.PositionModify( _Symbol ,newstop,Pos.TakeProfit());
                            Print  ( "(SELL) Trailing :" +Pos.StopLoss());
                        }
                  }
            }      
       break ;
   }
}
İlk başlangıcınız her zaman ilk alım/satım girişinden olmalıdır (başka bir uygun kriter yoktur)
 

sevgili MLADEN

Timmy ve ben, "ortalamalar - mtf - uyarılar 8.7" ye dayalı, trend değişikliğine dayalı basit bir EA ile basit bir EA ile oynamaya (kopyala/yapıştır) çalışıyoruz (kopyala/yapıştır), ikimiz de kodlama konularında sıfırız, lütfen yardım ve kılavuz, nasıl bu ortalamalar için kodlamak (icustom) ver.

Saygılarımızla



     double Averages_trend_current  = iCustom ( NULL , 0 , "averages - mtf - alerts  8.7" , PERIOD_CURRENT ,AveragePeriod,AveragePrice,AverageMethod,DoubleSmoothedAverage,AdaptiveAverage,FilterPeriod,FilterOn,BarToUse);

     double Averages_trend_previous = iCustom ( NULL , 0 , "averages - mtf - alerts  8.7" , PERIOD_CURRENT ,AveragePeriod,AveragePrice,AverageMethod,DoubleSmoothedAverage,AdaptiveAverage,FilterPeriod,FilterOn,BarToUse+ 1 );


Dosyalar:
 
mntiwana :

sevgili MLADEN

Timmy ve ben, "ortalamalar - mtf - uyarılar 8.7" ye dayalı, trend değişikliğine dayalı basit bir EA ile basit bir EA ile oynamaya (kopyala/yapıştır) çalışıyoruz (kopyala/yapıştır), ikimiz de kodlama konularında sıfırız, lütfen yardım ve kılavuz, nasıl bu ortalamalar için kodlamak (icustom) ver.

Saygılarımızla



     double Averages_trend_current  = iCustom ( NULL , 0 , "averages - mtf - alerts  8.7" , PERIOD_CURRENT ,AveragePeriod,AveragePrice,AverageMethod,DoubleSmoothedAverage,AdaptiveAverage,FilterPeriod,FilterOn,BarToUse);

     double Averages_trend_previous = iCustom ( NULL , 0 , "averages - mtf - alerts  8.7" , PERIOD_CURRENT ,AveragePeriod,AveragePrice,AverageMethod,DoubleSmoothedAverage,AdaptiveAverage,FilterPeriod,FilterOn,BarToUse+ 1 );


Tamponlarda bir sorun var, satın almak için tampon: 2 ve satış için hem tampon 3 hem de 4 kullandım, ancak her şey her zaman tetikleniyor, yalnızca satın almak için tampon 2'yi ve satmak için tampon 3'ü kullanmaya çalıştım, ama aynı şey oldu .
 
timmyhanke :
Tamponlarda bir sorun var, satın almak için tampon: 2 ve satış için hem tampon 3 hem de 4 kullandım, ancak her şey her zaman tetikleniyor, yalnızca satın almak için tampon 2'yi ve satmak için tampon 3'ü kullanmaya çalıştım, ama aynı şey oldu .

Tamponlarda yanlış bir şey yok. Yükseliş için tampon 9 : 1, düşüş için -1 arabelleği kullanın

 

Sayın Mladen,


Strateji ticaretim için bir histogram göstergesine ihtiyacım var, şu anda XB4 göstergesini ve Bandit strateji göstergesini kullanıyorum. ancak e-postaya veya android MT4'e gönderilen uyarı ve bildirimleri yok.

Android cep telefonuna gönderilen uyarı e-postası ve bildirimi olan değiştirilmiş gösterge XB4d göstergeniz var mı? histogramın rengi ilk çubukta maviden kırmızıya veya kırmızıdan maviye değişirse.

ve rengi maviden kırmızıya veya kırmızıdan maviye değiştiren Bandid sistem göstergesinden histogram trend oturumu, değişen trendin ilk rengi.

Bu gösterge hakkında bana yardımcı olabilir misiniz Bay Mladen.




Saygılarımızla,

samuel

Dosyalar:
bandit.PNG  56 kb
XB4.PNG  46 kb
Neden: