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

 
new-rena :

Karşı soru.

Ne düşünüyorsunuz - herhangi bir döviz çiftindeki hareket: çizelge, teklif ve satış fiyatları vb., değişkenleriniz grubuna mı bağlı?

Oranın hareketi değişkenlere bağlı değildir, ancak tüccar hareketteki kalıpları bulmaya çalışır ve buna dayanarak bir pozisyonu açmak, sürdürmek ve kapatmak için değişkenleri (giriş verileri) seçer. Sonuçta, bir ticaret sistemi, yazarın fikrine göre karlı işler için tasarlanmış bir dizi belirli kuraldır. Belki kar ve zarar dağılımı rastgeledir, ancak oranları farklıdır ve bu nedenle karlı ticaret sistemleri elde edilir. Muhtemelen.
 
Евгений :
Oranın hareketi değişkenlere bağlı değildir, ancak tüccar hareketteki kalıpları bulmaya çalışır ve buna dayanarak bir pozisyonu açmak, sürdürmek ve kapatmak için değişkenleri (giriş verileri) seçer. Sonuçta, bir ticaret sistemi, yazarın fikrine göre karlı işler için tasarlanmış bir dizi belirli kuraldır. Belki kar ve zarar dağılımı rastgeledir, ancak oranları farklıdır ve bu nedenle karlı ticaret sistemleri elde edilir. Muhtemelen.
Temel olarak, kendi sorunuzu cevapladınız. Yani aynı fiyat hareketinde şunları elde edebilirsiniz; kar-zarar = SABİT
 
Bana fonksiyonu sınırla, uzmana hareketli ortalamadan alım veya satım yasağı koymak istiyorum.
 
KoltRU :
Bana fonksiyonu sınırla, uzmana hareketli ortalamadan alım veya satım yasağı koymak istiyorum.
kolaylaştırdı, açılış için bir koşul ekledi
 

Büyülenmiş. İşleve bir dizi başvurusu iletilmez.

 void GetIndValue( int IndNo, int Vol, double * out []){;};

bu double *out[] ile - nasıl yazarsanız yazın - tüm hatalar.

'BatIndicators.mqh' BatIndicators.mqh 1 1

'*' - işaretçi kullanılamaz BatIndicators.mqh on sekiz 45

'out' - diziler yalnızca referans olarak iletilir BatIndicators.mqh on sekiz 46

2 hata(lar), 0 uyarı(lar) 3 1

ya biri ya da diğeri ya da her ikisi. Eskiden sorunsuz olduğunu hatırlıyorum, yoksa C'de mi?)


 
Yuriy Asaulenko :

Büyülenmiş. İşleve bir dizi başvurusu iletilmez.

bu double *out[] ile - nasıl yazarsanız yazın - tüm hatalar.

'BatIndicators.mqh' BatIndicators.mqh 1 1

'*' - işaretçi kullanılamaz BatIndicators.mqh on sekiz 45

'out' - diziler yalnızca referans olarak iletilir BatIndicators.mqh on sekiz 46

2 hata(lar), 0 uyarı(lar) 3 1

ya biri ya da diğeri ya da her ikisi. Eskiden sorunsuz olduğunu hatırlıyorum, yoksa C'de mi?)


böyle dene

 void GetIndValue( int IndNo, int Vol, double & out []){}
 
Andrey Barinov :

böyle dene

Teşekkür ederim.
 

//--- göstergeyi eklemeye çalışacağımız yeni alt pencerenin numarasını al

          int alt pencere=( int ) ChartGetInteger (0, CHART_WINDOWS_TOTAL );

Bu koda bakıyorum https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd

Örnek, bir alt pencerede bir göstergenin nasıl ayarlanacağını gösterir ve bir alt pencereye ihtiyacınız yoksa, sadece bir film örneğini kullanarak nasıl yapılacağını gösterir?

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexander Antoshkin :

//--- göstergeyi eklemeye çalışacağımız yeni alt pencerenin numarasını al

          int alt pencere=( int ) ChartGetInteger (0, CHART_WINDOWS_TOTAL );

Bu koda bakıyorum https://www.mql5.com/en/docs/chart_operations/chartindicatoradd

Örnek, bir alt pencerede bir göstergenin nasıl ayarlanacağını gösterir ve bir alt pencereye ihtiyacınız yoksa, sadece bir film örneğini kullanarak nasıl yapılacağını gösterir?

Ana pencereye bir gösterge eklemeniz gerekiyorsa, o zaman:

alt_pencere

[içinde] Grafik alt pencere numarası. 0, ana grafik penceresi anlamına gelir . Yeni bir pencereye bir gösterge eklemek için parametre, mevcut son pencerenin indeksinden bir fazla, yani CHART_WINDOWS_TOTAL değerine eşit olmalıdır. Parametrenin değeri CHART_WINDOWS_TOTAL değerini aşarsa, yeni bir pencere oluşturulmaz, gösterge eklenmez.

 
Karputov Vladimir :

Ana pencereye bir gösterge eklemeniz gerekiyorsa, o zaman:

 //+------------------------------------------------------------------+
//|                                                         0000.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"

input int MA_Period= 21 ; 
input int MA_Shift= 0 ; 
input ENUM_MA_METHOD MA_Method= MODE_SMA ;

int MA_handle= INVALID_HANDLE ; 
//+------------------------------------------------------------------+ 
//| Expert initialization function                                   | 
//+------------------------------------------------------------------+ 
int OnInit () 
  { 
  
   MA_handle= iCustom ( NULL , 0 , "Examples\\Custom Moving Average" ,  MA_Period,  MA_Shift, MA_Method,   PRICE_CLOSE   );
//--- попробуем добавить индикатор на график 
AddIndicator();

   return ( INIT_SUCCEEDED ); 
  } 

//+------------------------------------------------------------------+ 
//| Функция проверки и добавления индикатора на график               | 
//+------------------------------------------------------------------+ 
bool AddIndicator() { if (MA_handle== INVALID_HANDLE ) 
{ Print ( __FUNCTION__ , "  Создаем индикатор " );

 MA_handle= iCustom ( NULL , 0 , "Examples\\Custom Moving Average" ,  MA_Period,  MA_Shift, MA_Method,   PRICE_CLOSE   );
if (MA_handle== INVALID_HANDLE ) 
{ 
 Print ( "Не удалось создать индикатор . Код ошибки " , GetLastError ()); 
 } 
  }     
//--- сбросим код ошибки 
   ResetLastError (); 
//--- накладываем индикатор на график 
  
   Print ( "Mа построен " ); 
//--- получим номер нового подокна, в которое добавим индикатор  
   int subwindow=( int ) ChartGetInteger ( 0 , CHART_WINDOWS_TOTAL ); 
   PrintFormat ( "Добавляем индикатор на окно %d графика" ,subwindow); 
   if (! ChartIndicatorAdd ( 0 ,subwindow,MA_handle)) 
     { 
       PrintFormat ( "Не удалось добавить индикатор  на окно %d графика. Код ошибки  %d" , 
                  subwindow, GetLastError ()); 
     } 
   return ( true ); 
  } 
void OnDeinit ( const int reason)
{
MA_handle= iCustom ( NULL , 0 , "Examples\\Custom Moving Average" ,  MA_Period,  MA_Shift, MA_Method,   PRICE_CLOSE   );

merhaba Vladimir

Görünüşe göre soruyu yanlış formüle ettim, anlamadın ..

Bir alt pencereye ihtiyacım yok, standart bir tik yerleştirildiği için göstergeyi fiyat tablosuna koymam gerekiyor

Bunu örnek alıyorum ve anlamaya çalışıyorum.

Ve sonuç olarak, çizelgede kurulu olan göstergenin kendi numarasına sahip olmasını istiyorum, böylece gerekli kopya sayısını çevirmek için çizelgede oluşturulan "Ekle" düğmesini kullanabilirsiniz .... ve ayrıca tarafından seçileni silebilirsiniz. çapraz düğme ........ o kadar çok başka fanteziler var ki henüz onlar hakkında yazmak istemiyorum))