NetTradex Advisors için SSS

Ben başka bir bilgisayarda NetTradeX Advisors'u ayarlamak istiyorum. Tüm skript'lerimi* nasıl ihtaç edebilirim?

NetTradeX Advisors'un tüm skript'leri, Documents\NeTTradeX Advisors\scripts klasöründe depolanır. Başka bir bilgisayara terminali yükledikten sonra, tüm içeriğini kopyalayarak yeni bilgisayardaki ilgili klasöre yapıştırın ve terminali yeniden çalıştırın.

Ben bir indikatör oluşturdum ancak onun çizgisi kesilir. İndikatör çizgisini boşluksuz olararak nasıl yapabilirim?

Boşluksuz çizgi yapmak için ltSection değeri olan type parametreli SetIndexStyle fonksiyonu kullanın

Danışmanı başlattıktan sonra bir kaç saniye sonra durur ve dergisinde "zaman aşımı ile durdurulmuştur" (stopped by timeout) mesajı görünür. Neden böyle oluyor?

Tik geldikten sonra danışman sınırlı bir süre (60 saniye) içerisinde bütün program mantığı tamamlamalı. Bu limiti aşması durumunda danışman zorla durduruluyor ve danışmanın işini bitirmesi için 3 ek saniye daha verilir. Danışmanın çalışmasının güvenli tamamlanması için System.IsStopped bayrağının durumunu analize etmeniz tavsiye edilir. Danışmanın durduğu zaman kullanıcı "zaman aşımı ile durdurulmuştur" (stopped by timeout) mesajı görür. Bu durumda, bu programın tamamlanması daha az zaman alsın diye onu yeniden gözden geçirilmesi gerekmektedir.

Ben Deals.Open () fonksiyonu aracılığıyla bir pozisyon açma talebi gönderiyorum, ancak pozisyon açılmıyor. Bunun nedenini nasıl anlayabilirim?

Deals.Open () fonksiyonunun sıfırı döndürdüğünden emin olduktan sonra, System.LastError parametresine başvurmanız ve hata kodu almanız gereklidir. Hata kodlarının açıklanması kullanım kılavuzunda "Dil temelleri" - "Hata Kodları" bölümünde verilmektedir. Dikkat edin ki System.LastError parametresine başvurmanız ticaret işlevini çağrınızdan hemen sonra yapılmalı, aksi takdirde bir sonraki ticaret işlemi, işlerinin sonuçlarına göre bu özelliği değiştirecektir.

Ben bir pozisyon açtım veya bir emir ayarladım ve onun özelliklerini almaya çalışıyorum, ancak elde edilen değerler doğru değil.

Pozisyon veya emrin özelliklerine erişmek için, önce Select() fonksiyonunu çağırmanız gerekir, sonra da Select()'in true değerini döndürdüğünden emin olduktan sonra pozisyon veya emrin özelliklerine erişebilirsiniz.

Bekleyen emrin türünü (Buy stop veya Buy limit) nasıl belirleyebilirim?

Ayarlanan emrin türünü belirlemek için onun özelliklerine başvurmanız gerek ama, bundan önce Select() fonksiyonunu çağırınız. Buy Stop emri için iki koşulun yerine getirilmesi gerekir: Orders.Direction == opBuy ve Orders.IsLimit == false, demek ki Buy Limit emri için su koşulların gerçeklenmesi gerek: Orders.Direction == opBuy ve Orders.IsLimit == true.

SubType (emrin alt tipi) özelliği ne için kullanılır?

Emrin alt tipi özelliği "kompleks" emirler için kullanılır ve hangi emrin ana, hangisinin de alt olduğunu belirleme imkanı sağlar. Örneğin, aktivasyon emrin olması halinde, onun gerçeklenmesi durumunda iki OCO ayarlanacaktir: aktivasyon emri ana olacak (1 seviyeli emir) ve OCO emirleri - alt olacak (2 seviyeli emirler).

Belirli bir sembolde bir pozisyon açmak gerekir. Ben "Make deal" penceresini açtım ama istediğim sembolü görmüyorum.

Pozisyon açma penceresindeki sembol listesi, Market Watch penceresindeki aynı sembolleri içeriyor. O yüzden pozisyonu açmadan önce size gereken sembolün Market Watch penceresinde görüntülendiğinden emin olun.

Dün veya birkaç gün önce kapattığım pozisyonların karı hakkında bilgi nereden alabilirim?

Kapanmış olan pozisyonlar hakkında bilgi, NetTradeX Advisors terminalinin History sekmesine düşüyor. Kapanmış pozisyonlar hakkında bilgiler terminalin yeniden başlatılana kadar saklanır.

Symbols.Distance() fonksiyonunu çağırıyorum ama, minimum emir mesafesinin değerini Sıfır olarak alıyorum.

Symbols.Distance() metodunu çağırmadan önce size gereken sembolün Market Watch penceresinde görüntülendiğinden emin olun.

Hangi sistem fonksiyonları skript'te* mutlaka bulunmalı? Skript başlatılmasında ve kapatılmasında herhangi bir işlem yapmam gerekmiyorsa ilgili fonksiyonları silebilir miyim?

Skript'in başlatılması için Run() fonksiyonu gerek. Initialize()ve DeInitialize() fonksiyonları isteğe bağlı, ve skript başlatılmasında ve kapatılmasında herhangi bir işlemin yapılması istenmiyorsa, onlar programdan kaldırılabilir.
bazı durumlarda, mesela yardımcı kullanıcı işlevler açıklamaları içeren dosyayı oluşturduğunuzda Skript'te Run () fonksiyonu da eksik olabilir. Bu dosyalar derlenebilecek ama başlatılamayacaktır. Bu gibi skriptler #include direktifi ile birlikte kullanılır ve çalıştırılabilir skriptin koduna dahil ediliyor.
* Skript, NTL+ dilinde üç tip program birleştirir: danışmanlar, göstergeler ve utilitler.

Program hakkında bilginin kaydedildiği bir dergi dosyası var mı?

Evet, Journal sekmesinde görüntülenen tüm bilgiler, aynı zamanda Documents\ NetTradeX Advisors\ bases\ account_type\ account_number\ logs klasöründe bulunan log dosyasına kaydedilir. Her gün için ayrı log uzantılı bir dosya oluşturulur. Bu dosya bir metin editöründe açılabilir.

Bazı global değişkenler önünde extern modifikatörü ne için kullanılır?

Global değişken hem extern ile hem de ve onsuz olabilir. Extern modifikatörü olduğunda skript başlatıldıktan hemen sonra bu değerleri değiştirebileceğiniz bir pencere açılacaktır. Buna ek olarak, bu parametreler anında yani bir danışmanın ya da göstergenin çalışma süresinde değiştirilebilir.

Program ile çalışmak için bazı faydalı klavye kısayolları nelerdir?

Ctrl+N tuş kombinasyonunun basılması, koteler grafiğinin oluşturulması için kullanabildiğiniz sembol listesini açar.
Grafikler ile çalışırken, grafiğin yatay ölçeğini değiştirmek için klavyedeki + / - tuşlarını kullanabilirsiniz. Aynı operasyonlar şu şekilde de yapılabilir: grafiğin altında gözüken zaman yazıları üzerinde farenin sol tuşunu basılı tutarak fareyı sağa veya sola doğru hareket ettirin. Grafiğin dikey değişmeleri yapmak için grafiğin sağında gözüken fiyat seviyesi üzerinde farenin sol tuşunu basılı tutarak farenizi yukarı veya aşağı hareket ettirin.
Grafiği en ilk tarihe kaydırmak için, Home tuşunu ve son kotelere geçmek için ise End tuşunu tıklayabilirsiniz.
Açık Pozisyonlar (Open Positions) sekmesindeki boş alan üzerinde çift tıklayarak pozisyon açma, emirler sekmesindeki boş alan üzerinde çift tıklayarak da emir koyma penceresini açtıracak. Bu operasyonlar F4 (pozisyon aç) veya F3 (emir koyma) tuşlarına basarak da yapılabilir.
Pozisyon açma veya emir koyma pencerelerinde sayısal alanlarındaki değerleri fare tekerleği ile ayarlayabilirsiniz. Örneğin, bağlanan emrin fiyatını ayarladığınızda tekerleğin bir çentik başına bir pip değiştirilir.

Ben tam sayıların bölünmesi yapıyorum System.Print("2/3="+2/3); ve sonuçta 2/3=0 elde ediyorum. Bu neden oluyor?

Her iki işlenen tamsayı olduğundan, bölme işleminin sonucu da tamsayı olacak. O yüzden işlenenlerden birini double tipine double(2)/3 şekilde getirilmeli, bu durumda sonuç 2/3=0,666667 olacaktır.

Kullanıcı terminalinin global değişkenler nerede saklanır?

Global değişkenler, View – Global Variables menüsünden çağırabileceğimiz “Global Variables” penceresi aracılığı ile izlenebilir. Her hesap için farklı global değişkenlerin kullanıldığını unutmayın.

Son fraktalın fiyatını nasıl belirleyebilirim?

Indicators.Fractals usulünü kullanırken en son bar için değerlerini almak yararsız, çünkü onlar sıfır olacak. Fraktalların gerçek değerleri dördüncü bardan başlayarak oluşur (3 endeksli bar), çünkü bu durumda, arzu edilen barın her iki tarafından iki tam oluşmuş bar kullanılır.

Double tipi sayılar nasıl karşılaştırılır?

Bilgisayar belleğinde numaralar ikili sisteminde saklanır, bu yüzden ondalık sistemde verilen birçok numaralar sadece sonsuz bir fraksiyon olarak temsil edilebilir. Örneğin 0.1 olarak verilen sayı gerçekte 0.099999998'e eşit olabilir, o yüzden kayan noktalı sayıları karşılaştırmak için çift eşitliği kullanmak değiru değil. Math.Abs(a - b) < delta matematiksel yöntemini kullanmak daha iyidir, burada 'a' çıkan değer, 'b' - karşılaştırıldığı değer ve delta - mutlak hata.