Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 1018

 
Money_Maker :
Çok teşekkür ederim, daha hızlı olacak, ayrıca ilkeye bağlı kalmaya karar verdim, karakter kodları için özel teşekkürler, şimdi onları aramanıza gerek kalmayacak.

Karakterlerin kısa adlarını değiştirmek, satırları harflere bölmek ve değiştirmeyi yapmak için yazdım.

 string sub_symb[];
ushort u_sep= StringGetCharacter ( " " , 0 );
string SymbolArr[]={
//-------------------- в конце ставить запятую и писать через пробел
// СЕЛЬХОЗ.ПРОДУКЦИЯ
 "Молоко DC" ,
 "Корм GF" ,
 "Свинина HE" ,
 "Рогатый_скот LE" ,
 "Кукуруза ZC" ,
 "Соевое_масло ZL" ,
 "Соевая_мука ZM" ,
 "Соевые_бобы ZS" ,
 "Пшеница ZW" ,
// ЭНЕРГИЯ
 "#BRENT CL" ,
 "Мазут HO" ,
 "Газ NG" ,
 "Газ(мини) QG" ,
 "Нефть_WTI_(мини) QM" ,
 "Бензин RB" ,
// ИНДЕКСЫ
 "S&P_(мини) ES" ,
 "NASDAQ_(мини) NQ" ,
 "S&P_500 SP" ,
 "#DJI30 YM" ,
 "#DAX30 FDAX" ,
// МЕТАЛЛЫ
 "Золото GC" ,
 "Медь HG" ,
 "Палладий PA" ,
 "Платина PL" ,
 "Серебро SI" ,
 "IndexUSD DX" ,

//+---------------------------------------------------------------------------------------------+
};

string SubSymbols( string CurSymb)
 {
 for ( int i= 0 ; i< ArraySize (SymbolArr); i++)
  {
   StringSplit (SymbolArr[i],u_sep,sub_symb);
   if (CurSymb==sub_symb[ 0 ])
    {
     return (sub_symb[ 1 ]);
    }
  }
//-
 return ( _Symbol );
 }
 
eevviill :

StringGetChar()

StringGetCharacter()

Yoksa değil mi?

değil .. kod çözmenin anlamı aşağıdaki gibidir: her Rus harfine bir değer atanır, örneğin "a" bu böyle bir kombinasyondur \u0430

dönüştürmek için şu veya bu değerin hangi harfe ait olduğunu belirlemeli ve ardından bu değerleri harflerle değiştirmelisiniz... KernelDll üzerinden mümkün görünüyor ama bu yol çok çamurlu, en azından başaramadım , bu konuda çok az bilgi var ve görünüşe göre hepsi aynı değil .. ama işlevi bence tek basit çıkış yolu
 
Trader76 :

Karakterlerin kısa adlarını değiştirmek, satırları harflere bölmek ve değiştirmeyi yapmak için yazdım.

çok teşekkür ederim, bunu yapacağım.
 

Tünaydın. Göstergeyi kullanırken küçük bir sorun oluştu - başka bir zaman dilimine geçerken terminal yavaşlamaya başlıyor ve bazen tamamen kilitleniyor.

Gösterge - Sapma değeri göstergeli Bollinger bantları. Daha önce olmadığı için, “sapma değerinin gösterimi” eklendikten hemen sonra başladı, ancak kodda tam olarak neyin performans düşüşüne yol açtığını bilmiyorum.

Birisi bana bu tür sorunları genel olarak nasıl çözeceğimi veya nereden başlayacağımı söyleyebilir mi?

 
FiVik :

Tünaydın. Göstergeyi kullanırken küçük bir sorun oluştu - başka bir zaman dilimine geçerken terminal yavaşlamaya başlıyor ve bazen tamamen kilitleniyor.

Gösterge - Sapma değeri göstergeli Bollinger bantları. Daha önce olmadığı için, “sapma değerinin gösterimi” eklendikten hemen sonra başladı, ancak kodda tam olarak neyin performans düşüşüne yol açtığını bilmiyorum.

Birisi bana bu tür sorunları genel olarak nasıl çözeceğimi veya nereden başlayacağımı söyleyebilir mi?

Büyük ihtimalle hesaplama için uzun bir süre var, bu yüzden kilitleniyor, güncel değerleri almak için tarihe 5000 bar saymanız gerektiğini düşünmüyorum.
 

Trader76 , eklenen fonksiyondur: iMAOnArray. İçinde hesaplanacak eleman sayısını belirtmeniz gerekir. Belirttim - dizinin tüm elemanları, ancak bu şekilde ortalama standart sapmanın doğru değeri elde edilir.

Standart sapma göstergesine hareketli bir ortalama koyarak kontrol ettim. Belirli bir sayıda öğe belirtirseniz, hesaplanan değer değişir.

Tüm dizinin hesaplanması nedeniyle göstergenin yavaşlaması oldukça olasıdır, ancak aksi takdirde doğru hesaplamaz.

Hesaplanan ortalamanın periyodu 30'dur.

 
FiVik :

Trader76 , eklenen fonksiyondur: iMAOnArray. İçinde hesaplanacak eleman sayısını belirtmeniz gerekir. Belirttim - dizinin tüm elemanları, ancak bu şekilde ortalama standart sapmanın doğru değeri elde edilir.

Standart sapma göstergesine hareketli bir ortalama koyarak kontrol ettim. Belirli bir sayıda öğe belirtirseniz, hesaplanan değer değişir.

Tüm dizinin hesaplanması nedeniyle göstergenin yavaşlaması oldukça olasıdır, ancak aksi takdirde doğru hesaplamaz.

Hesaplanan ortalamanın periyodu 30'dur.

Kodu göster
 

Bu tam olarak eklediğim şey, bundan önce gösterge yavaşlamadı.

 //+------------------------------------------------------------------- 
//|Расчет среднего значения девиации
//+------------------------------------------------------------------- 
      Averagedeviation=iMAOnArray(deviationBuffer, 0 , 30 , 0 , MODE_SMA ,i);
//+------------------------------------------------------------------- 
//|Вывод значения на экран отдельным объектом
//+------------------------------------------------------------------- 
       string Text =DoubleToStr(deviation, 4 );                   // Текст для отображения с указанием количества знаков ппосле запятой
       if (deviation<=(Averagedeviation* 1.1 )&&deviation>=(Averagedeviation* 0.9 )) // Выбор цвета зависит от динамики
      Color_Day_Percent = Color_0;                             // Цвет для 0
       if (deviation>Averagedeviation* 1.1 )                       // Выбор цвета зависит от динамики
      Color_Day_Percent = Color_Up;                             // Цвет для +
       if (deviation<Averagedeviation* 0.9 )                       // Выбор цвета зависит от динамики
      Color_Day_Percent = Color_Dn;                             // Цвет для -
      
       if ( ObjectFind (Obj_Name)==- 1 )                             // Если объекта нет..
      {
       ObjectCreate (Obj_Name, OBJ_LABEL , 0 , 0 , 0 );                   // Создаём новый объект 
      ObjectSet    (Obj_Name, OBJPROP_CORNER ,     1 );             // Угол привязки            
      ObjectSet    (Obj_Name, OBJPROP_XDISTANCE , 15 );             // Координата Х
      ObjectSet    (Obj_Name, OBJPROP_YDISTANCE , 15 );             // Координата Y
      }
      ObjectSetText(Obj_Name,Text, 10 , "MS Sans Serif" ,Color_Day_Percent); // Текстовое описание объекта      
      i--;   
     }
//----------------------------------------------------------------------
   return ( 0 );
  }
int deinit()
   {
   ObjectDelete (Obj_Name);                                       // Удаление объекта при выходе
   return ( 0 );
   }
//+------------------------------------------------------------------+
 
FiVik :

Bu tam olarak eklediğim şey, bundan önce gösterge yavaşlamadı.

Peki, istemiyorsan, istiyorsun
 
Vinin :
Peki, istemiyorsan, istiyorsun

anlamadım İstemiyorum mu demek istiyorsun?

Tüm koda ihtiyacınız var mı? İyi.

Kiril adı bu tür hiyerogliflerin nedenidir.

Dosyalar: