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

 
Herkese mutlu Paskalyalar! Sorun nasıl çözülür, mql4'te çift tip , fiyatları hesaplarken -9315605757223320000.00, -9232595408891630000.00 gibi değerleri vermedi, ancak mql5 bunları bir yerden çıkardı mı? Belki tırnaklarda bir aksaklık? Bu durum nasıl aşılır? Sayesinde.
 
mwwm :
Herkese mutlu paskalyalar! Sorun nasıl çözülür, mql4'te çift tip , fiyatları hesaplarken -9315605757223320000.00, -9232595408891630000.00 gibi değerleri vermedi, ancak mql5 bunları bir yerden çıkardı mı? Belki tırnaklarda bir aksaklık? Bu durum nasıl aşılır? Sayesinde.
Kod nerede?
 
Artyom Trishkin :
Kod nerede?

İşte bir örnek:

 //+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots    1
//--- plot OC
#property indicator_label1    ""
#property indicator_type1    DRAW_LINE
#property indicator_color1    clrRed
#property indicator_style1    STYLE_SOLID
#property indicator_width1    1
#property strict 
//--- indicator buffers
double Op[],Hi[],Lo[],Cl[],Ti[];
double q1[ 100 ],q2[ 100 ];

///---------
double Lim1[ 10 ],Lim2[ 10 ];
double Max1[ 10 ],Min1[ 10 ];
double Max2[ 10 ],Min2[ 10 ];
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

//+------------------------------------------------------------------+ 
//| Custom indicator initialization function                         | 
//+------------------------------------------------------------------+ 
int OnInit ()
  {
//--- откроем файл 
   ResetLastError ();
//--- привязка массива к индикаторному буферу с индексом 0 
   SetIndexBuffer ( 0 ,Ti, INDICATOR_DATA ); SetIndexBuffer ( 1 ,Op, INDICATOR_DATA ); SetIndexBuffer ( 2 ,Hi, INDICATOR_DATA );
   SetIndexBuffer ( 3 ,Lo, INDICATOR_DATA ); SetIndexBuffer ( 4 ,Cl, INDICATOR_DATA );
//---- установка значений индикатора, которые не будут видимы на графике 
//--- 
   ArraySetAsSeries (Ti, true );
   ArraySetAsSeries (Op, true );
   ArraySetAsSeries (Hi, true );
   ArraySetAsSeries (Lo, true );
   ArraySetAsSeries (Cl, true );
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+ 
//| Custom indicator iteration function                              | 
//+------------------------------------------------------------------+ 
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
   ArraySetAsSeries (time, true ); 
   ArraySetAsSeries (open, true ); 
   ArraySetAsSeries (high, true ); 
   ArraySetAsSeries (low, true ); 
   ArraySetAsSeries (close, true ); 
   ArrayInitialize (Lim1, 1 ); ArrayInitialize (Lim2, 1 );
  
   int f= 1 ;
/////////      
//--- Проверка на минимальное колиество баров для расчёта
   if (rates_total< 1 ) return 0 ;
//--- Проверка и расчёт количества просчитываемых баров
   int limit=rates_total-prev_calculated;
   if (limit> 1 ) // если это первый запуск, или изменение истории, или открытие нового бара
     {
      limit=rates_total- 1 ;                   // установим начало цикла на начало исторических данных
       ArrayInitialize (Ti, EMPTY_VALUE );       // инициализируем массив
       ArrayInitialize (Op, EMPTY_VALUE );
       ArrayInitialize (Hi, EMPTY_VALUE );
       ArrayInitialize (Lo, EMPTY_VALUE );
       ArrayInitialize (Cl, EMPTY_VALUE ); 
     }
 int p= 0 ;
    
//--- Расчёт индикатора
   for ( int i=limit- 1 ; i>= 0 && ! IsStopped (); i--)
     {
      Op[i]=open[i];Hi[i]=high[i];Lo[i]=low[i];Cl[i]=close[i];

            q1[ 1 ]=((Hi[i+f+ 0 ]+Lo[i+f+ 0 ])/ 2 +Hi[i+f+ 0 ])/ 2 ;
            Lim1[ 1 ]=q1[ 1 ]-Hi[i+f+ 1 ];  
            Max1[ 1 ]= MathMax (Max1[ 1 ], Lim1[ 1 ]);
            Min1[ 1 ]= MathMin (Min1[ 1 ], Lim1[ 1 ]);

double n= 100000000 ;
if ( MathAbs (Lim1[ 1 ])>n){p++; Print (Lim1[ 1 ], " = " ,p, "  = " ,i);}
 } 
//--- return value of prev_calculated for next call 
   return (rates_total);
  }
 
Merhaba ! mql'den vps yüklemek istiyorum. Farklı brokerlerde 2 hesabım var ve her hesaba 2 farklı sinyal sağlayıcıdan sinyal kopyalamak istiyorum. Söyle bana, her hesap için ayda 10$'a ayrı bir vps bağlamam gerekir mi yoksa bir tane bağlayabilir miyim?
 
Lütfen mt4'e doğrudan bir bağlantı atın. İndirmeye çalışıyorum mt4 - bunun yerine mt5 kurulu. Şimdiden teşekkürler
 
Aleksei Poliakov :
Lütfen mt4'e doğrudan bir bağlantı atın. İndirmeye çalışıyorum mt4 - bunun yerine mt5 kurulu. Şimdiden teşekkürler
sadece komisyoncunuzdan indirin. ya da başkasından
 
Artyom Trishkin :


Alexey Viktorov :


Teşekkür ederim, anladım. Siparişin bir kısmını iki veya üç kez kapatırsam nasıl takip edebilirim? Örneğin 0.1 lot vardı, 0.5 kapandı, sonra 0.25 kapandı Son kapatılan pozisyonun yorumu açık bilete eşit olacak ve bir önceki kapanan pozisyondan elde edilen kar nasıl aranır?

 
PolarSeaman :

Teşekkür ederim, anladım. Siparişin bir kısmını iki veya üç kez kapatırsam nasıl takip edebilirim? Örneğin 0.1 lot vardı, 0.5 kapandı, sonra 0.25 kapandı Son kapatılan pozisyonun yorumu açık bilete eşit olacak ve bir önceki kapanan pozisyondan elde edilen kar nasıl aranır?

n1 ve tek. kendi kayıtlarını ve geçmişini tutmak.

terminal siparişlerinin geçmişini gözden geçirmek için başka bir seçenek daha var, ancak çarpıcı nüanslar var.

 
Maxim Kuznetsov :

n1 ve tek. kendi kayıtlarını ve geçmişini tutmak.

Ne bükülme!)))

 

Burada, forumda, belirli bir tarihten itibaren karı hesaplamak için bir fonksiyon buldum " fonksiyon, belirli bir tarihten itibaren kapatılan pozisyonların mevduat para birimindeki toplam karı döndürür"

Sanırım bu işime yarayacak. Ama kısmen kapattığım pozisyonun açıldığı tarihin ne olduğunu nasıl öğrenebilirim?