Kodlama yardımı - sayfa 705

 


double BU1=iMA(Symbol(),0,ShortSma,0,MODE_SMA,PRICE_CLOSE,i+1);

double BL1=iMA(Symbol(),0,LongSma,0,MODE_SMA,PRICE_CLOSE,i);

string SBUY="yanlış";string SSEL="yanlış";

if(BU1<Kapat[1]&&BL1<Kapat[1])SBUY="true";if(BL1>Kapat[1]&&BU1>Kapat[1])SSEL="true";

Şimdi çalışıyor, TP'den sonra Ticarette bir sorun vardı .....

Yardımın için teşekkürler Mladen.

 

merhaba bay mladen

bu kelimeyi nasıl çevirebiliriz:

http://forexsystemsru.com/1075962-post327.html

Küme analizi


saygınlık


 

bay mladen:

MTF yapabilir misin

saygılarımla

Dosyalar:
 

Merhaba sevgili kodlayıcılar,

Muhtemelen basit bir sorum var, ama şu anda takıldım:

EA'm sorunsuz bir şekilde alım satım emirleri açıyor, ancak geldiğinde

SIGNAL_CLOSEBUY veya SIGNAL_CLOSESELL için siparişleri kapatmaz.

Burada alım veya satım emirlerini kapatmak için tetikleyici olarak bir RSI_Filter kullanıyorum.

Kodumu kopyaladım, biri bakabilirse çok mutlu olurum.

Şimdiden teşekkür ederim!

#define SIGNAL_NONE       0
#define SIGNAL_BUY        1
#define SIGNAL_SELL       2
#define SIGNAL_CLOSEBUY   3
#define SIGNAL_CLOSESELL 4

extern int     MaxShortTrades   = 1 ;
extern int     MaxLongTrades    = 1 ;
int            Order            = SIGNAL_NONE;

// RSI Filter
double RSIfilter= iRSI ( Symbol (), 0 ,RSIPeriod, PRICE_CLOSE ,BarShift);

// Trade Signal Indicator
double NLD1,NLD2;
      NLD1 = iCustom ( NULL , 0 , "indicator" , 0 ,Length, 0 , 0 , 1 , 0 , 0 , 0 , 1 );
      NLD2 = iCustom ( NULL , 0 , "indicator" , 0 ,Length, 0 , 0 , 1 , 0 , 0 , 0 , 2 );        

// Amount of long / short trades      
int longs  = 0 ;
int shorts = 0 ;
double j;
      
       for (j= OrdersTotal ()- 1 ;j>= 0 ; j--)
        {
         if ( OrderType ()== OP_BUY )  longs++;   // Check # of long trades.
         if ( OrderType ()== OP_SELL ) shorts++; // Check # of short trades
        }
                
// place orders
if (longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter> 55 ) Order  = SIGNAL_BUY;        
if (shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter< 45 ) Order = SIGNAL_SELL;
   

// Signal Begin(Exit Buy)
if (RSIfilter< 50 ) Order=SIGNAL_CLOSEBUY;

if (Order==SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && ( Bars !=BarCount))))
              {
               dummyResult= OrderClose ( OrderTicket (), OrderLots (), Bid ,Slippage*PipMultiplier,MediumSeaGreen);
               if (EachTickMode) TickCheck = True ;
               if (!EachTickMode) BarCount = Bars ;
               return ( 0 );
              }

// Signal Begin(Exit Sell)                                                              
if (RSIfilter> 50 ) Order=SIGNAL_CLOSESELL;

if (Order==SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && ( Bars !=BarCount))))
                 {
                  dummyResult= OrderClose ( OrderTicket (), OrderLots (), Ask ,Slippage*PipMultiplier,DarkOrange);
                   if (EachTickMode) TickCheck = True ;
                   if (!EachTickMode) BarCount = Bars ;
                   return ( 0 );
                 }
 
tfi_markets :

Merhaba sevgili kodlayıcılar,

Muhtemelen basit bir sorum var, ama şu anda takıldım:

EA'm sorunsuz bir şekilde alım satım emirleri açıyor, ancak geldiğinde

SIGNAL_CLOSEBUY veya SIGNAL_CLOSESELL için siparişleri kapatmaz.

Burada alım veya satım emirlerini kapatmak için tetikleyici olarak bir RSI_Filter kullanıyorum.

Kodumu kopyaladım, biri bakabilirse çok mutlu olurum.

Şimdiden teşekkür ederim!

#define SIGNAL_NONE       0
#define SIGNAL_BUY        1
#define SIGNAL_SELL       2
#define SIGNAL_CLOSEBUY   3
#define SIGNAL_CLOSESELL 4

extern int     MaxShortTrades   = 1 ;
extern int     MaxLongTrades    = 1 ;
int            Order            = SIGNAL_NONE;

// RSI Filter
double RSIfilter= iRSI ( Symbol (), 0 ,RSIPeriod, PRICE_CLOSE ,BarShift);

// Trade Signal Indicator
double NLD1,NLD2;
      NLD1 = iCustom ( NULL , 0 , "indicator" , 0 ,Length, 0 , 0 , 1 , 0 , 0 , 0 , 1 );
      NLD2 = iCustom ( NULL , 0 , "indicator" , 0 ,Length, 0 , 0 , 1 , 0 , 0 , 0 , 2 );        

// Amount of long / short trades      
int longs  = 0 ;
int shorts = 0 ;
double j;
      
       for (j= OrdersTotal ()- 1 ;j>= 0 ; j--)
        {
         if ( OrderType ()== OP_BUY )  longs++;   // Check # of long trades.
         if ( OrderType ()== OP_SELL ) shorts++; // Check # of short trades
        }
                
// place orders
if (longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter> 55 ) Order  = SIGNAL_BUY;        
if (shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter< 45 ) Order = SIGNAL_SELL;
   

// Signal Begin(Exit Buy)
if (RSIfilter< 50 ) Order=SIGNAL_CLOSEBUY;

if (Order==SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && ( Bars !=BarCount))))
              {
               dummyResult= OrderClose ( OrderTicket (), OrderLots (), Bid ,Slippage*PipMultiplier,MediumSeaGreen);
               if (EachTickMode) TickCheck = True ;
               if (!EachTickMode) BarCount = Bars ;
               return ( 0 );
              }

// Signal Begin(Exit Sell)                                                              
if (RSIfilter> 50 ) Order=SIGNAL_CLOSESELL;

if (Order==SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && ( Bars !=BarCount))))
                 {
                  dummyResult= OrderClose ( OrderTicket (), OrderLots (), Ask ,Slippage*PipMultiplier,DarkOrange);
                   if (EachTickMode) TickCheck = True ;
                   if (!EachTickMode) BarCount = Bars ;
                   return ( 0 );
                 }

Devam etmeden önce çözmeniz gereken iki sorun:

  1. Önce bir sipariş seçmelisiniz - siparişi kapatmaya çalışmadan önce hiç seçmediniz
  2. Kapatmak istediğiniz emrin tipini kontrol etmiyorsunuz - tipini kontrol edin ve ardından emir tipine göre daha fazla işlem yapın - ve kapanış fiyatını emir tipine bağlı olarak teklif veya talep olarak ayarlayın
 
mladen :

Devam etmeden önce çözmeniz gereken iki sorun:

  1. Önce bir sipariş seçmelisiniz - siparişi kapatmaya çalışmadan önce hiç seçmediniz
  2. Kapatmak istediğiniz emrin tipini kontrol etmiyorsunuz - tipini kontrol edin ve ardından emir tipine göre daha fazla işlem yapın - ve kapanış fiyatını emir tipine bağlı olarak teklif veya talep olarak ayarlayın

Sevgili Mladen,

faydalı önerileriniz için çok teşekkür ederim.

Seni doğru anladıysam aşağıdaki kod gibi bir şey uygulamam gerekiyor

Bir "buy_ticket" seçmek için EA'nın kapanması gerekir. Kod henüz test edilmedi ve bir tür "sözde durum".

int buy_ticket= 0 ;
int sell_ticket= 0 ;
int ticket;

// Iterate through tickets
for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
    {
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) && OrderMagicNumber ()==MagicNumber && OrderSymbol ()== Symbol ())
         {
           if ( OrderType ()== OP_BUY )
              buy_ticket= OrderTicket ();
             else
             if ( OrderType () == OP_SELL )
               sell_ticket= OrderTicket ();
           }
        }

// Close Ticket with trigger
if (RSIfilter< 50 ) Order=SIGNAL_CLOSEBUY;

if (RSIfilter>50) Order=SIGNAL_CLOSESELL; 

                
if (Order==CLOSE_BUY && buy_ticket!= 0 )
         {
         if ( OrderSelect (buy_ticket, SELECT_BY_TICKET ))
            {
             if (! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (),Slippage, clrDodgerBlue ))
               Print ( "Error closing Buy #" ,( string ) OrderTicket (), " Error code " ,( string ) GetLastError ());
            }
         }
       else
       if (Order==CLOSE_SELL && sell_ticket!= 0 )
         {
         if ( OrderSelect (sell_ticket, SELECT_BY_TICKET ))
            {
             if (! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (),Slippage, clrDodgerBlue ))
               Print ( "Error closing Sell #" ,( string ) OrderTicket (), " Error code " ,( string ) GetLastError ());
            }
         }
    
 
tfi_markets :

Sevgili Mladen,

faydalı önerileriniz için çok teşekkür ederim.

Seni doğru anladıysam aşağıdaki kod gibi bir şey uygulamam gerekiyor

Bir "buy_ticket" seçmek için EA'nın kapanması gerekir. Kod henüz test edilmedi ve bir tür "sözde durum".

int buy_ticket= 0 ;
int sell_ticket= 0 ;
int ticket;

// Iterate through tickets
for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
    {
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) && OrderMagicNumber ()==MagicNumber && OrderSymbol ()== Symbol ())
         {
           if ( OrderType ()== OP_BUY )
              buy_ticket= OrderTicket ();
             else
             if ( OrderType () == OP_SELL )
               sell_ticket= OrderTicket ();
           }
        }

// Close Ticket with trigger
if (RSIfilter< 50 ) Order=SIGNAL_CLOSEBUY;

if (RSIfilter>50) Order=SIGNAL_CLOSESELL; 

                
if (Order==CLOSE_BUY && buy_ticket!= 0 )
         {
         if ( OrderSelect (buy_ticket, SELECT_BY_TICKET ))
            {
             if (! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (),Slippage, clrDodgerBlue ))
               Print ( "Error closing Buy #" ,( string ) OrderTicket (), " Error code " ,( string ) GetLastError ());
            }
         }
       else
       if (Order==CLOSE_SELL && sell_ticket!= 0 )
         {
         if ( OrderSelect (sell_ticket, SELECT_BY_TICKET ))
            {
             if (! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (),Slippage, clrDodgerBlue ))
               Print ( "Error closing Sell #" ,( string ) OrderTicket (), " Error code " ,( string ) GetLastError ());
            }
         }
    

Aynı anda açılan sadece 1 siparişiniz (aynı büyü, sembol demek istiyorum) var mı?

Evet ise, o zaman işe yarayacaktır.

 

Sevgili arkadaşlar,

Ekli adet, sabit lota sürekli açık siparişlerdir ( tüm siparişlere açıktır 0.10 )

Açık sipariş lot değerini değiştirmiyorum veya kontrol etmiyorum!!


"Lot" ve "MaximumRisk" değerleri ayarlarında mevcuttur, ancak siparişlerin lot değerleri üzerinde etkili değildir!

Lütfen bana yardım eder misin?

 

merhaba bay mladen

bu resme benzer boş bir alt pencere yapabilir misin

saygınlık

 

Merhaba Mladen, indirdim

stepma_pdf_4_4.ex4 ve histgram,

onları MT4'e kopyaladı. Bunları grafik penceresine sürüklemek

Aşağıdaki mesajı alıyorum, lütfen resme bakın:

Göstergenizi nasıl kullanabileceğimi söyler misiniz?


Lea


not. aynı şey şu durumlarda oldu: ortalamalar_-_mtf__alerts_7_4.ex4 ve histogram

Dosyalar:
warning.jpg  20 kb