İşlem seansı ve destek/direnç göstergeleri nasıl oluşturulur?
cTrader Algo API, işlem grafiklerine dikdörtgenler, çizgiler, üçgenler, bulutlar ve diğer nesneleri çizen göstergeler oluşturmak için gereken türleri sağlar. Özellikle dikdörtgenler, önemli dönemleri, konsolidasyon bölgelerini ve destek/direnç seviyelerini vurgulamak için yaygın olarak kullanılır.
Bu makalede ve ilgili videoda, bir sembol grafiğinde işlem seanslarını ve destek/direnç seviyelerini temsil eden dikdörtgenleri nasıl çizeceğinizi öğreneceksiniz.
İşlem seansı göstergesi oluşturma
Dört ana işlem seansı vardır: Sidney, Tokyo, Londra ve New York. Her seans, volatilite ve aktivite seviyeleri açısından benzersizdir. Seansları ve aralarındaki çakışmaları izleyerek trader'lar belirli varlıkların ne zaman işlem gördüğünü bilir ve fırsatlardan yararlanabilirler.
Bu örnekte, bir grafikte işlem seanslarını çizen bir gösterge oluşturmak istiyoruz.
cTrader Algo'da Göstergeler sekmesine gidin ve Yeni düğmesine tıklayın. Metin alanına bir ad girin ve ardından Oluştur'a tıklayın.
Kod düzenleyicide göstergeyi değiştirmeye başlayın. İlk olarak, onu bir bindirme göstergesi yapın.
Londra seansını bir grafikte gösteren bir dikdörtgen çizmek için kodu yazın.
1234567
TimeSpanlondonOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("Greenwich Standard Time")).TimeOfDay;TimeSpanlondonClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("Greenwich Standard Time")).TimeOfDay;Chart.DrawRectangle("London Session ",Server.Time.Date.Add(londonOpen),Chart.TopY,Server.Time.Date.Add(londonClose),Chart.BottomY,Color.FromArgb(50,0,50,255)).IsFilled=true;
=Ctrl+B tuşlarına basın veya Derle'ye tıklayın, ardından Örnek ekle'ye tıklayarak göstergeyi bir grafiğe ekleyin.
Londra seansı dikdörtgeni grafikte görülebilir.
Kod düzenleyiciye geri dönün ve kalan üç işlem seansı için kod ekleyin.
1 2 3 4 5 6 7 8 91011121314151617181920212223
TimeSpannyOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")).TimeOfDay;TimeSpannyClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")).TimeOfDay;Chart.DrawRectangle("NY Session ",Server.Time.Date.Add(nyOpen),Chart.TopY,Server.Time.Date.Add(nyClose),Chart.BottomY,Color.FromArgb(50,255,50,0)).IsFilled=true;TimeSpansydneyOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time")).TimeOfDay;TimeSpansydneyClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time")).TimeOfDay;Chart.DrawRectangle("Sydney Session ",Server.Time.Date.Add(sydneyOpen).AddDays(-1),Chart.TopY,Server.Time.Date.Add(sydneyClose),Chart.BottomY,Color.FromArgb(50,50,255,0)).IsFilled=true;TimeSpantokyoOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time")).TimeOfDay;TimeSpantokyoClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time")).TimeOfDay;Chart.DrawRectangle("Tokio Session ",Server.Time.Date.Add(tokyoOpen),Chart.TopY,Server.Time.Date.Add(tokyoClose),Chart.BottomY,Color.FromArgb(50,0,50,255)).IsFilled=true;
usingSystem;usingcAlgo.API;usingcAlgo.API.Collections;usingcAlgo.API.Indicators;usingcAlgo.API.Internals;namespacecAlgo{[Indicator(AccessRights = AccessRights.None, IsOverlay = true)]publicclassTradingSessions:Indicator{protectedoverridevoidInitialize(){}publicoverridevoidCalculate(intindex){TimeSpanlondonOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("Greenwich Standard Time")).TimeOfDay;TimeSpanlondonClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("Greenwich Standard Time")).TimeOfDay;Chart.DrawRectangle("London Session ",Server.Time.Date.Add(londonOpen),Chart.TopY,Server.Time.Date.Add(londonClose),Chart.BottomY,Color.FromArgb(50,0,50,255)).IsFilled=true;TimeSpannyOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")).TimeOfDay;TimeSpannyClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")).TimeOfDay;Chart.DrawRectangle("NY Session ",Server.Time.Date.Add(nyOpen),Chart.TopY,Server.Time.Date.Add(nyClose),Chart.BottomY,Color.FromArgb(50,255,50,0)).IsFilled=true;TimeSpansydneyOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time")).TimeOfDay;TimeSpansydneyClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time")).TimeOfDay;Chart.DrawRectangle("Sydney Session ",Server.Time.Date.Add(sydneyOpen).AddDays(-1),Chart.TopY,Server.Time.Date.Add(sydneyClose),Chart.BottomY,Color.FromArgb(50,50,255,0)).IsFilled=true;TimeSpantokyoOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time")).TimeOfDay;TimeSpantokyoClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time")).TimeOfDay;Chart.DrawRectangle("Tokyo Session ",Server.Time.Date.Add(tokyoOpen),Chart.TopY,Server.Time.Date.Add(tokyoClose),Chart.BottomY,Color.FromArgb(50,0,50,255)).IsFilled=true;}}}
Göstergeyi yeniden oluşturun ve ardından tüm işlem seanslarının orada temsil edildiğini görmek için grafiği kontrol edin.
Destek/direnç göstergesi oluşturma
Fractalları kullanarak bir grafikte direnç ve destek bölgelerini çizen bir gösterge oluşturacağız.
Aynı adımları kullanarak yeni bir gösterge oluşturun, ancak ona farklı bir ad atayın.
Değişikliklere IsOverlay değerini true olarak ayarlayarak başlayın.
Yüksek değerin her iki taraftaki iki bitişik çubuktan daha yüksek olduğu yerde bir fractal direnç bölgesi çizilir. Bölge, bir fractal mumunun yüksek ve kapanış fiyatları arasındaki alandır. Direnç bölgeleri, yükseliş trendinin durabileceği ve tersine dönebileceği alanları belirlemeye yardımcı olur, bu da işlem fırsatları yaratır.
Direnç bölgelerinin aksine, destek bölgeleri düşüş trendinin durabileceği ve tersine dönebileceği yerleri belirlemeye yardımcı olur. Bu tür bölgeler alım sinyalleri olarak yorumlanabilir.
Göstergeyi oluşturun ve bir örneğini grafiğe ekleyin. Grafikte destek ve direnç bölgelerini görmelisiniz.
Bu makale, işlem seanslarını ve destek/direnç seviyelerini grafiklerde temsil etmek için kullanılabilecek dikdörtgenler gibi faydalı nesnelerle göstergeler oluşturmayı göstermiştir.