Hatalar, hatalar, sorular - sayfa 3154

 
Wizard # :

Anladım. Ve eğer CSymbolInfo sınıfının NormalizePrice işlevini kullanmak istemiyorsam (mümkünse kitaplıklardan kaçınmaya çalışırım), bir alternatif var mı?

Sadece gerektiğinde kullanın, her hapşırmada değil.

 
Wizard # :

Expert Advisor giriş ayarları penceresinde döviz çiftlerinin ve enstrümanlarının (çiftlerim) açılır bir listesini yapmak istiyorum. Bunu nasıl yapabilirim?

 //+------------------------------------------------------------------+
//|                                                    InputList.mq5 |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link        " https://www.mql5.com "
#property version    "1.00"

//------------------------------------
enum ENUM_SYMBOL 
{
   EURUSD, 
   GBPUSD, 
   JPYUSD
};

//------------------------------------
input ENUM_SYMBOL EnumSymbol = EURUSD;   //Выбери символ

//------------------------------------
void OpenChart(ENUM_SYMBOL symbol) 
{
   switch (symbol)
   {
       case EURUSD: ChartSetSymbolPeriod ( 0 , "EURUSD" , PERIOD_CURRENT ); break ;
       case GBPUSD: ChartSetSymbolPeriod ( 0 , "GBPUSD" , PERIOD_CURRENT ); break ;
       case JPYUSD: ChartSetSymbolPeriod ( 0 , "JPYUSD" , PERIOD_CURRENT ); break ;   
       default : return ;
   }
}

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

   //ChartSetSymbolPeriod() выполняется асинхронно
   //Поэтому тут придумываем ожидание, на прогрузку истории
   //Sleep() тут просто для примера
   Sleep ( 5000 );

   return ( INIT_SUCCEEDED );
}

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{

}

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
{

}
Sihirbaz # :

nasıl doğru yazılır...

 double stop = NormalizeDouble ( SymbolInfoDouble ( _Symbol , SYMBOL_ASK ) - 100 * _Point , _Digits );
 
Vitaly Muzichenko # :

Sadece gerektiğinde kullanın, her hapşırmada değil.

Tamam, tavsiyen için teşekkürler.

 
Roman # :

Kalbimin derinliklerinden teşekkür ederim! Yararlı bir şey her seferinde enstrümanın adını girmemektir) Bu yüzden enum, switch ve case hepsi bir arada olmalıdır.

 

Moderatörler, lütfen gönderileri "Yeni başlayanlardan gelen sorular" bölümüne taşıyın.

Bu, hatalar, hatalar ve bunların çözümleri hakkında bir bölümdür.

 
merhaba, bağlantı sorunlarım var, MT5 terminalini başlattıktan sonra bağlantı yaklaşık 20 denemeden sonra bağlanmaya başlıyor, ardından kopuyor vb. bu, interneti yeniden bağladıktan hemen sonra oluyor, komisyoncu her şeyin kendi açılarından iyi olduğunu söylüyor
 

MetaEditor (C# DLL içe aktarma) tarafından desteklenen en son .NET sürümünün ne olduğunu bulmanın bir yolu var mı?

Güncellemek için planlarınız neler?

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MT5'te bir hata nasıl bildirilir?

bot , 2022.02.09 12:54

MT5'te bir hatayı bildirmek için genel süreci bilmek istiyorum.


Bir dotnet6.0 C# DLL oluşturdum. MetaEditor, DLL'nin işlevlerini bulabilir ve kod düzgün derlenir, ancak MT5, DLL içinde gerekli işlevleri bulamaz.

Bu sorunun, C# DLL'nin çok eski bir sürümünde oluşmadığını unutmayın.

Bunu MT5 desteğine nasıl bildirebilirim?

teşekkürler


 

Meta alıntılar.


 


Söyle bana, csv yerine Metatrader başka ne okuyabilir?

 //+------------------------------------------------------------------+
//|                                                          WST.mq5 |
//|                           Copyright © 2009, WallStreetTrader Pro |
//|                                 https://wallstreettraderpro.com/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, WST"
#property link        "https://wallstreettraderpro.com/"
#include <stdlib.mqh>
#property indicator_separate_window
#property indicator_buffers 8
//---- input parameters
extern string     файл_данных 1 = ".csv" ;
extern string     подпись 1 = "" ;
extern color      цвет 1 =Red;
extern string     файл_данных 2 = ".csv" ;
extern string     формат_даты= "dd.mm.yyyy" ;
extern string     разделитель_записей= ";" ;
extern string     разделитель_целой_и_дробной= "," ;

//---- buffers
double FA1[];
double FA2[];
double FA3[];
double FA4[];
double FA5[];
double FA6[];
double FA7[];
double FA8[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
string id;
int init()
  {
   MathSrand (( int ) TimeLocal ());
   for (;;)
   {
      id= StringConcatenate ( "Fundamental data (id_" , MathRand (), ")" );
       if (WindowFind(id)< 0 ) break ;
   }
   IndicatorShortName(id);
//---- indicators
   if (FileCanOpen(файл_данных 1 ))
   {
       if ( StringTrimLeft ( StringTrimRight (подпись 1 ))== "" )
         подпись 1 = StringSubstr (файл_данных 1 , 0 , StringFind (файл_данных 1 , "." ));
   }
   else подпись 1 = "" ;      
   if (FileCanOpen(файл_данных 2 ))
   {
   if ( StringTrimLeft ( StringTrimRight (подпись 2 ))== "" )
      подпись 2 = StringSubstr (файл_данных 2 , 0 , StringFind (файл_данных 2 , "." ));
   }
   else подпись 2 = "" ;      
   if (FileCanOpen(файл_данных 3 ))
   {
   if ( StringTrimLeft ( StringTrimRight (подпись 3 ))== "" )
      подпись 3 = StringSubstr (файл_данных 3 , 0 , StringFind (файл_данных 3 , "." ));
   }
   else подпись 3 = "" ;      
   if (FileCanOpen(файл_данных 4 ))
   {
   if ( StringTrimLeft ( StringTrimRight (подпись 4 ))== "" )
      подпись 4 = StringSubstr (файл_данных 4 , 0 , StringFind (файл_данных 4 , "." ));
   }
   else подпись 4 = "" ;      
   if (FileCanOpen(файл_данных 5 ))
   {
   if ( StringTrimLeft ( StringTrimRight (подпись 5 ))== "" )
      подпись 5 = StringSubstr (файл_данных 5 , 0 , StringFind (файл_данных 5 , "." ));
   }
   else подпись 5 = "" ;      
   if (FileCanOpen(файл_данных 6 ))
   {
   if ( StringTrimLeft ( StringTrimRight (подпись 6 ))== "" )
      подпись 6 = StringSubstr (файл_данных 6 , 0 , StringFind (файл_данных 6 , "." ));
   }
   else подпись 6 = "" ;      
   if (FileCanOpen(файл_данных 6 ))
   {
   if ( StringTrimLeft ( StringTrimRight (подпись 7 ))== "" )
      подпись 7 = StringSubstr (файл_данных 7 , 0 , StringFind (файл_данных 7 , "." ));
   }
   else подпись 7 = "" ;      
   if (FileCanOpen(файл_данных 8 ))
   {
   if ( StringTrimLeft ( StringTrimRight (подпись 8 ))== "" )
      подпись 8 = StringSubstr (файл_данных 8 , 0 , StringFind (файл_данных 8 , "." ));
   }
   else подпись 8 = "" ;      
      
   SetIndexStyle( 0 , DRAW_LINE , STYLE_SOLID , 1 ,цвет 1 );
   SetIndexLabel( 0 ,подпись 1 );
   SetIndexBuffer ( 0 ,FA1);
   SetIndexStyle( 1 , DRAW_LINE , STYLE_SOLID , 1 ,цвет 2 );
   SetIndexLabel( 1 ,подпись 2 );
   SetIndexBuffer ( 1 ,FA2);
   SetIndexStyle( 2 , DRAW_LINE , STYLE_SOLID , 1 ,цвет 3 );
   SetIndexLabel( 2 ,подпись 3 );
   SetIndexBuffer ( 2 ,FA3);
   SetIndexStyle( 3 , DRAW_LINE , STYLE_SOLID , 1 ,цвет 4 );
   SetIndexLabel( 3 ,подпись 4 );
   SetIndexBuffer ( 3 ,FA4);
   SetIndexStyle( 4 , DRAW_LINE , STYLE_SOLID , 1 ,цвет 5 );
   SetIndexLabel( 4 ,подпись 5 );
   SetIndexBuffer ( 4 ,FA5);
   SetIndexStyle( 5 , DRAW_LINE , STYLE_SOLID , 1 ,цвет 6 );
   SetIndexLabel( 5 ,подпись 6 );
   SetIndexBuffer ( 5 ,FA6);
   SetIndexStyle( 6 , DRAW_LINE , STYLE_SOLID , 1 ,цвет 7 );
   SetIndexLabel( 6 ,подпись 7 );
   SetIndexBuffer ( 6 ,FA7);
   SetIndexStyle( 7 , DRAW_LINE , STYLE_SOLID , 1 ,цвет 8 );
   SetIndexLabel( 7 ,подпись 8 );
   SetIndexBuffer ( 7 ,FA8);
//----
   return ( 0 );
 
murziks # :


Söyle bana, csv yerine Metatrader başka ne okuyabilir?

.Txt

Ama uzatmadan tercih ederim