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

[Silindi]  

Optimize edicinin neye yemin ettiğini anlayamıyorum?

 2019.04 . 10 13 : 26 : 50.177 Core 8   genetic pass ( 13 , 498 ) tested with error "critical runtime error 502 in OnTick function (array out of range, module Experts\xxxxxx.ex5, xxxxxx.mq5, line 384, col 73)" in 0 : 00 : 00.102

yemin eden kod

             if (profit_level == EMPTY_VALUE
               && ((pos_set.order_direction == trend_up && ( buffer_HMA7C[ 2 ] <= buffer_HMA7C[ 1 ] && buffer_HMA7C[ 1 ] >= buffer_HMA7C[ 0 ]) && buffer_HMA7C[ 0 ] > pos_set.order_price)
               ||  (pos_set.order_direction == trend_dn && ( buffer_HMA7C[ 2 ] >= buffer_HMA7C[ 1 ] && buffer_HMA7C[ 1 ] <= buffer_HMA7C[ 0 ]) && buffer_HMA7C[ 0 ] < pos_set.order_price))
              )

Bu, tutamacı doğru şekilde alınan ve veriler de doğru şekilde kopyalanan özel bir gösterge arabelleğidir.

      handle_HMA7C = iCustom ( Symbol (), 0 , "my_used\\my_HMA7C_121" ,period_HMA7C);
       if (handle_HMA7C == INVALID_HANDLE )                                   // проверяем наличие хендла индикатора
      {
         Print ( "Не удалось получить хендл индикатора handle_HMA7C" );       // если хендл не получен, то выводим сообщение в лог об ошибке
         return ( INIT_FAILED );                                               // завершаем работу с ошибкой
      }
       else
      {
         Print ( "Получен хендл индикатора handle_HMA7C" );
         ChartIndicatorAdd ( ChartID (), 0 ,handle_HMA7C);                       // подключаем индикатор к графику
      }
.........................................
//+------------------------------------------------------------------+
bool copyBuffers()
{
   int    nbars = 11 ;
   
   ArrayFree (rates);
   ArrayFree (buffer_HMA7C);
      
   ResetLastError ();
   
   if ( CopyRates ( Symbol (), 0 , 0 ,nbars,rates) < nbars) return ( false );
   
       if ( CopyBuffer (handle_HMA7C, 0 , 1 ,nbars,buffer_HMA7C) < nbars )         // копируем данные из индикаторного массива в массив buffer_HMA7C
      {                                                                                         // если не скопировалось
         Print ( "Не удалось скопировать данные из индикаторного буфера в buffer_HMA7C" );         // то выводим сообщение об ошибке
         Print ( "LastError = " + string ( GetLastError ()));
         return ( false );                                                                         // и выходим из функции
      }
}


 
Merhaba! MQL5InfoString veya MQL5InfoInteger nedir? Bununla ilgili nerede okumalı? Kılavuzda bulamadım!
 
Tango_X :
Merhaba! MQL5InfoString veya MQL5InfoInteger nedir? Bununla ilgili nerede okumalı? Kılavuzda bulamadım!
Bulamadığın bir şeyi nasıl aradın?
Документация по MQL5: Проверка состояния / MQLInfoString
Документация по MQL5: Проверка состояния / MQLInfoString
  • www.mql5.com
Проверка состояния / MQLInfoString - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov :
Bulamadığın bir şeyi nasıl aradın?

editörde garip bu fonksiyonun önünde F1'e basıyorum ve hiçbir şey görünmüyor .. teşekkürler!

 
#include <Trade\Trade.mqh>

CTrade trader;
int OnInit ()
  {

   trader.SetExpertMagicNumber( 1 );

   return ( INIT_SUCCEEDED );
  }
void OnDeinit ( const int reason)
  {
//---
  
  }
void OnTick ()
  {
       Print ( "тикет " , OrderGetTicket ( 0 ));
       Print ( "магик " , OrderGetInteger ( ORDER_MAGIC ));
       if ( OrderGetInteger ( ORDER_MAGIC )== 1 )
      {
         trader.OrderDelete( OrderGetTicket ( 0 ));
      }
  }

Siparişi sildikten sonra, büyü = 1. Nasıl olunur?

 
ascerdfg :

Siparişi sildikten sonra, büyü = 1. Nasıl olunur?

BEKLEMEDEKİ bir siparişi sildiniz . Sihrin "1" olmasıyla ne alakası var? Daha doğrusu, tam olarak neyi sevmiyor veya karıştırıyorsunuz?

 
Vladimir Karputov :

BEKLEMEDEKİ bir siparişi sildiniz . Sihrin "1" olmasıyla ne alakası var? Daha doğrusu, tam olarak neyi sevmiyor veya karıştırıyorsunuz?

         trader.OrderDelete( OrderGetTicket ( 0 ));
Mevcut olmayan siparişleri silmeye devam ediyor
 
ascerdfg :
Mevcut olmayan siparişleri silmeye devam ediyor

Kodunuza göre, tam olarak ne olacağı budur: her onayda , "0" biletli BEKLEMEDE olan bir siparişi silmek için zorla bir komut verirsiniz.

Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Vladimir Karputov :

Kodunuza göre, tam olarak ne olacağı budur: her onayda , "0" biletli BEKLEMEDE olan bir siparişi silmek için zorla bir komut verirsiniz.

hayır değil, sadece magick=1 ise

 
ascerdfg :

hayır değil, sadece magick=1 ise

Öz değişmez - bekleyen bir siparişi her tikte "0" bileti ile silmeye çalışırsınız.

Ve her tikte 0 bileti olan bekleyen bir siparişiniz olduğunu kim söyledi? Kaç tane bekleyen sipariş olduğunu kontrol ettiniz mi? Ve bunu nereden aldın ....?