MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 897

 
Taras Slobodyanik :

- son çubuğun saatini izle
- bu çubukta kapanan her şeyi toplayın
- mevcut bakiyeden çıkar

ve benzeri sırayla tüm çubuklar

Aritmetik yok nasıl olur? Belki bazı özel işlevler yazarsınız?

 
novichok2018 :
Cevap konu dışı olduğu için muhtemelen sorumu iyi ifade edemedim. Pozisyonların kapalı olup olmaması benim için önemli değil ve dahası, tik değeriyle ilgilenmiyorum. Karşılaştırma için belirli bir sembolün 1, 2, 3 çubuğunu kapattığınızda hesap bakiyesinin ne olduğunu bulmanız gerekir. Diğer semboller de dahil olmak üzere bu çubuklarda pozisyonlar açıldı ve kapatıldı: bir yerde pozisyonlar artı, bir yerde eksi, başka bir yerde kapatılmadı, bu nedenle denge değişti. Belirli değerleri bilmeniz gerekir. Teşekkür ederim.

normal işlevler yok, ayrıca forumda veya başka bir şekilde arama yok

Test cihazında böyle bir durumu simüle edebilirsiniz, birkaç danışmanla ticaret yaparken bakiye değerinin ne olduğunu bulmak mümkün değildir, elbette açık emirleri saymayı deneyebilir, ardından açık emir olmadığı zamanı arayabilirsiniz. terminalin tarihi ... ve nihai sonuç, her şeyin dikkate alınacağı gerçeği değil

test cihazında bu durumu çok basit bir şekilde simüle edebilir, değişkeni global görünürlükte tanımlayabilir ve koşulu kontrol edebilirsiniz if(OrderTotal()==0) OnTick'te StartBalance = AccountBalance();

ve daha sonra test cihazında emir açarken ilk bakiye değerine sahip olursunuz.... Emirlerin kar değerini her çubuğa ekleyebilir, bu değerleri bir diziye veya listeye ekleyebilirsiniz.


ancak birkaç Uzman Danışmanlı bir hesapta böyle bir kodla çalışmak için, görevi n-barların bakiyesini bulmakta değil, açık siparişlerin toplam kârında formüle etmeniz gerekir, herhangi bir açık sipariş yazmıyoruz. , bir sipariş açtık - her çubuğun karını bir dizide kaydetmeye başladık, yani. TS'nizin mantığını bakiyeye göre değil, açık emirlerin karı ve / veya terminalin geçmişindeki kapalı emirlerin karı ile ilgili olarak bir süre (gün, saat?)

 
Igor Makanu :

normal işlevler yok, ayrıca forumda veya başka bir şekilde arama yok

Test cihazında böyle bir durumu simüle edebilirsiniz, birkaç danışmanla ticaret yaparken bakiye değerinin ne olduğunu bulmak mümkün değildir, elbette açık emirleri saymayı deneyebilir, ardından açık emir olmadığı zamanı arayabilirsiniz. terminalin tarihi ... ve nihai sonuç, her şeyin dikkate alınacağı gerçeği değil

test cihazında bu durumu çok basit bir şekilde simüle edebilir, değişkeni global görünürlükte tanımlayabilir ve koşulu kontrol edebilirsiniz if(OrderTotal()==0) OnTick'te StartBalance = AccountBalance();

ve daha sonra test cihazında emir açarken ilk bakiye değerine sahip olursunuz.... Emirlerin kar değerini her çubuğa ekleyebilir, bu değerleri bir diziye veya listeye ekleyebilirsiniz.


ancak birkaç Uzman Danışmanlı bir hesapta böyle bir kodla çalışmak için, görevi n-barların bakiyesini bulmakta değil, açık siparişlerin toplam kârında formüle etmeniz gerekir, herhangi bir açık sipariş yazmıyoruz. , bir sipariş açtık - her çubuğun karını bir dizide kaydetmeye başladık, yani. TS'nizin mantığını bakiyeye göre değil, açık emirlerin karı ve / veya terminalin geçmişindeki kapalı emirlerin karı ile ilgili olarak bir süre (gün, saat?)

Anladım. Detaylı cevap için teşekkürler.

 

Merhaba! iCustom kullanılarak oluşturulan bir teknik göstergenin tanıtıcısını oluşturduktan SONRA giriş parametreleri nasıl alınır.

Örneğin

iCustom(NULL,0,"name_indicator",1,2,3) - 1,2 ve 3 giriş parametreleri nasıl alınır?

 
Merhaba, güncel düşüşü yüzde olarak nasıl öğreneceğimi söyler misiniz?
 
nalyk :
Merhaba, güncel düşüşü yüzde olarak nasıl öğreneceğimi söyler misiniz?

Öz sermayeyi takip edin

 
nalyk :
Merhaba, güncel düşüşü yüzde olarak nasıl öğreneceğimi söyler misiniz?
 double drawdown = AccountProfit()* 100 /AccountBalance();
 

Daha sonra bu değişkenlerle çalışmak ve bunlara erişmek için içindeki şablon türü değişkenleri bildirmek için bir yapıya ve bir sınıfa bir şablon uygulamak mümkün müdür?Bunu yapı ile denedim.

templ(T) struct A
{
  T val;
   int ind;
};

Derler ancak yapıya bir Ad vermez.

 
Merhaba! Aşağıdakileri yapmama yardım et:
Piyasadaki her açık pozisyon için bir hedef kar elde etmek gerekir, ancak genel değil, ayrı bir pozisyon!
örnek: EURUSD açıldı ve ayarlarında 1$ hedef karı var ve ona ulaşır ulaşmaz pozisyon kendini kapattı, sadece o!
ve böylece her bir döviz çifti, toplam kâra göre değil, kendi başına çalışmalıdır!

Tüm çiftler için toplam kâr kodunu buldum:
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает суммарный профит открытых позиций в валюте депозита |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double GetProfitOpenPosInCurrency( string sy= "" , int op=- 1 , int mn=- 1 ) {
   double p= 0 ;
   int     i, k= OrdersTotal ();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
       if ((OrderSymbol()==sy || sy== "" ) && (op< 0 || OrderType()==op)) {
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
           if (mn< 0 || OrderMagicNumber()==mn) {
            p+=OrderProfit()+OrderCommission()+OrderSwap();
          }
        }
      }
    }
  }
   return (p);
}
her döviz çifti için ayrı ayrı yeniden yapmama yardım et ...... Şimdiden teşekkürler!
 
ponochka :
Merhaba! Aşağıdakileri yapmama yardım et:
Piyasadaki her açık pozisyon için bir hedef kar elde etmek gerekir, ancak genel değil, ayrı bir pozisyon!
örnek: EURUSD açıldı ve ayarlarında 1$ hedef karı var ve ona ulaşır ulaşmaz pozisyon kendini kapattı, sadece o!
ve böylece her bir döviz çifti, toplam kâra göre değil, kendi başına çalışmalıdır!

Tüm çiftler için toplam kâr kodunu buldum:
her döviz çifti için ayrı ayrı yeniden yapmama yardım et ...... Şimdiden teşekkürler!

Bu fonksiyonun ilk parametresine çiftinizle birlikte bir dize iletin ve sadece bu çift için karı hesaplayacaktır.

İşlem tipini (al veya kapat) bu fonksiyonun ikinci parametresine iletin ve sadece bu işlem için karı hesaplayacaktır.

Ve ayrıca sihirli sayı. Bu genel bir özelliktir.