Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 232

 
O-Yama :
Gönder, sonra bakalım sunucuda neler var.
StringToCharArray bir şekilde garip davrandığından ve diziyi sürekli olarak kestiğinden, işlevimi kullanarak istek mesajı dizisini küçük parçalar halinde topluyorum. Belki bir şeyleri karıştırdım...

geçersiz OneMoreString(string str)
{
char para[];
int sz=ArraySize(tampon); //buf işlevin dışındadır ve web isteğinde her zaman kullanılır
StringToCharArray(str,cache,0,StringLen(str)); // işlevin girişindeki dizeyi bir karakter dizisi kasasına dönüştürün
ArrayResize(buf,sz+ArraySize(önbellek));
ArrayCopy(tampon, önbellek, sz); // cashe'yi buf'a kopyala
}

Not: Buraya kod parçalarını nasıl doğru bir şekilde ekleyeceğimi bilmiyorum

İlk olarak, sorunu çözmek için sorunun hangi tarafta olduğunu belirleyin.

Kod şöyle:


 
Herkese merhaba, bir aydan başka hiçbir süre için işlem geçmişini yükleyemiyorum, zaten her şeyi denedim, terminal tamamen yeniden kuruldu, hiçbir şey yardımcı olmuyor. Eski şablonu fiyat tablosuna uyguladığımda, sonuç olarak, tüm işlemler grafikten kayboldu ve Ekim'deki işlemler geçmişte kayboldu, sadece bir pipet. Belki birileri benzer bir problemle karşılaştı, yardım edin, İnternet de cevapsız kaldı. MT4
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
MT4
 
Tünaydın. Her döviz çifti için açık pozisyon sayısını nasıl belirleyebileceğimi ve bunu grafikte nasıl görüntüleyebileceğimi söyle. Farklı miktarlarda farklı döviz çiftleri için pozisyonlar açılırsa.
 
makssub :
Tünaydın. Her döviz çifti için açık pozisyon sayısını nasıl belirleyebileceğimi ve bunu grafikte nasıl görüntüleyebileceğimi söyle. Farklı miktarlarda farklı döviz çiftleri için pozisyonlar açılırsa.

Pozisyonların listesi.

 
makssub :
Tünaydın. Her döviz çifti için açık pozisyon sayısını nasıl belirleyebileceğimi ve bunu grafikte nasıl görüntüleyebileceğimi söyle. Farklı miktarlarda farklı döviz çiftleri için pozisyonlar açılırsa.

Terminalin standart teslimatı, iExposure.mq4 göstergesini içerir

 
Tünaydın.
Lütfen bana söyle. Çubuklar üzerinde yinelenirken göstergede neden gösterge her zaman Ağustos 2020'den başlar. Verilen i parametresinden bağımsız olarak, i=500 veya i=10000000000 olsa bile.
 void OnStart ()
  {
//+------------------------------------------------------------------+
//| Блок
//| Задаём переменные
//+------------------------------------------------------------------+
   double
   MA1,       // Расчитываем МА1
   MA2,       // Расчитываем МА2
   close_i,   // Цена закрытия i бара
   close_i1, // Цена закрытия i-1 бара
   close_i2, // Цена закрытия i-2 бара
   profit1,   // Растояние между iHigh и iOpen на i-3 баре
   Bar_4,     // Разница между iOpen и iClose на i-3 баре
   Diff_1;   // Расчитываем растояние между iClose и MA1 на i-2 баре


//+------------------------------------------------------------------+
//| Блок 1
//| Расчёты условия покупки или продажи
//+------------------------------------------------------------------+
   MA1= iMA ( NULL , 0 , 10 , 0 , MODE_EMA , PRICE_CLOSE , 0 );
   MA2= iMA ( NULL , 0 , 50 , 0 , MODE_EMA , PRICE_CLOSE , 0 );


//+------------------------------------------------------------------+
//| Блок
//| МА1>MA2
//+------------------------------------------------------------------+
   if (MA1>MA2)
     {
       for ( int i= 100 ; i> 4 ; i--) //Перебераем бары
        {
         close_i= iClose ( NULL , 0 , i);     // Цена закрытия i бара
         close_i1= iClose ( NULL , 0 , i- 1 ); // Цена закрытия i-1 бара
         close_i2= iClose ( NULL , 0 , i- 2 ); // Цена закрытия i-2 бара
         profit1=( iHigh ( NULL , 0 , i- 3 ) - iOpen ( NULL , 0 , i- 3 ))/ Point ; // Растояние между iHigh и iOpen на i-3 баре в пунктах
         Diff_1=( iOpen ( NULL , 0 , i- 2 ) - iMA ( NULL , 0 , 10 , 0 , MODE_EMA , PRICE_CLOSE ,i- 2 ))/ Point ; // Растояние между iClose и MA1 на i-2 баре в пунктах
         Bar_4=( iClose ( NULL , 0 , i- 3 ) - iOpen ( NULL , 0 , i- 3 ))/ Point ; // Разница между iOpen и iClose на i-3 баре

         if (close_i<close_i1 && close_i1<close_i2) // Проверяем условие на покупку
           {
             int YY=TimeYear(Time[i- 2 ]);
             int MN=TimeMonth(Time[i- 2 ]);
             int DD=TimeDay(Time[i- 2 ]);

             Print ( "Растояние между iClose и MA1 на i-2 баре в пунктах= " ,Diff_1);
             Print ( "Профит после покупки в пунктах= " ,profit1);
             Print ( "Разница между iOpen и iClose на i-3 баре= " ,Bar_4);
             Print ( "Бар i-3>0, то +++! Бар i-3<0, то ---!" );
             Print ( "Выполнено условие на покупку!" );
             Print ( "Дата " , DD, "." ,MN, "." ,YY);
             Print ( "   " );
           }
        }
     }
}
 

Arama, geçerli günden 100 bar önce başlar. D1'de sadece Ağustos. Seçenekler bu numarayı etkilemez.

   if (MA1>MA2)
     {
       for ( int i= 100 ; i> 4 ; i--) //Перебераем бары
 

Merhaba, bir sorunum var.

Rus harfleri yerine hiyerogliflerim var.   Bölgesel ayarları değiştirmeyi denedim ama yardımcı olmadı. Herhangi bir çalışma yöntemi biliyor musunuz?

 
Aleksey Verbin :

Rus harfleri yerine hiyerogliflerim var.

.