[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 186

 
Dimka-novitsek :
Merak ediyorum, versiyonumun nesi var?

Versiyonunuzda ilk olarak 1 hesaplama sırasında 300 kez uykuya dalar.

İkincisi, her tikte 600 defa mesaj yazmaktan bıkıyor.

Üçüncüsü, grafikte bu kırmızı çizgiyi çiziyor. Aynı zamanda, kırmızı çizgi maksimum 0,86 ve yeşil çizgi minimum 1,34'tür.

sonuçlar görünmüyor

 
ScioMe :

Gerçekten yeşil çekiyor, ancak kapanmadan önce sadece mumda! Ve daha önce asla.

Sadece StopLoss ve/veya TakeProfit'i değiştirirseniz çekmesi gerektiğini düşünüyorum.
 
pyatka__ASD :

İyi günler Lütfen yardım edin.

Bu formül kullanılarak hesaplanan çubuklar için kaydırma düzeni nasıl bulunur? ObjectGetShiftByValue

bu ne kural
 

sonuçlar görünmüyor

Teşekkürler!! ben hala bir koyunum

 
eddy :
Sadece StopLoss ve/veya TakeProfit'i değiştirirseniz çekmesi gerektiğini düşünüyorum.

Değiştiriyorum, günlük onaylıyor.
 
peki, onları açılış barında değiştiriyor
 

WinAPI'nin işlevlerini çağırmanın bazı nüansları hakkında soru.

GetPrivateProfileStringA İşlevi vardır.

mql'de içe aktarma işlevi

 #import "kernel32.dll"
   int GetPrivateProfileStringA
      ( string SectionName,     // Наименование секции
         string KeyName,         // Наименование параметра
         string Default,         // Значение по умолчанию
         string ReturnedString, // Возвращаемое значение параметра
         int     nSize,           // Размер буфера под значение параметра
         string FileName);       // Полное имя файла
   int WritePrivateProfileStringA
      ( string SectionName,     // Наименование секции
         string KeyName,         // Наименование параметра
         string sString,         // Записываемое значение параметра
         string FileName);       // Полное имя файла
#import

Parametrelerden birinin açıklaması:

lpKeyName [ in ] 

The name of the key whose associated string is to be retrieved. 
If this parameter is NULL, all key names in the section specified by the lpAppName parameter 
are copied to the buffer specified by the lpReturnedString parameter.

Soru - "gerçek NULL" nasıl geçilir?

"mql-ovsky NULL" (ayrıca "" dizesi) iletmek, "bölümdeki anahtarlar" listesini değil, varsayılan bir değeri aldı.

lpDefault [ in ] 
A default string . If the lpKeyName key cannot be found in the initialization file, 
GetPrivateProfileString copies the default string to the lpReturnedString buffer. 
If this parameter is NULL, the default is an empty string , "" .

"Gerçek NULL" dan bahsettim çünkü BASIC ile ilgili bazı forumlarda benzer bir sorun hakkında (bu işlevle) okudum. Forum İngilizceydi (yani anlayabildiğim her şey doğru değildi) ve sorun BASIC kullanılarak çözüldü.

 
eddy :
peki, onları açılış barında değiştiriyor


Anladığım kadarıyla OrderModify(), açılış çubuğu dışındaki diğer çubuklardaki durakları değiştirebilir mi? Kodum (neredeyse tamamı S. Kovalev'in kitabından), durakların yalnızca açılış sırasında değil, aynı zamanda bazı olaylar meydana geldiğinde de değişeceği şekilde oluşturulmuştur:

 switch (Tip)                                  // По типу ордера
   {
      case 0 :                                // Ордер Buy
         if ( NormalizeDouble (SL, Digits )<     // Если ниже желаем.
            NormalizeDouble (Bid-TS* Point , Digits ))
               {
      // Ниже я только добавил функцию New_Stop
                  SL=Bid-New_Stop(TS)* Point ; // то модифицируем его
                  string Text= "Buy " ;         // Текст для Buy 
                  Modify=true;                // Назначен к модифи.
               }
               break ;
// Функция из этой же книги:
int New_Stop( int Parametr)                      // Проверка стоп-прик.
  {
   int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL); // Миним. дистанция
   if (Parametr < Min_Dist)                     // Если меньше допуст.
     {
      Parametr=Min_Dist;                        // Установим допуст.
      Alert ( "Увеличена дистанция стоп-приказа." );
     }
   return (Parametr);                            // Возврат значения
  }
 

Lütfen bana val1[] gösterge satırına nasıl zaman atayacağımı söyleyin. Veya nasıl yapılacağını ve ne kullanılacağını zorlayın, aksi takdirde yetişemem. Laguerre göstergesi.

   i=CountBars- 1 ;
   while (i>= 0 )
   {
      L0A = L0;
      L1A = L1;
      L2A = L2;
      L3A = L3;
      L0 = ( 1 - gamma)*Close[i] + gamma*L0A;
      L1 = - gamma *L0 + L0A + gamma *L1A;
      L2 = - gamma *L1 + L1A + gamma *L2A;
      L3 = - gamma *L2 + L2A + gamma *L3A;

      CU = 0 ;
      CD = 0 ;
      
       if (L0 >= L1) CU = L0 - L1; else CD = L1 - L0;
       if (L1 >= L2) CU = CU + L1 - L2; else CD = CD + L2 - L1;
       if (L2 >= L3) CU = CU + L2 - L3; else CD = CD + L3 - L2;

       if (CU + CD != 0 ) LRSI = CU / (CU + CD);
      val1[i] = LRSI;
          i--;
        }
         

   if (counted_bars> 0 )
      counted_bars--;
   
   limit= Bars -counted_bars;
   
   if (limit>CountBars)
      limit=CountBars;
  
   for ( int c= 1 ;c<limit;c++)
        
{ if (val1[c]> 0.45 )
   LastLag++;}

Örneğin, val1[c] satırı 0.45 yukarıyı geçtiğinde, zaman değeri TimeBegin değişkenine atanır ve sonra aşağı geçtiğinde, zaman değeri TimeEnd'e atanır. Ve böylece program boyunca.

Dosyalar:
 
ScioMe :

Anladığım kadarıyla OrderModify(), açılış çubuğu dışındaki diğer çubuklardaki durakları değiştirebilir mi?

peki ve oklar açılış çubuğunda. sen onlara bir renk ver