Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 190

 
gyulnara.kosareva :
Merhaba. Bu EA'nın yalnızca eski dosyası varsa, EA'yı mql4 dosyası olmadan yükleyebilir miyim?

Evet, iş için gerekli olan .ex dosyasıdır

 
Herkese selam.
Android'de, MT4 uygulama sürümü 400.1129 kuruldu, 10/29/2019 tarihine kadar uygulama saat gibi çalıştı. Cuma günü telefonumda açmaya başladım, yeni bir demo hesabı açtığıma dair bir ekran koruyucu parladı ve uygulama hemen kapandı. Ve masaüstüne geçtim. Sonraki düzine denemeler aynı sonuçla sona erdi. Terminali yıktı, oyun pazarından yenisine indirdi, kurdu, aynı sonucu başlattı - uygulama çöktü. Piyasadan "robo forex MT4" indirdim, kurdum, başlattım - saat gibi çalışıyor. MT5 pazarından 500.1780 sürümünü indirdim, kurdum, başlattım, bir demo hesabı açtım ve sonra her şey yolunda gidiyor.
MT4'ün telefonumda tekrar çalışmaya başlaması için ne yapacağımı söyle! Lütfen.
 

Herkese iyi günler! Lütfen bana neyin yanlış olduğunu söyle? Piyasadaki testçi, taleplerden şikayet ediyor - NEW_ORDER(): lot=0.20; POSITION_TYPE_BUY (EURUSD); err: 4756/ Takas talebi gönderilemedi ; retcode: 10004/ Requote ;

Bu hata hakkında daha fazla bilgiyi nereden okuyabilirim ve nasıl düzeltebilirim?

 
Nikolai Konstantinov :

Herkese iyi günler! Lütfen bana neyin yanlış olduğunu söyle? Piyasadaki testçi, taleplerden şikayet ediyor - NEW_ORDER(): lot=0.20; POSITION_TYPE_BUY (EURUSD); err: 4756/ Takas talebi gönderilemedi ; retcode: 10004/ Requote ;

Bu hata hakkında daha fazla bilgiyi nereden okuyabilirim ve nasıl düzeltebilirim?


Bu bir hata değil, piyasa durumudur.
1. İcra için bir takas göndermeden önce fiyatları güncelleyin.
2. Onarımdan sonra tekrar açmayı deneyin
3. Kaymayı artırın
 
Vladislav Andruschenko :

Bu bir hata değil, piyasa durumudur.
1. İcra için bir takas göndermeden önce fiyatları güncelleyin.
2. Onarımdan sonra tekrar açmayı deneyin
3. Kaymayı artırın

Teşekkür ederim ama yazdığın her şey zaten dikkate alındı. Belki başka bir şey vardır?

 

Hey! Bana yardım et lütfen!

Belirgin bir sebep olmadan MT4 takılmaya başladı. Ve her şey, farklı DC'lerden.

Terminal başlangıçta donuyor . Göndericide önüne "cevap vermiyor" yazıyor. Hiçbir şeye tepki vermiyor, MT panelinde Aşağı; bağlantı olmadığını gösterir.

Terminalleri yeniden başlatmak, farklı aracılardan değiştirmek, silip yeniden yüklemek, Clean programını kullanarak verileri temizlemek, Bilgisayarı kapatıp açmak işe yaramadı.

İşletim sistemini yeniden yüklemek için kalır, ancak çok isteksizdir.

Belki birisi buna sahipti?

Bana kimin yapabileceğini söyle.

 
odyn :

İşletim sistemini yeniden yüklemek için kalır, ancak çok isteksizdir.

bir seçenek olarak, işletim sistemini ve terminali sanal bir makineye kurun, Oracle VM VirtualBox'ı sorunsuz kurdum, MT4 / MT5 orada çalışıyor

ve sonra işletim sistemi ise, yeniden yükleyin


Kendim kontrol ettim, hem MT4 hem de MT5 sorunsuz çalışıyor, Win10 - 64

 
odyn :

Hey! Bana yardım et lütfen!

Belirgin bir sebep olmadan MT4 takılmaya başladı. Ve her şey, farklı DC'lerden.

Terminal başlangıçta donuyor . Göndericide önüne "cevap vermiyor" yazıyor. Hiçbir şeye tepki vermiyor, MT panelinde Aşağı; bağlantı olmadığını gösterir.

Terminalleri yeniden başlatmak, farklı aracılardan değiştirmek, silip yeniden yüklemek, Clean programını kullanarak verileri temizlemek, Bilgisayarı kapatıp açmak işe yaramadı.

İşletim sistemini yeniden yüklemek için kalır, ancak çok isteksizdir.

Belki birisi buna sahipti?

Bana kimin yapabileceğini söyle.

Sorunun kaynağı Internet Explorer olabilir

koşullara bağlı olarak - ya güncellenmeli ya da geri alınmalıdır :-) Ve hiçbir durumda eklentilere, eklentilere ve uzantılara izin verilmemelidir.

Yazarlar, kaşif bileşeninin piyasayı / sinyalleri / haberleri / sohbeti görüntülemek için kurallarını belirlediğine karar verdi, ancak kaşifin kendisi sonsuz bir beta. Ve sorunları terminale "müdahale ediyor"

 

Herkese iyi günler.

Koddaki koşulu değiştirebilirsiniz: "Uzman Danışman, son pozisyonun kapanmasına bağlı olarak bir pozisyon açar. Eğer pozisyon yoksa, o zaman son mumun yönüne bağlı olarak" 2 bekleyen emir verme imkanı için. cari fiyattan belirli bir mesafede ve emirlerden biri tetiklendiğinde 2. th kaldırıldı . Algoritmanın geri kalanı değişmeden kalır.

Kendim düzelttim, ancak çalışan bir sürüm elde edemedim.

 #property description "Советник открывает позицию в зависимости от закрытия прошлой позиции. Если позиции не было то в зависимости от направления прошлой свечи"
#property description "При достижение Т/P следующий ордер открывается в эту же сторону"
#property description "При достижение S/L следующий открывается в противоположную сторону"
//+------------------------------------------------------------------
#property show_inputs
//+------------------------------------------------------------------
enum TT {BUY, SELL, BUYLIMIT, SELLLIMIT, BUYSTOP, SELLSTOP};
enum YN {No,Yes};
//+------------------------------------------------------------------
extern TT     Type         = BUY;
extern double Price        = 0 ; 
extern int     Distance     = 0 ;
extern int     stoploss     = 300 ,
              takeprofit   = 300 ;
extern double risk         = 0.01 ; //процент от депозита для рассчета объема первой позиции
extern double KoeffMartin  = 2.0 ;
extern int     OkrLOT       = 2 ; //округление лота
extern int     slippage     = 3 ; //Максимально допустимое отклонение цены для рыночных ордеров
extern int     MagicNumb    = 77 ; //Magic

double MINLOT,MAXLOT;                                  
//+------------------------------------------------------------------+
int OnInit ()
{
   MAXLOT = MarketInfo( Symbol (),MODE_MAXLOT);
   MINLOT = MarketInfo( Symbol (),MODE_MINLOT);
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
void OnTick ()
{
   double OSL,OTP,OOP,SL,TP;
   int tip;
   double STOPLEVEL=MarketInfo( Symbol (),MODE_STOPLEVEL);
   for ( int i= 0 ; i
   {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
      {
         if (OrderSymbol()== Symbol () && OrderMagicNumber()==MagicNumb)
         {
            tip = OrderType(); 
            OSL = NormalizeDouble (OrderStopLoss(), Digits );
            OTP = NormalizeDouble (OrderTakeProfit(), Digits );
            OOP = NormalizeDouble (OrderOpenPrice(), Digits );
            SL=OSL;TP=OTP;
             if (tip==OP_BUY)             
            {  
               if (OSL== 0 && stoploss>=STOPLEVEL && stoploss!= 0 )
               {
                  SL = NormalizeDouble (OOP - stoploss   * Point , Digits );
               } 
               if (OTP== 0 && takeprofit>=STOPLEVEL && takeprofit!= 0 )
               {
                  TP = NormalizeDouble (OOP + takeprofit * Point , Digits );
               } 
               if (SL != OSL || TP != OTP)
               {  
                   if (!OrderModify(OrderTicket(),OOP,SL,TP, 0 ,White)) Print ( "Error OrderModify <<" , GetLastError (), ">> " );
               }
            }                                         
             if (tip==OP_SELL)        
            {
               if (OSL== 0 && stoploss>=STOPLEVEL && stoploss!= 0 )
               {
                  SL = NormalizeDouble (OOP + stoploss   * Point , Digits );
               }
               if (OTP== 0 && takeprofit>=STOPLEVEL && takeprofit!= 0 )
               {
                  TP = NormalizeDouble (OOP - takeprofit * Point , Digits );
               }
               if (SL != OSL || TP != OTP)
               {  
                   if (!OrderModify(OrderTicket(),OOP,SL,TP, 0 ,White)) Print ( "Error OrderModify <<" , GetLastError (), ">> " );
               }
            } 
             return ;
         }
      }
   }
   tip=- 1 ;
   double Lot= 0 ;
    for (i=OrdersHistoryTotal()- 1 ; i>= 0 ; i--)
   {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY))
      {
         if (OrderSymbol()== Symbol () && OrderMagicNumber()==MagicNumb)
         {
             if (OrderProfit()< 0 ) 
            {
               Lot=lot(OrderLots(),KoeffMartin);
               tip=OrderType();
            }
             else 
            {
               Lot=lot( 0 , 1 );
               if (OrderType()==OP_BUY)  tip=OP_SELL;
               if (OrderType()==OP_SELL) tip=OP_BUY;
            }
             break ;
         }
      }
   }

   if (tip==- 1 )
   {
      Lot=lot( 0 , 1 );
       if (Open[ 1 ]>Close[ 1 ]) tip=OP_BUY;
       else tip=OP_SELL;
   }
   if (tip==OP_BUY) if ( OrderSend ( Symbol (),OP_SELL,Lot, NormalizeDouble (Bi  d, Digits ),slippage, 0 , 0 , NULL ,MagicNumb,Blue)!=- 1 ) Comment ( "Open Sell" );
   if (tip==OP_SELL) if ( OrderSend ( Symbol (),OP_BUY ,Lot, NormalizeDouble (Ask, Digits ),slippage, 0 , 0 , NULL   ,MagicNumb,Blue)!=- 1 ) Comment ( "Open Buy" );                               
}
//--------------------------------------------------------------------

double lot( double l, double k)

{

   double ML = AccountFreeMargin()/MarketInfo( Symbol (),MODE_MARGINREQUIRED);

   if (k== 1 ) l = ML*risk/ 100 ;
   else l = NormalizeDouble (l*k,OkrLOT);
   if (l>ML) l = ML;
   if (l>MAXLOT) l = MAXLOT;
   if (l
   return (l);
}
//-----------------------------------------------------------------
            {
               Lot=lot( 0 , 1 );
               if (OrderType()==OP_BUY)  tip=OP_SELL;
               if (OrderType()==OP_SELL) tip=OP_BUY;
            }
             break ;
         }
      }
   }

   if (tip==- 1 )
   {
      Lot=lot( 0 , 1 );
       if (Open[ 1 ]>Close[ 1 ]) tip=OP_BUY;
       else tip=OP_SELL;
   }
   
   if (tip==OP_BUY) if ( OrderSend ( Symbol (),OP_SELL,Lot, NormalizeDouble (Bi  d, Digits ),slippage, 0 , 0 , NULL ,MagicNumb,Blue)!=- 1 ) Comment ( "Open Sell" );
   if (tip==OP_SELL) if ( OrderSend ( Symbol (),OP_BUY ,Lot, NormalizeDouble (Ask, Digits ),slippage, 0 , 0 , NULL   ,MagicNumb,Blue)!=- 1 ) Comment ( "Open Buy" );                                 
}
//--------------------------------------------------------------------
double lot( double l, double k)
{
   double ML = AccountFreeMargin()/MarketInfo( Symbol (),MODE_MARGINREQUIRED);
   if (k== 1 ) l = ML*risk/ 100 ;
   else l = NormalizeDouble (l*k,OkrLOT);
   if (l>ML) l = ML;
   if (l>MAXLOT) l = MAXLOT;
   if (l
   return (l);
}
//-----------------------------------------------------------------
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
Dosyalar:
SSSR_v.1.mq4  11 kb
 
Son yazımı tekrar etmeye çalışayım:

//--------------------------------------
Algoritmaya göre danışman, önceki pozisyonun kapanmasına bağlı olarak bir pozisyon açar.
Pozisyon yoksa, son mumun yönüne bağlı olarak.

Bu algoritma şu şekilde değiştirilmelidir:

Satın almak:

Ayarlarda belirtilen fiyattan 2 adet bekleyen BuyStop ve ayarlarda belirtilen fiyattan SellStop emri veriyoruz.
Fiyat stop emirlerinden birine ulaşır ulaşmaz TP ve SL ile piyasa pozisyonuna geçer. Çalışmayan sipariş silinir.

Algoritmanın geri kalanı değişmeden kalır, yani: "T/P'ye ulaşıldığında bir sonraki sipariş aynı yönde açılır"
"S/L'ye ulaşıldığında, bir sonraki ters yönde açılır"
//------------------------------------------------ ---