Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 679

 

Ctrade'i bağlayan bir robot yazıyorum, önce her saatin başında piyasa fiyatından bir Al anlaşması yapacağı, yarım saat içinde her şeyi satacağı (Sat) mantığına göre kurmak istiyorum. Market fiyatı. Test cihazında test ediyorum - Geçersiz sipariş türü çöküyor hatası.

SBER aracı, istemci - Açılış. İşlemler manuel modda yapılır , gerçek ve demo hesapta test edilmez.

Ne yanlış olabilir? Borsada piyasa fiyatından işlem yapmanın imkansız olduğu doğru mu?

 
post_ek :

Ctrade'i bağlayan bir robot yazıyorum, önce her saatin başında piyasa fiyatından bir Al anlaşması yapacağı, yarım saat içinde her şeyi satacağı (Sat) mantığına göre kurmak istiyorum. Market fiyatı. Test cihazında test ediyorum - Geçersiz sipariş türü çöküyor hatası.

SBER aracı, istemci - Açılış. İşlemler manuel modda yapılır , gerçek ve demo hesapta test edilmez.

Ne yanlış olabilir? Borsada piyasa fiyatından işlem yapmanın imkansız olduğu doğru mu?

kodunuz olmadan, orada ne yazdığınızı ve neden sizin için işe yaramadığını anlamak imkansız.
 
İyi günler Danışman bir dizüstü bilgisayarda çalışıyorsa ve uyku moduna geçmişse, bağlı danışman bu durumda çalışır mı?
 
Movlat Baghiyev :
İyi günler Danışman bir dizüstü bilgisayarda çalışıyorsa ve uyku moduna geçmişse, bağlı danışman bu durumda çalışır mı?
Ve herhangi bir değerin günlüğüne bir baskı ekler ve öğrenirsiniz. Yazmıyor, bu yüzden çalışmıyor.
 
Vitalie Postolache :
Ve herhangi bir değerin günlüğüne bir baskı ekler ve öğrenirsiniz. Yazmıyor, bu yüzden çalışmıyor.
Bu çok açık. Birinin deneyimlerini bir acemi ile paylaşabileceğini düşündüm.
 
Movlat Baghiyev :
İyi günler Danışman bir dizüstü bilgisayarda çalışıyorsa ve uyku moduna geçmişse, bağlı danışman bu durumda çalışır mı?

kural olarak, uyku modunda vida kapatılır,

Geçenlerde bir sunucu kurdum ve sadece 3. günde bilgisayarın uyuduğunu, yani çiftçilik yapmadığını gördüm. tüm danışmanlar işe yaramadı,

devre dışı uyku modu, her şey yolunda.

 
Movlat Baghiyev :
Bu çok açık. Birinin deneyimlerini bir acemi ile paylaşabileceğini düşündüm.
Eh, benim deneyimime göre, uyku modunda çok az çalışır, sadece bazı sistem hizmetleri.
 
Movlat Baghiyev :
İyi günler Danışman bir dizüstü bilgisayarda çalışıyorsa ve uyku moduna geçmişse, bağlı danışman bu durumda çalışır mı?

Numara. Çalışmayacak. Güç ayarlarınızda şunları ayarlayın:

Uyku modu YOK!

 
Sergey Gritsay :
kodunuz olmadan, orada ne yazdığınızı ve neden sizin için işe yaramadığını anlamak imkansız.
//+------------------------------------------------------------------+
//|                                                         Gear.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"

#include <Trade/Trade.mqh>
CTrade  trade;

bool TimeFlag, FLG;
int TimeScale= 50 , TimeInMemory, TimeNow;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---

   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
  
   //---Блок получения информации с биржи    
   MqlTick oCurrentTick;
   SymbolInfoTick ( Symbol (), oCurrentTick);
//---Блок определения начала нового временного интервала
   TimeFlag= false ;
   datetime tm= TimeCurrent ();
   MqlDateTime stm;
   TimeToStruct (tm,stm);
   if ( MathMod ( StringToInteger (( string )stm.min),TimeScale)== 0 )
     {
      TimeNow= StringToInteger (( string )stm.min);
     }
   if (TimeNow != TimeInMemory)
     {
      TimeInMemory=TimeNow;
      TimeFlag= true ;
       //Print(_Symbol);
     }
    
     if (TimeFlag)
       {
       if (FLG)
         {
   if (!trade.Buy( 1 , _Symbol ))
     {
       //--- сообщим о неудаче
       Print ( "Метод Buy() потерпел неудачу. Код возврата=" ,trade.ResultRetcode(),
             ". Описание кода: " ,trade.ResultRetcodeDescription());
     }
   else
     {
       Print ( "Метод Buy() выполнен успешно. Код возврата=" ,trade.ResultRetcode(),
             " (" ,trade.ResultRetcodeDescription(), ")" );
     }
         FLG= false ;
         }
       else
         {
         trade.Sell( 1 );
         FLG= true ;
         }
       }
  }
//+------------------------------------------------------------------+
 
post_ek :

Bunu yapamazsınız:

bool TimeFlag,FLG;
int TimeScale= 50 , TimeInMemory,TimeNow;

daha doğrusu, böyle bir bildirimden sonra, bu değişkenleri OnInit() içinde açıkça başlatmak ( değer atamak ) gereklidir.

Ayrıca, Satış yöntemine aşağıdaki gibi kontroller uygulayın:

trade.ResultRetcode(),
             " (" ,trade.ResultRetcodeDescription(), ")" );

Ve bir engel olabilir - sabah, ticaretin açılışında, ticaret ilk saniyeden değil, hemen gitmez - şu anda hatalar mümkündür.