ForexالبورصةBourseBolsa股市AktienBorsaФорексFXFinançasGiełdaΧρηματιστήριοBeursBörsPörssi금융
22.05.2012 15:02 GMT
   
 
  New York   Londra   Tokyo 
   
 

Genel İşlevler

Yazar   |  Temel Analizler  |  28.05.2009 22:26 GMT  |  Yorum Ekle
 

Alert() İşlevi


void Alert(...);
Bu işlev kullanıcı tarafından tanımlanan veriyi içeren bir diyalog penceresi çıkartır. İşleve gönderilen argumanlar herhangi bir türden olabilir. İşleve geçilen arguman sayısı 64'ten fazla olamaz.
Diziler doğrudan Alert işlevine geçilemez. Dizilerin elemanları tek tek işleve geçilmelidir. double türden değişkenlerin noktadan sonra 4 basamak içerecek şekilde yazdırılabilmesi için DoubleToStr() işlevi kullanılmalıdır. bool, datetime ve color türden değişkenlerin sayısal değerleri yazdırılır. datetime türünden verilerin bir yazı şeklinde yazdırılabilmesi için string türüne dönüştürülmeleri gerekir. Bu amaçla TimeToStr() işlevi kullanılmalıdır.

Parametreler

...: Virgüllerle ayrılarak her türden veri işleve arguman olarak gönderilebilir.

Örnek Kod

if (Close[0] > SignalLevel)
    Alert("Kapanış fiyatı: ", Close[0],"!!!");

Comment() İşlevi

void Comment(...);

Bu işlev kullanıcı tarafından tanımlanan yorumu ekranın sol üst köşesine yazar. İşleve gönderilen argumanlar herhangi bir türden olabilir. İşleve geçilen arguman sayısı 64'ten fazla olamaz.
Diziler doğrudan Alert işlevine geçilemez. Dizilerin elemanları tek tek işleve geçilmelidir. double türden değişkenlerin noktadan sonra 4 basamak içerecek şekilde yazdırılabilmesi için DoubleToStr() işlevi kullanılmalıdır. bool, datetime ve color türden değişkenlerin sayısal değerleri yazdırılır. datetime türünden verilerin bir yazı şeklinde yazdırılabilmesi için string türüne dönüştürülmeleri gerekir. Bu amaçla TimeToStr() işlevi kullanılmalıdır.

Parametreler

...: Virgüllerle ayrılarak her türden veri işleve arguman olarak gönderilebilir.

Örnek Kod

double free = AccountFreeMargin();
Comment("Account free margin is ", DoubleToStr(free, 2), "\n", "Current time is ",  TimeToStr(TimeCurrent()));


GetTickCount() İşlevi

int GetTickCount( ); 
Bu işlev sistemin başlamasından bu yana geçen süreyi milisaniye cinsinden geri döndürür..

Örnek Kod

int start = GetTickCount();

// Bazı zor hesaplamalar...
Print("Hesaplama süresi : ", GetTickCount() - start, " milisaniyedir.");

 

MarketInfo() İşlevi

double MarketInfo(string symbol, int type);
Bu işleve yapılan çağrılarla Piyasa gözlemi penceresinde listelenen paritelere ilişkin çeşitli veriler elde edilir. Elde edilebilecek bu verilerden bir kısmı ön tanımlı değişkenlerde de tutulmaktadır.

Parameter

symbol: Pariteyi gösteren yazı (Örneğin "EURUSD")
type: istenen bilgiyi gösteren simgesel sabit. Bu simgesel sabitlerin tüm listesi ayrı bir tablo şeklinde verilmiştir.

Örnek Kod

Aşağıdaki kod parçasında EURUSD paritesine ilişkin bazı bilgiler MarketInfo işlevi ile elde edilip değişkenlerde saklanmaktadır:

double bid   = MarketInfo("EURUSD", MODE_BID);
double ask   = MarketInfo("EURUSD", MODE_ASK);
double point = MarketInfo("EURUSD", MODE_POINT);
int digits = MarketInfo("EURUSD", MODE_DIGITS);
int spread = MarketInfo("EURUSD", MODE_SPREAD);

MarketInfo işlevi ile yapılacak sorgulamaya ilişkin sembolik sabitler

Simgesel Sabit Tamsayı Değeri Tanım
MODE_LOW 1 Günün en düşük   değeri
MODE_HIGH 2 Günün en yüksek değeri
MODE_TİME 5 Gelen son tick’in zaman bilgisi
MODE_BID 9 Son gelen satış fiyatı. Çalışılan parite söz konusu olduğunda bu değer öntanımlı Bid değişkeninde saklanmaktadır.
MODE_ASK 10 Son gelen alış fiyatı. Çalışılan parite söz konusu olduğunda bu değer öntanımlı Ask değişkeninde saklanmaktadır.
MODE_POINT 11 Parite için verilen fiyattaki en küçük birim. Çalışılan parite söz konusu olduğunda bu değer öntanımlı Point değişkeninde saklanmaktadır. Bu değer tipik olarak 0.0001 ya da 0.01'dir.
MODE_DIGITS 12 Parite için verilen fiyattaki noktadan sonraki basamak değeri. Çalışılan parite söz konusu olduğunda bu değer öntanımlı Digits değişkeninde saklanmaktadır. Bu değer tipik olarak 4 ya da 2'dir.
MODE_SPREAD 13 Pip cinsinden spread değeri.
MODE_STOPLEVEL 14 Pip cinsinden izin verilen en az Zarar Durdur/Kâr Al değeri
MODE_LOTSIZE 15 Baz döviz için lot büyüklüğü.
MODE_TICKVALUE 16 Bir pip'in parasal değeri. (Örneğin hesaptaki fon dolar cinsinden ise 1 pipin kaç dolar olduğu)
MODE_TICKSIZE 17 Bir pip değeri. Örneğin EURUSD paritesi için bu değeri 0.0001'dir. Grafik paritesi için bu değer aynı zamanda Point öntanımlı değişkende tutulmaktadır.
MODE_SWAPLONG 18 Uzun pozisyonlar için öteleme değeri.
MODE_SWAPSHORT 19 Kısa pozisyonlar için öteleme değeri.
MODE_STARTING 20 İşlemin başlangıç tarihi (Genellikle futures sözleşmelerinde kullanılır)
MODE_EXPIRATION 21 Piyasa vade tarihi. (Genellikle futures piyasaları için kullanılır.)
MODE_TRADEALLOWED 22 Söz konusu paritede işleme izin verilip verilmediği. Bu değer ile sorgulama yapıldığında işlev 1 (evet) ya da 0 (hayır) değerini döndürecektir.
MODE_MINLOT 23 İzin verilen en düşük lot miktarı
MODE_LOTSTEP 24 Lot miktarındaki en küçük değişim seviyesi
MODE_MAXLOT 25 İzin verilen en büyük lot miktarı
MODE_SWAPTYPE 26 Öteleme hesaplama yöntemi. 0 - pip olarak; 1 - Baz döviz cinsinden 2 - Faiz olarak 3 -Teminat dövizi cinsinden.
MODE_PROFITCALCMODE 27 Kâr hesaplama modu. 0 - Forex; 1 - CFD; 2 - Futures.
MODE_MARGINCALCMODE 28 Teminat hesaplama modu 0 - Forex; 1 - CFD; 2 - Futures; 3 - endeksler için CFD
MODE_MARGININIT     29 1 lot için gerekli olan başlangıç teminatı
MODE_MARGINMAINTENANCE 30 1 lot için gerekli olan sürdürme teminatı
MODE_MARGINHEDGED 31 1 lot için gerekli olan hedge teminatı
MODE_MARGINREQUIRED 32 1 lot alış işlemi için gerekli teminat miktarı.
MODE_FREEZELEVEL 33 Pip cinsinden emir dondurma seviyesi. Eğer yürütme fiyatı dondurma seviyesi sınırları içinde kalıyorsa, söz konusu olan emir değiştirilemez, silinemez, kapatılamaz.


MessageBox() İşlevi


int MessageBox(string text = NULL, string caption = NULL, int flags = EMPTY) ;
Bu işlev,  mesaj penceresi oluşturma, gösterme ve yönetme işlemlerini gerçekleştirir. Mesaj penceresi uygulama tanımlı bir mesaj ve başlık içerir. Bunlar örneğin ön tanımlı ikonlar ve butonlar olabilir. Eğer işlev başarılı olursa geri dönüş değeri aşağıda listelenen MessageBox geri dönüş değerlerinden biri olur. İşlev özel göstergeler tarafından çağrılamaz.

Parametreler

text: Pencerede seçeneğe bağlı olarak gösterilecek yazı.
caption: Pencere başlığında seçeneğe bağlı olarak gösterilecek yazı. Eğer bu parametreye NULL değeri Uzman Danışman'ın  ismi gösterilir. Pencerenin tür ve davranışlarını belirleyen opsiyonel bayraklar aşağıda bir liste şeklinde verilmektedir.

Örnek Kod

#include <WinUser32.mqh>
 
if(ObjectCreate("text_object", OBJ_TEXT, 0, D'2004.02.20 12:30', 1.0045) == false) {
    int ret = MessageBox("ObjectCreate() işlevinde hata oluştu. Hata kodu :  " + GetLastError() + " \nDevam edilsin mi?", "Soru", MB_YESNO|MB_ICONQUESTION);
    if (ret == IDNO)
        return (false);
}
// devam et

 

PlaySound() İşlevi


void PlaySound(string filename);
İşlev bir ses dosyası çalıştırır. Çalıştırılacak olan dosyanın terminal_yükleme_adresi\sounds klasöründe veya alt klasörlerinden birinde olmalıdır.

Parametreler

filename: Ses dosyasının adı.

Örnek Kod

if(IsDemo())
    PlaySound("alert.wav");


Print() İşlevi


void Print(...);
UzmanDanışman log dosyasına bir mesaj yazdırır. İşleve gönderilen argumanlar herhangi bir türden olabilir. İşleve geçilen arguman sayısı 64'ten fazla olamaz.
Diziler doğrudan Alert işlevine geçilemez. Dizilerin elemanları tek tek işleve geçilmelidir. double türden değişkenlerin noktadan sonra 4 basamak içerecek şekilde yazdırılabilmesi için DoubleToStr() işlevi kullanılmalıdır. bool, datetime ve color türden değişkenlerin sayısal değerleri yazdırılır. datetime türünden verilerin bir yazı şeklinde yazdırılabilmesi için string türüne dönüştürülmeleri gerekir. Bu amaçla TimeToStr() işlevi kullanılmalıdır.

Parametreler

...: Virgüllerle ayrılarak her türden veri işleve arguman olarak gönderilebilir.

Örnek Kod

double pi = 3.141592653589793;

Print("Hesabın serbest teminatı : ", AccountFreeMargin());
Print("Şu anki zaman : ", TimeToStr(TimeCurrent()));
Print("Pi sayısı : ", DoubleToStr(pi,8));
// Dizinin yazdırılması
for(int i = 0; i < 10; i++)
    Print(Close[i]);


SendFTP()
İşlevi

bool SendFTP(string filename, string ftp_path = NULL) ;
Dosyayı, Araçlar->Seçenekler->Yayımcı başlığındaki tanımlı FTP sunucusuna gönderir. Eğer işlev başarısız olursa FALSE değerini geri döndürür. Test modunda işlev çalışmaz ve özel göstergeler tarafından da çağrılamaz. Gönderilecek olan dosya terminal_yükleme_adresi\experts\files klasöründe ya da alt klasörlerinden birinde olmalıdır. Eğer bir FTP adresi yoksa ya da şifre tanımlaması yapılmamışsa dosya gönderilemez.

Parametreler

filename: Gönderilecek olan dosya.
ftp_path: Tanımlı FTP adresi.

Örnek Kod

int lasterror=0;
if(!SendFTP("report.txt"))
    lasterror = GetLastError();

SendMail() İşlevi

void SendMail( string subject, string some_text);
Araçlar->Seçenekler->EMail başlığı altında belirlenen e-posta adresine mesaj gönderir. Gönderim seçeneklerden kapatılabilir. Ayrıntılı hata mesajını almak için GetLastError() işlevinin çağırılması gerekir.

Parametreler

subject: Mesajın başlığı.
some_text: Mesajın içeriği.

Örnek Kod

double lastclose=Close[0]; if(lastclose<my_signal)
    SendMail("Uzman Danışmanınızdan", "Fiyat " + DoubleToStr(lastclose,Digits) + " seviyesine kadar düştü.");


Sleep()
İşlevi

 

void Sleep( int milliseconds);
Sleep() işlevi o an çalışmakta olan UzmanDanışman kodunu belirli bir zaman aralığında durdurur. Özel Danışmanlar tarafından çağrılamazlar.

Parametreler

milliseconds: milisaniye cinsinden beklenecek süre.

Örnek Kod

// 10 Saniye Bekle
Sleep(10000);

Feragat: Fusion Media would like to remind you that the data contained in this website is not necessarily real-time nor accurate. All CFDs (stocks, indexes, futures) and Forex prices are not provided by exchanges but rather by market makers, and so prices may not be accurate and may differ from the actual market price, meaning prices are indicative and not appropriate for trading purposes. Therefore Fusion Media doesn`t bear any responsibility for any trading losses you might incur as a result of using this data .

Fusion Media or anyone involved with Fusion Media will not accept any liability for loss or damage as a result of reliance on the information including data, quotes, charts and buy/sell signals contained within this website. Please be fully informed regarding the risks and costs associated with trading the financial markets, it is one of the riskiest investment forms possible.

Yorum Ekle

 
 
 
 

Başarıyla raporlandı

Teşekkür ederiz. Yorum, yöneticinin incelemesi için işaretlendi.
_touchLoadingMsg
 
 
Kampanyalar
Anket
En sevdiğiniz kampanya türü hangisidir?
Ücretsiz kurs
Hediyeler
Geri Ödeme
Yarışma
Kampanyalardan hoşlanmıyorum