[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 165

 
MikeM :
Böyle bir işlev vardır: TimeCurrent().
Bir pozisyon açarken bu fonksiyonun değerini hatırlamanız gerekir ve eğer yeni bir pozisyon açmak istiyorsanız bu fonksiyonun mevcut ve saklanan değerleri arasındaki farkı kontrol edin.
Arzunuzu belirtin. Belki bir süre geçtikten sonra yeni bir pozisyon açmak istersiniz, örneğin: 15 dk / 4 saat / 10 saat, 17 dk. ve 38 sn.?
 
Bu benim arzum değil. Bu, 12:08'deki sorunuzun cevabı.
 
MikeM :
Bu benim arzum değil. Bu, 12:08'deki sorunuzun cevabı.
TAMAM. gönderide "cevap" ı tıklayın, aksi halde bunun sorumun cevabı olduğunu bilmiyordum. Güzel tavsiye, dediğin gibi yapacağım. Sayesinde.
 
paladin80 :
TAMAM. gönderide "cevap" ı tıklayın, aksi halde bunun sorumun cevabı olduğunu bilmiyordum. Güzel tavsiye, dediğin gibi yapacağım. Sayesinde.

Anladığım kadarıyla, birden fazla Uzman Danışmanınız varsa ve işlem emirlerinin gönderilmesinde herhangi bir çakışma yoksa,

bunu kullanabilirsiniz:

 if ( IsTradeContextBusy ()) Sleep ( 5000 ); //Торговый поток занят. Подождите 5 ceкунд

OrderSend()'den önce ekleyin;

 

Daha da iyisi, pozisyon açma işlevi.

 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 10.04.2008                                                     |
//|  Описание : Открывает позицию по рыночной цене.                            |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (NULL или "" - текущий символ)          |
//|    op - операция                                                           |
//|    ll - лот                                                                |
//|    sl - уровень стоп                                                       |
//|    tp - уровень тейк                                                       |
//|    mn - MagicNumber                                                        |
//|    co - комментарий                                                        |
//+----------------------------------------------------------------------------+
void OpenPosition( string sy, int op, double ll, double sl= 0 , double tp= 0 , int mn= 0 , string co= "" ) {
   color     clOpen;
   datetime ot;
   double    pp, pa, pb;
   int       dg, err, it, ticket= 0 ;

   if (sy== "" || sy== "0" ) sy= Symbol ();
   if (op==OP_BUY) clOpen=clOpenBuy; else clOpen=clOpenSell;
   if (co== "" ) co= WindowExpertName ()+ " " +GetNameTF( Period ());
   for (it= 1 ; it<=NumberOfTry; it++) {
     if (! IsTesting () && (! IsExpertEnabled () || IsStopped ())) {
       Print ( "OpenPosition(): Остановка работы функции" );
       break ;
    }
     while (! IsTradeAllowed ()) Sleep ( 5000 );
     RefreshRates ();
    dg= MarketInfo (sy, MODE_DIGITS);
    pa= MarketInfo (sy, MODE_ASK);
    pb= MarketInfo (sy, MODE_BID);
     if (op==OP_BUY) pp=pa; else pp=pb;
    pp= NormalizeDouble (pp, dg);
    ot= TimeCurrent ();
     if (MarketWatch)
      ticket= OrderSend (sy, op, ll, pp, Slippage, sl, tp, co, mn, 0 , clOpen);
     else
      ticket= OrderSend (sy, op, ll, pp, Slippage, sl, tp, co, mn, 0 , clOpen);
     if (ticket> 0 ) {
       if (UseSound) PlaySound (SoundSuccess); break ;
    } else {
      err= GetLastError ();
       if (UseSound) PlaySound (SoundError);
       if (pa== 0 && pb== 0 ) Message( "Проверьте в Обзоре рынка наличие символа " +sy);
       // Вывод сообщения об ошибке
       Print ( "Error(" ,err, ") opening position: " ,ErrorDescription(err), ", try " ,it);
       Print ( "Ask=" ,pa, " Bid=" ,pb, " sy=" ,sy, " ll=" ,ll, " op=" ,GetNameOP(op),
             " pp=" ,pp, " sl=" ,sl, " tp=" ,tp, " mn=" ,mn);
       // Блокировка работы советника
       if (err== 2 || err== 64 || err== 65 || err== 133 ) {
        gbDisabled=True; break ;
      }
       // Длительная пауза
       if (err== 4 || err== 131 || err== 132 ) {
         Sleep ( 1000 * 300 ); break ;
      }
       if (err== 128 || err== 142 || err== 143 ) {
         Sleep ( 1000 * 66.666 );
         if (ExistPositions(sy, op, mn, ot)) {
           if (UseSound) PlaySound (SoundSuccess); break ;
        }
      }
       if (err== 140 || err== 148 || err== 4110 || err== 4111 ) break ;
       if (err== 141 ) Sleep ( 1000 * 100 );
       if (err== 145 ) Sleep ( 1000 * 17 );
       if (err== 146 ) while ( IsTradeContextBusy ()) Sleep ( 1000 * 11 );
       if (err!= 135 ) Sleep ( 1000 * 7.7 );
    }
  }
   if (MarketWatch && ticket> 0 && (sl> 0 || tp> 0 )) {
     if ( OrderSelect (ticket, SELECT_BY_TICKET)) ModifyOrder(- 1 , sl, tp);
  }
}
[Удален]  
İyi günler Trol ile ilgili bir soru 25 puanlık bir son durak belirledim.Akşam işten eve geliyorum ama fiyat gün içinde 70 puan gitmesine rağmen anlaşma kapanmıyor.Hiçbir şeyi sevmiyorum : stop aşağı hareket etmemelidir
 
demid61 :
İyi günler Trol ile ilgili bir soru 25 puanlık bir son durak belirledim.Akşam işten eve geliyorum ama fiyat gün içinde 70 puan gitmesine rağmen anlaşma kapanmıyor.Hiçbir şeyi sevmiyorum : stop aşağı hareket etmemelidir

Kod nerede? Kodsuz - burada.
 
demid61 :

İyi günler Trol ile ilgili bir soru 25 puanlık bir son durak belirledim.

muhtemelen "ve bilgisayarı kapat" tarzında küçük bir opus var

[Удален]  
sergeev :

muhtemelen "ve bilgisayarı kapat" tarzında küçük bir opus var




:)) Bilgisayarsız da olur sanmıştım
 
gawara :
Herkese merhaba beyler... Uzun süre google'ladım ama google'a bakmadım... Bir sorum var, html'de bir ifade var, netlik için grafik üzerinde görselleştirilmesi gerekiyor, öyle görünüyor bana programlama açısından bu mümkün, kim benzer bir şeyle karşılaştıysa, bana pliz söyle. .. bana öyle geliyor ki bu işi yapan bir tür komut dosyası olmalı ... şimdiden teşekkürler ...

https://www.mql5.com/ru/code/10425