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

 
mzk_3om6u :


Neyi nereye ekleyeceğimi hala anlamıyorum ve betiğin nasıl yazıldığı da çok net değil :(

uzmanlar/dosyalar/ trx_rowa.vbs

Bu, bilimin bilmediği kısır, tıraşsız bir Truva atıdır. Devlale, Google'ın bir fare mesafesinde, din kaynak kodunu anlamana izin vermiyor mu? IE.visible = false değerini IE.visible = true olarak değiştirin, çalıştırın ve görün. Komut dosyası takviminizi ayrıştırır ve her şeyi Kiril dilinde bir metin dosyasına yazar. Aç ve bir bak, her şey yolunda gidiyor.

 
gyfto :

uzmanlar/dosyalar/ trx_rowa.vbs

Bu, bilimin bilmediği kısır, tıraşsız bir Truva atıdır. Devlale, Google'ın bir fare mesafesinde, din kaynak kodunu anlamana izin vermiyor mu? IE.visible = false değerini IE.visible = true olarak değiştirin, çalıştırın ve görün. Komut dosyası takviminizi ayrıştırır ve her şeyi Kiril dilinde bir metin dosyasına yazar. Aç ve bir bak, her şey yolunda gidiyor.


'On Error Resume Next
Dim IE : Set IE = WSCript.CreateObject("InternetExplorer.Application")
Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim fTxtName : fTxtName = Left(WSCript.ScriptFullName,len(WSCript.ScriptFullName)-3) & "txt"
Set TxtFile = objFSO.OpenTextFile(fTxtName, 2, True)'открываем файл для записи
IE.visible = false' браузер в фоновом режиме
IE.navigate "http://www.fxteam.ru/forex/economic-calendar/2013_49.html"
Do While IE.Busy
        WSCript.Sleep 500
loop
Do While IE.document.getElementsByClassName("tr1 rowa").Item(0).getElementsByTagName("TD").Item(4) is Nothing' пока этот элемент страницы не загрузится
        WSCript.Sleep 500' будем ждать загрузки страницы
loop
Set tr1_rowa = IE.document.getElementsByClassName("tr1 rowa")
For i = 0 to tr1_rowa.length - 1
        TxtFile.WriteLine tr1_rowa.Item(i).getElementsByTagName("TD").Item(4).InnerText
Next
Set tr0_rowa = IE.document.getElementsByClassName("tr0 rowa")
For i = 0 to tr0_rowa.length - 1
        TxtFile.WriteLine tr0_rowa.Item(i).getElementsByTagName("TD").Item(4).InnerText
Next
Set IE = Nothing' закрываем браузер
TxtFile.Close
WSCript.Quit()

Cidden ne tür bir metin nereye ekleyeceğimi anlamıyorum. ilk önce

1. Siteyi bir dosyaya indirebilirim.

2. Diğer seçenekler:

2a) Kayıt işlevinden geçirin (okunamayan karakterler kaybolacak ve günlükte bir hata olacaktır - bu can sıkıcıdır) ve Rusça harfleri ayrıştırın (günlükte hatalar can sıkıcıdır, ancak çalışmıyorlar) etkilemek).

2b) Her şeyi olduğu gibi bırakın ve anahtar kelimelerle biraz acı çekin ( pazartesi = "ПонедельРРЅРёРє" gibi) ve ayrıca bilgi çekin.

2c) "Pazartesi" kelimesini "ПонедеР"СЊРРЅРёРє" olarak çeviren bir fonksiyon yazın ve ayrıca ihtiyacınız olanı çıkarın.

Bir fonksiyon yazmaya çalıştım ama açıkçası kodlamalar hakkında bir şey bilmiyorum :) İşte elimdekiler, orijinali aşağıda.

 string win_utf8( string s) { 
   string outputi = "" ;
   string other1 = "Ё" ;
   string other2 = "ё" ;
   string other3 = "Є" ;
   string other4 = "є" ;
   string other5 = "I" ;
   string other6 = "i" ;
   string other7 = "Ї" ;
   string other8 = "ї" ;
   for ( int i = 0 ; i < StringLen (s); i++)
   {
       if (StringGetChar(s,i) > 191 ) 
      {
         int output=StringGetChar(s,i)+ 848 ;
      }
         else 
         {
             if ( StringSubstr (s,i, 1 ) != other1)output=StringGetChar(s,i);
             else output= 1025 ; 
             if ( StringSubstr (s,i, 1 ) != other2)output=StringGetChar(s,i);
             else output= 1105 ; 
             if ( StringSubstr (s,i, 1 ) != other3)output=StringGetChar(s,i);
             else output= 1028 ; 
             if ( StringSubstr (s,i, 1 ) != other4)output=StringGetChar(s,i);
             else output= 1108 ; 
             if ( StringSubstr (s,i, 1 ) != other5)output=StringGetChar(s,i);
             else output= 1030 ; 
             if ( StringSubstr (s,i, 1 ) != other6)output=StringGetChar(s,i);
             else output= 1110 ; 
             if ( StringSubstr (s,i, 1 ) != other7)output=StringGetChar(s,i);
             else output= 1031 ; 
             if ( StringSubstr (s,i, 1 ) != other8)output=StringGetChar(s,i);
             else output= 1111 ; 
            }
   outputi=outputi+StringSetChar( "" , 0 ,output);
   }
   
   return (outputi);
}
function win_utf8($in_text) { 
   $output = "" ;
   $other[ 1025 ] = "Ё" ;
   $other[ 1105 ] = "ё" ;
   $other[ 1028 ] = "Є" ;
   $other[ 1108 ] = "є" ;
   $other[ 1030 ] = "I" ;
   $other[ 1110 ] = "i" ;
   $other[ 1031 ] = "Ї" ;
   $other[ 1111 ] = "ї" ;
   for ($i = 0 ; $i < strlen($in_text); $i++){
       if (ord($in_text{$i}) > 191 ) {
         $output.= "&#" .(ord($in_text{$i})+ 848 ). ";" ;
      } else {
         if (array_search($in_text{$i}, $other)=== false ){
            $output.=$in_text{$i};
         } else {
            $output.= "&#" .array_search($in_text{$i}, $other). ";" ;
         }
      }
   }
   return $output;
}
 
mzk_3om6u :

Cidden ne tür bir metin nereye ekleyeceğimi anlamıyorum.


Orada yorum yaptım bak. Bu kodu bir not defterine kopyalayıp yapıştırın, not defterini trx_rowa.vbs (txt değil) olarak kaydedin, bir vbs betiği edinin. Komut dosyasını uzman dosyalara aktarın. Önce kontrol edebilir, çalıştırabilir, çağrısını mql4 kodundan hemen yazabilirsiniz. Nasıl aranır, getirilir. Kendisiyle aynı ada sahip bir txt dosyası oluşturur ve tüm Kiril alfabeniz vardır. Tek şey, hindiden uyuyamayacaksın , dışarı çıkman gerekiyor. Şu şekilde olabilir:

 datetime myTimer = TimeCurrent () + 60 ;
while ( TimeCurrent () < myTimer){}
//дальше код...

ama çalışması pek mümkün değil. Forumun WinAPI'de bir zamanlayıcısı vardı.

 
gyfto :

Orada yorum yaptım bak. Bu kodu bir not defterine kopyalayıp yapıştırın, not defterini trx_rowa.vbs (txt değil) olarak kaydedin, bir vbs betiği edinin. Komut dosyasını uzman dosyalara aktarın. Önce kontrol edebilir, çalıştırabilir, çağrısını mql4 kodundan hemen yazabilirsiniz. Nasıl aranır, getirilir. Kendisiyle aynı ada sahip bir txt dosyası oluşturur ve tüm Kiril alfabeniz vardır.


Seni anladım! Kiril alfabesini çıkarmanın yolu için teşekkürler, ama asıl görev zaman\ülke\önem almak ama önem oraya bir resim gibi gidiyor ve onu sadece Latince yakalayabilirsin, yoksa kendime bir alternatif kurtaracağım Sayfaları indirmenin yolu.

Teşekkürler:)

 
mzk_3om6u :


asıl görev zaman\ülke\önem almaktır


Zaman - .getElementsByTagName("TD") .item(0).InnerText

ülke - .getElementsByTagName("TD") .item(1).InnerText

önem - .getElementsByTagName("TD") .item(2).InnerHTML ve orada zaten /i/calendar/impact 1 .png satırında hangi sayının olduğunu biliyorsunuz

 

Göstergelerin kullanımına ilişkin herhangi bir kısıtlama var mı?

Bir danışmanda bir gösterge kullanırsam, program testi bitirdiğinde gösterge çizilir.

bir ve aynı gösterge ancak farklı parametrelere sahipse - o zaman iki tane çizilir.

Danışmanlarıma dinamik parametrelere sahip bir hindi eklemek istiyorum - danışman son derece yavaş çalışmaya başladı ve durduğunda bir grafik yerine bir armaged gösteriyor (30 bağlantılı gösterge - grafikte çok fazla görüntüleyebilir).

soru şu ki, eğer sadece 30 gösteriyorsa - betiğin geri kalanını anlıyor mu?

 
tiiga :

Göstergelerin kullanımına ilişkin herhangi bir kısıtlama var mı?

Bir danışmanda bir gösterge kullanırsam, program testi bitirdiğinde gösterge çizilir.

bir ve aynı gösterge ancak farklı parametrelere sahipse, o zaman iki tane çizilir.

Danışmanlarıma dinamik parametrelere sahip bir hindi eklemek istiyorum - danışman son derece yavaş çalışmaya başladı ve durduğunda grafik yerine bir armagedian gösteriyor.

göstergenin ana işlevini bir Uzman Danışmana aktarın - ve bir armaged'in yokluğu daha hızlı çalışacaktır.

Gösterge kodunun uzman koduna aktarılması. Göstergenin yapısı.

Gösterge kodunun uzman koduna aktarılması. Uzman Danışman yapısının genel şemaları ve gösterge işlevleri

Gösterge kodunun uzman koduna aktarılması. Çözüm
 
teşekkür etmek! bağlantınız tıklanmıyor
 
tiiga :

Göstergelerin kullanımına ilişkin herhangi bir kısıtlama var mı?

Bir danışmanda bir gösterge kullanırsam, program testi bitirdiğinde gösterge çizilir.

bir ve aynı gösterge ancak farklı parametrelere sahipse, o zaman iki tane çizilir.

Danışmanlarıma dinamik parametrelere sahip bir hindi eklemek istiyorum - danışman son derece yavaş çalışmaya başladı ve durduğunda bir grafik yerine bir armaged gösteriyor (30 bağlantılı gösterge - grafikte çok fazla görüntüleyebilir).

soru şu ki, eğer sadece 30 gösteriyorsa - betiğin geri kalanını anlıyor mu?


geçersiz HideTestGöstergeleri ( bool hide)

İşlev, EA tarafından çağrılan göstergeleri gizlemek için bayrağı ayarlar. Testten sonra bir çizelge açarken, gizle bayrağıyla işaretlenmiş göstergeler test çizelgesinde görüntülenmeyecektir. Her aramadan önce gösterge, halihazırda ayarlanmış olan gizleme bayrağıyla işaretlenir.
Test çizelgesinde yalnızca doğrudan test edilen Uzman Danışmandan çağrılan göstergelerin görüntülenebileceğine dikkat edilmelidir.
Seçenekler:
saklamak - DOĞRU - göstergeleri gizlemek için, aksi takdirde YANLIŞ.
Misal:
 HideTestIndicators(true);
   MaCurrent=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,0);
   MaPrevious=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,1);
   HideTestGöstergeleri(yanlış);
 

Düşüş yüzdesini bulmak için nasıl doğru yazılır?

(DoubleToStr(AccountBalance(), 2) - DoubleToStr(AccountFreeMargin(), 2)) * 100