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

 
Mopo3 :

evet, buna "malzemeyi öğren" denir, yani. dilim :)


Eh, orada ilkenin 1 dakikanın yarısı olduğu gerçeğine dayandığını hatırlıyorum. ve sonra 20 dakikalık süreyi görmek için ne söylerdik. veriler 1 dakika boyunca sadece 20 bar için alınır....

anlamı ... o zaman bu konuda rahatsız olmadım ...))

 

İnsanlar! MA trend değişikliğine bakın, yardımcı olabilecek var mı? https://www.mql5.com/ru/forum/131277/page159

 
Zor değilse, yalan söylememesi için Murray seviyeleri için hangi periyodun ayarlanması gerektiğini veya her TF için kendi periyodunu söyleyin. senin ise, ne
 

Güzel gün!!!!!

Hatanın nerede olduğunu söyle ...... derlerken hata yok, ancak eSvechi + MA AUDUSD, H1: OrderSend hatası 131 , test cihazı günlüğünde işlem yapmıyor, ancak ne olduğunu anlamıyorum

 //+------------------------------------------------------------------+
//|                                                   eSvechi+MA.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"


//---- input parameters
extern int        MA= 13 ;
extern double     Lots= 0.01 ;
extern int        StopLoss= 100 ;
extern int        TakeProfit= 100 ;
extern int        MagicNumber= 501 ;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
  
bool CheckOrders( int Type)
{
 bool Result=True;
 for ( int i= 0 ;i< OrdersTotal ();i++)
   if ( OrderSelect (i,SELECT_BY_POS))
   if (OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol ())
       if (OrderType()==Type)
        {
         if (Type==OP_BUY)
           if (!OrderClose(OrderTicket(),OrderLots(),Bid, 0 ))
             Result=False;
         if (Type==OP_SELL)
           if (!OrderClose(OrderTicket(),OrderLots(),Ask, 0 ))
             Result=False;
         } 
         else Result=False;
 return (Result); 
}

// Проверяем наличие закрытой на текущей свече позиции типа Type. Если есть, то возвращает False  
bool CheckExists( int Type)  
{
 bool Result=True;
 for ( int i=OrdersHistoryTotal()- 1 ; i>= 0 ;i--)
   if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY))
   if (OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol () && OrderCloseTime() >= Time[ 0 ] && OrderType() == Type)
    {
     Result=False;
     break ;
     }
 return (Result); 
 }
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {

         // Узнаем уровень стопов и спрэд
     int Spread = MarketInfo( Symbol (), MODE_SPREAD);
     int StopLevel = MarketInfo( Symbol (), MODE_STOPLEVEL);

         //Рассчитываем значения средних на 0-ом и 1-м баре
     double MA_0 = iMA ( NULL , 0 , MA, 0 , 1 , 1 , 0 );    
     double MA_1 = iMA ( NULL , 0 , MA, 0 , 1 , 1 , 1 );
    
 //-------------открытие позиции Buy покупка-----------------
 //сравниваем на 1-м баре цену закр. и откр. между собой и с МА, на 0-м баре откр. меньше МА закр. больше МА
     if (
       (Open[ 0 + 1 ]<Close[ 0 + 1 ])&& 
       (Close[ 0 + 1 ]<MA_1)&&
       (Open[ 0 ]<MA_0)&&
       (Close[ 0 ]>MA_0)
      )
     if (CheckOrders(OP_SELL) && CheckExists(OP_BUY))
      {
       if (StopLoss <= StopLevel+Spread)
         double SL = 0 ;
         else
         SL = Ask - StopLoss* Point ;
       if (TakeProfit <= StopLevel-Spread)
         double TP = 0 ;
         else
         TP = Ask + TakeProfit* Point ;
       if (! OrderSend ( Symbol (), OP_BUY, Lots, Ask, 10 , SL, TP, NULL , MagicNumber))
         Print ( "Не открыт ордер Buy. Ошибка №" , GetLastError ()); 
       }
     //-------------------Конец блока покупки -------------------
     //-------------Открытие позиции Sell продажа----------------   
     if (
       (Open[ 0 + 1 ]>Close[ 0 + 1 ])&& 
       (Close[ 0 + 1 ]>MA_1)&&
       (Open[ 0 ]>MA_0)&&
       (Close[ 0 ]<MA_0)
      )
     if (CheckOrders(OP_BUY) && CheckExists(OP_SELL))
      {
       if (StopLoss <= StopLevel+Spread)
         SL = 0 ;
         else
         SL = Bid + StopLoss* Point ;
       if (TakeProfit <= StopLevel-Spread)
         TP = 0 ;
         else
         TP = Bid - TakeProfit* Point ;
       if (! OrderSend ( Symbol (), OP_SELL, Lots, Bid, 10 , SL, TP, NULL , MagicNumber))
         Print ( "Не открыт ордер Sell. Ошибка №" , GetLastError ()); 
       }
//-----------------конец блока продажи ----------------------
   return ( 0 );
  }
//+------------------------------------------------------------------+

ERR_INVALID_TRADE_VOLUME 131 Geçersiz hacim, hacim granülasyonunda hata. Tüm alım satım işlemleri girişimlerini durdurmak ve programın mantığını değiştirmek gerekir.

Mantık doğru gibi.

 
igrok2008 :

Güzel gün!!!!!

Hatanın nerede olduğunu söyle ...... derlerken hata yok, ancak eSvechi + MA AUDUSD, H1: OrderSend hatası 131, test cihazı günlüğünde işlem yapmıyor, ancak ne olduğunu anlamıyorum

ERR_INVALID_TRADE_VOLUME 131 Geçersiz hacim, hacim granülasyonunda hata. Tüm alım satım işlemleri girişimlerini durdurmak ve programın mantığını değiştirmek gerekir.

Mantık doğru gibi.


Lotlar en az olmalıdır (+ bunun bir katı gibi görünüyor) MarketInfo( Symbol() , MODE_MINLOT);

Birçok ticaret programı için 0,1'dir ve sizin için 10 kat daha ucuzdur.

 
ilunga :


Lotlar en az olmalıdır (+ bir katı gibi görünüyor) MarketInfo(Symbol(), MODE_MINLOT);

Birçok ticaret programı için 0,1'dir ve sizin için 10 kat daha az maliyetlidir.

VE HERŞEY!!!! Bütün mesele bu!!!!!!!!! .......... Peki ya 5-10 dolarlık küçük depolar???????
 
ilunga :


Lotlar en az olmalıdır (+ bir katı gibi görünüyor) MarketInfo(Symbol(), MODE_MINLOT);

Birçok ticaret programı için 0,1'dir ve sizin için 10 kat daha ucuzdur.

lotu 0.1 olarak değiştirdi, hala işlem yapmıyor
 
igrok2008 :
lotu 0.1 olarak değiştirdi, hala işlem yapmıyor


InterBank'ta başlatıldı, her şey 0.01 ile bile çalışıyor

Alpari 0.01'de 131 hatası veriyor, 0.1'de çalışıyor

 
ilunga :


InterBank'ta başlatıldı, her şey 0.01 ile bile çalışıyor

Alpari 0.01'de 131 hatası veriyor, 0.1'de çalışıyor

bir demo hesabında Alpari'dir ve test edilmektedir TİCARET YAPILMAMAKTADIR!!!!! MT4 terminal inşa 229........ söyle bana!!!!!!
 
igrok2008 :

Güzel gün!!!!!

Hatanın nerede olduğunu söyle ...... derlerken hata yok, ancak eSvechi + MA AUDUSD, H1: OrderSend hatası 131, test cihazı günlüğünde işlem yapmıyor, ancak ne olduğunu anlamıyorum

ERR_INVALID_TRADE_VOLUME 131 Geçersiz hacim, hacim granülasyonunda hata. Tüm alım satım işlemleri girişimlerini durdurmak ve programın mantığını değiştirmek gerekir.

Mantık doğru gibi.

NormalizeDouble işlevini kullanarak zararı durdur, fiyatı al ve aç fiyatını normalleştirmeniz gerekir