Çaydanlıktan gelen sorular - sayfa 274

 
Kapatmak işe yaramıyor mu?
 
Evet. ve gayet güzel açılıyor.
 

Ve OrderSend'den önce doğruluk için bir sipariş kontrolü eklemeyi deneyin:

 //---- Проверка торгового запроса на корректность
if (! OrderCheck (request,check))
{
 ( "Ошибка проверки ордера OrderCheck(): " ,ResultRetcodeDescription(check.retcode));
}



//+------------------------------------------------------------------+
//| возврат стрингового результата торговой операции по его коду     |
//+------------------------------------------------------------------+
string ResultRetcodeDescription( int retcode)
  {
   string str;
//----
   switch (retcode)
     {
       case TRADE_RETCODE_REQUOTE : str= "Реквота" ; break ;
       case TRADE_RETCODE_REJECT : str= "Запрос отвергнут" ; break ;
       case TRADE_RETCODE_CANCEL : str= "Запрос отменен трейдером" ; break ;
       case TRADE_RETCODE_PLACED : str= "Ордер размещен" ; break ;
       case TRADE_RETCODE_DONE : str= "Заявка выполнена" ; break ;
       case TRADE_RETCODE_DONE_PARTIAL : str= "Заявка выполнена частично" ; break ;
       case TRADE_RETCODE_ERROR : str= "Ошибка обработки запроса" ; break ;
       case TRADE_RETCODE_TIMEOUT : str= "Запрос отменен по истечению времени" ; break ;
       case TRADE_RETCODE_INVALID : str= "Неправильный запрос" ; break ;
       case TRADE_RETCODE_INVALID_VOLUME : str= "Неправильный объем в запросе" ; break ;
       case TRADE_RETCODE_INVALID_PRICE : str= "Неправильная цена в запросе" ; break ;
       case TRADE_RETCODE_INVALID_STOPS : str= "Неправильные стопы в запросе" ; break ;
       case TRADE_RETCODE_TRADE_DISABLED : str= "Торговля запрещена" ; break ;
       case TRADE_RETCODE_MARKET_CLOSED : str= "Рынок закрыт" ; break ;
       case TRADE_RETCODE_NO_MONEY : str= "Нет достаточных денежных средств для выполнения запроса" ; break ;
       case TRADE_RETCODE_PRICE_CHANGED : str= "Цены изменились" ; break ;
       case TRADE_RETCODE_PRICE_OFF : str= "Отсутствуют котировки для обработки запроса" ; break ;
       case TRADE_RETCODE_INVALID_EXPIRATION : str= "Неверная дата истечения ордера в запросе" ; break ;
       case TRADE_RETCODE_ORDER_CHANGED : str= "Состояние ордера изменилось" ; break ;
       case TRADE_RETCODE_TOO_MANY_REQUESTS : str= "Слишком частые запросы" ; break ;
       case TRADE_RETCODE_NO_CHANGES : str= "В запросе нет изменений" ; break ;
       case TRADE_RETCODE_SERVER_DISABLES_AT : str= "Автотрейдинг запрещен сервером" ; break ;
       case TRADE_RETCODE_CLIENT_DISABLES_AT : str= "Автотрейдинг запрещен клиентским терминалом" ; break ;
       case TRADE_RETCODE_LOCKED : str= "Запрос заблокирован для обработки" ; break ;
       case TRADE_RETCODE_FROZEN : str= "Ордер или позиция заморожены" ; break ;
       case TRADE_RETCODE_INVALID_FILL : str= "Указан неподдерживаемый тип исполнения ордера по остатку " ; break ;
       case TRADE_RETCODE_CONNECTION : str= "Нет соединения с торговым сервером" ; break ;
       case TRADE_RETCODE_ONLY_REAL : str= "Операция разрешена только для реальных счетов" ; break ;
       case TRADE_RETCODE_LIMIT_ORDERS : str= "Достигнут лимит на количество отложенных ордеров" ; break ;
       case TRADE_RETCODE_LIMIT_VOLUME : str= "Достигнут лимит на объем ордеров и позиций для данного символа" ; break ;
       case TRADE_RETCODE_INVALID_ORDER : str= "Выставляемый ордер имеет запрещенный или неверный тип" ; break ;
       case TRADE_RETCODE_POSITION_CLOSED : str= "Операция с позицией невозможна, так как позиция отсутствует" ; break ;
       default : str= "Неизвестный результат" ;
     }
//----
   return (str);
  }
 

Oh, ve bir şey daha: kapanış prosedüründe, yapıları doldurmadan önce sıfırladığınızdan emin olun.

 ZeroMemory (tradeRequest);
ZeroMemory (tradeResult);


Sonrasında

 SymbolInfoTick (symb, price);

bu iki satırı ekleyin.

 
i_logic :

Oh, ve bir şey daha: kapanış prosedüründe, yapıları doldurmadan önce sıfırladığınızdan emin olun.


Sonrasında

bu iki satırı ekleyin.

hayır, ÖNCE ihtiyacınız var:

 for ( int i= PositionsTotal ()- 1 ;i>= 0 ;i--)
    {
       ZeroMemory (tradeRequest);
       ZeroMemory (tradeResult);
       ZeroMemory (price);
      
      symb= PositionGetSymbol (i);
       PositionSelect (symb);
       SymbolInfoTick (symb, price);

yardım etti. teşekkür etmek.

 

Merhaba, bir EA'da bir fibo ızgarası inşa ediyorum

ObjectCreate(0,"Fibo", OBJ_FIBO ,0,zaman2,fiyat2,zaman1,fiyat1);

her şey yolunda gidiyor ama şimdi fiyatı %23,6 seviyesinde almak istiyorum, bu amaç için gerçekten basit bir fonksiyon yok mu?

double flevel236 = ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,1); İşte burada - 0.236 verir, yani. fiyat değil, seviye .

double flevel236 = ObjectGetDouble(0,"Fibo",OBJPROP_PRICE,1); İşte burada - fiyatı 0 seviyesinde (veya 100 seviyesinde) verir.

Bu ikisinden (OBJPROP_PRICE ve OBJPROP_LEVELVALUE) başka bir şey bulamadım.

Lütfen bana bu sorunu nasıl çözeceğimi söyle. Teşekkür ederim!

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
zhurkin :

Lütfen bana bu sorunu nasıl çözeceğimi söyle. Teşekkür ederim!

Sadece iki aritmetik işlem . Çarpma (0,236, sıfır ve birinci seviyelerin fiyatları arasındaki farkla çarpılır) ve ardından toplama (çarpmanın sonucu sıfır seviyesinin fiyatına eklenir).

Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
  • www.mql5.com
Основы языка / Операции и выражения / Арифметические операции - Документация по MQL5
 

Merhaba, önceki yanıt için teşekkürler!

iCustom(NULL,0,"Examples\\ZigZag",ExtDepth,ExtDeviation,ExtBackstep) kullanıyorum Genel olarak, normal bir zikzak bağlarım. Şimdiye kadar, hesaplamalarda her şey yolunda görünüyor, danışmanın bu bağlı göstergeyi otomatik olarak grafikte çizmesi için ne yapılması gerektiğini söyleyin? Şu anda, danışmanı başlattıktan sonra, zikzak göstergesini manuel olarak eklemem ve parametrelerini danışmandaki gibi ayarlamam gerekiyor! Teşekkür ederim.

Способы вызова индикаторов в MQL5
Способы вызова индикаторов в MQL5
  • 2010.03.09
  • KlimMalgin
  • www.mql5.com
C появлением новой версии языка MQL, не только изменился подход к работе с индикаторами, но и появились новые способы создания индикаторов. Кроме того, появилась дополнительная гибкость при работе с индикаторными буферами - теперь вы можете самостоятельно указать нужное направление индексации и получать ровно столько значений индикатора, сколько вам требуется. В этой статье рассмотрены базовые методы вызова индикаторов и получения данных из индикаторных буферов.
 
zhurkin :

Merhaba, önceki yanıt için teşekkürler!

iCustom(NULL,0,"Examples\\ZigZag",ExtDepth,ExtDeviation,ExtBackstep) kullanıyorum Genel olarak, normal bir zikzak bağlarım. Şimdiye kadar, hesaplamalarda her şey yolunda görünüyor, danışmanın bu bağlı göstergeyi otomatik olarak grafikte çizmesi için ne yapılması gerektiğini söyleyin? Şu anda, danışmanı başlattıktan sonra, zikzak göstergesini manuel olarak eklemem ve parametrelerini danışmandaki gibi ayarlamam gerekiyor! Teşekkür ederim.

https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
 

OOP öğrenmeye başladı.

Temel sınıfın torununu yazarken bir sorun oluştu, derleyici şunu yazıyor - "'ХХХХХ' - yanlış parametre sayısı"

Uzun süre sebep aradım, makaleleri ve rehberi tekrar okudum,

bulundu - temel sınıf yapıcısında tek ve parametriktir.

Ayrıca, varsayılan kurucu ile kurucu işlevini aşırı yükleyerek bir çıkış yolu buldum,

ama sonra mantığın doğru olması için temel sınıfın parametrik kurucusunun tüm parametrelerini çocuğun kurucusuna sürüklemeniz gerekir.

Başka yollar var mı?

Bir şekilde soyundan sınıf ilan ederken hemen, kime ne dağıtabilirsiniz? Örneğin: bu parametreler temel sınıf yapıcısı içindir ve bunlar çocuğun sıkılmaması içindir...

Neden: