Expforex.com’dan uzmanların fonksiyonel özellikleri ve parametreleri
Hazır Uzmanların Programlama / Serbest Çalışmaya Karşı Faydaları.
Açıklama
Göstergelerin (indicators) nasıl davrandıklarını, çizen (draw) olanlar ve çizmeyenler üzerine odaklanarak örneklerle inceleyelim. Örneğin, bir bar (Candle) göstergesinin diğerlerine kıyasla nasıl farklı çalışabileceğini düşünün.
Programlamada Sinyal Farklılıkları. Shift parametresi (shift parameter) kullanarak
Göstergelerin (indicators) nasıl çalıştığını daha iyi anlamak için, hem çizen göstergelerin (drawing indicators) hem de çizmeyen göstergelerin (non-drawing indicators) örneklerini incelemek faydalıdır.
Çizen göstergeler (Repaint), fiyat grafiği (price chart) üzerinde doğrudan çizim yapanlardır, çizmeyen göstergeler ise çıktılarını ayrı bir pencerede gösterir.?????? HAYIR
Çizen (Drawing) veya Yeniden Çizen Göstergeler (Redrawing Indicators), ticarette kullanılan teknik araçlar olup, sinyallerini (signals) (örneğin oklar) değiştirir veya sinyal yönünü (signal direction) değiştirerek mevcut veya önceki barlar (bars) (Candle) üzerinde daha doğru göstergeler sağlarlar.
Bar = Mum = Candle:
Bu göstergeler (indicators), sinyallerini (signals) yeniden çizme yeteneğine sahiptir, bu da ticaret bütünlüğünün ihlali ve yanıltıcı bir uygulama olarak değerlendirilebilir.
Bazı göstergeler (indicators), görsel çekiciliği artırmak için kasıtlı olarak sinyallerini (signals) yeniden çizerler, böylece grafik daha estetik hale gelir.
Diğer göstergeler (indicators), ürettikleri sinyallerin doğruluğunu ve güvenilirliğini artırmak için matematiksel hesaplamalarının bir parçası olarak yeniden çizim yaparlar.
Ancak, tüm göstergelerin (indicators), 0. bar (Candle) veya mevcut bar (Candle) üzerinde çizim yapması normal bir davranıştır. Bu ilk çizim, göstergenin en son piyasa verileriyle düzgün bir şekilde hizalanmasını sağlar.
Göstergelerin (indicators) sinyallerini (signals) neden yeniden çizdiklerini ve bunun ticaret stratejileri üzerindeki etkilerini keşfedelim.
Bu iki tür gösterge arasındaki sinyal farkları önemli olabilir, bu yüzden ticaret stratejilerini (trading strategies) programlarken onların davranışlarını anlamak çok önemlidir.
Shift parametresi (shift parameter), göstergenin (indicator) çıktısını zamana göre ileri veya geri kaydırmanıza olanak tanır. Farklı shift parametresi (shift parameter) değerleri ile deneyler yaparak, göstergelerinizi (indicators) ticaret stratejinizle (trading strategy) daha iyi hizalanacak şekilde ince ayar yapabilir ve böylece piyasada başarılı olma şansınızı artırabilirsiniz.
Ve bu tür göstergeleri, strateji test edici yardımıyla evrensel Expert Advisor (EA)‘ımızı kullanarak kontrol edebilirsiniz:
EA xCustomEA: iCustom Göstergeleri için Evrensel Ticaret Danışmanı (Expert Advisor). Özel Strateji Oluşturucu (Custom Strategy Builder)
Veya strateji test edicide Simulator’ımızı kullanarak:
Önsöz
Bu makale, ortaklarımızın talebi üzerine yazılmıştır.
Expert Advisor (EA) programlama (Expert Advisor programming) sipariş ettiğinizde, tüm danışmanlarımda sinyal barını (signal bar) ayarlayabilirsiniz.
Çevrimiçi olarak, bazı Expert Advisor (Expert Advisors)‘ların göstergeleri (indicators) nedeniyle doğru çalışmadığına dair şikayetler bulmak yaygındır.
Bu sinyalleri detaylı olarak açıklayacağım ve aksini göstereceğim: tüm göstergeler (indicators) çizer (draw), ve bunlar sadece doğru kullanılmalıdır.
Bu makalenin bir video versiyonu (video version) bulunmaktadır, ancak izlemeden önce daha derinlemesine anlamak için metin versiyonunu okumanızı öneririm.
Shift (0,1,2…..) Bar (Candle) Numarası
Bu parametre, göstergelerinizin (indicators) sinyal alacağı Bar (Candle)‘ın numarasını temsil eder.
Bir Expert Advisor (EA) sipariş ettiğinizde, aşağıdaki sinyal tanımlama parametrelerini belirtmeniz gerekir: sinyal geldikten hemen sonra işlem açmak veya sinyalin kapalı Bar (Candle)‘da oluşmasını bekleyip yalnızca sonraki Bar (Candle)‘ın açılışında işlem açmak.
Algoritmaları nedeniyle, bazı göstergelerin (indicators) net bir tanımı vardır: sinyal hangi Bar (Candle)‘da veriliyor?
Emrin netliği ve doğru yürütülmesinden bahsedersek, işlem yalnızca kapalı Bar (Candle)‘da işlenmelidir, yani shift=1.
Eğer mevcut Bar (Candle)‘da bir sinyal oluştuğunda hemen bir İşlem (Deal) açmak ve göstergesi (indicator) buna izin veriyorsa, shift=0 olarak ayarlanması gerekmektedir.
Expert Danışman (Expert Advisor)
EA, EA yazmak için şablon (template for writing an EA) kullanılarak yazılmıştır. Tüm danışman (advisor) fonksiyonları bu sayfada açıklanmıştır: Forex Danışman Fonksiyonları (Forex Advisor Functions).
Paketi Sinyal Barı (Signal Bar) bağlantısından indirebilirsiniz: Test Paketi (Testing Package)
1. Hareketli Ortalama Göstergesi (Moving Average Indicator)
MT4 terminalinin standart göstergesi, ayarlarda ortalama dönemi (averaging period), ortalama fiyatları (averaging prices) ve ortalama türünü (type of averaging) içerir.
Ticaret Stratejisi (Trading Strategy): Ortalamaların kesişmesi. Yavaş MA ile hızlı MA’nın kesişimi.
Strateji Kodu (Strategy Code):
double ExampleMA=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,shift); // MA Çağrısı Örneği double ExampleMA2=iMA(Symbol(),0,50,0,MODE_SMA,PRICE_CLOSE,shift); // MA Çağrısı Örneği double ExampleMA23=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,shift+1); // MA Çağrısı Örneği double ExampleMA22=iMA(Symbol(),0,50,0,MODE_SMA,PRICE_CLOSE,shift+1); // MA Çağrısı Örneği if(ExampleMA23<ExampleMA22 && ExampleMA>ExampleMA2) Sig=1; if(ExampleMA23>ExampleMA22 && ExampleMA<ExampleMA2) Sig=2;
Shift = 0 ile Çalışma Örnekleri (Examples of Work with Shift = 0)
Shift = 1 ile Çalışma Örnekleri (Examples of Work with Shift = 1)
Açıklama (Explanation): Bu göstergede (indicator) çizim yapmaz, bu yüzden herhangi bir shift parametresi (shift) ile kullanılabilir.
Video Örneği (Video Example):
2. Göstergeler Kesişimi (Indicator Cross)
Ekstra özelliklere sahip MA kesişme stratejisine dayalı özel bir göstergedir (indicator). Kesinlikle ve hassas bir şekilde çizer. 1 Bar (Candle) üzerinde kesişme, 0 Bar (Candle)‘da bir ok çizer ve sürekli olarak yeniden çizer.
Ticaret Stratejisi (Trading Strategy): Ok ile Ticaret
Strateji Kodu (Strategy Code):
int Sig=0; if(shift!=-1) { double UP=iCustom(Symbol(),0,"cross",0,shift); double DN=iCustom(Symbol(),0,"cross",1,shift); } if(shift==-1) for(int i=1;i<=100;i++) { UP=iCustom(Symbol(),0,"cross",0,i); DN=iCustom(Symbol(),0,"cross",1,i); if(UP!=EMPTY_VALUE || DN!=EMPTY_VALUE) break; } if(UP!=EMPTY_VALUE){Sig=1;} if(DN!=EMPTY_VALUE){Sig=2;}
Shift = 0 ile Çalışma Örnekleri (Examples of Work with Shift = 0)
Shift = 1 ile Çalışma Örnekleri (Examples of Work with Shift = 1)
Shift = -1 ile Çalışma Örnekleri (Examples of Work with Shift = -1)
Açıklama (Explanation): Bu göstergede (indicator) öne çıkacak şekilde çizer ve geliştirici kasıtlı olarak sinyali yeniden çizer. Bu nedenle, bu göstergesini (indicator) bir sinyal göstergesi (indicator) olarak kullanmak risklidir.
Video Örneği (Video Example):
3. CurrencyPowerMeter Göstergesi (CurrencyPowerMeter Indicator)
Para birimlerinin gücünü ölçen özel bir göstergedir (indicator). Bu göstergede (indicator) nesneler (objects) kullanılarak çalışır, bu yüzden shift parametresi (shift) önemsizdir. Bu göstergenin (indicator) ticaret stratejisi (trading strategy), değerini göstergesi (indicator) tamponundan (indicator buffer) değil, grafikteki nesnenin (object) göstergesinden alır.
Ticaret Stratejisi (Trading Strategy): Para birimi güçlerinin farkıyla ticaret yapmak
Strateji Kodu (Strategy Code):
double EUR_HOUR[1]; double GBP_HOUR[1]; double AUD_HOUR[1]; double NZD_HOUR[1]; double USD_HOUR[1]; double CAD_HOUR[1]; double CHF_HOUR[1]; double JPY_HOUR[1]; double PervayaValuta; double VtorayaValuta; string note=" Authentication SETTINGS =="; string username = ""; string password = ""; double trend; string DATATRend; trend=iCustom(Symbol(),0,"CurrencyPowerMeter",0,0); EUR_HOUR[0]=StringToDouble(ObjectDescription("CPMEUR_Str_h")); GBP_HOUR[0]=StringToDouble(ObjectDescription("CPMGBP_Str_h")); AUD_HOUR[0]=StringToDouble(ObjectDescription("CPMAUD_Str_h")); NZD_HOUR[0]=StringToDouble(ObjectDescription("CPMNZD_Str_h")); USD_HOUR[0]=StringToDouble(ObjectDescription("CPMUSD_Str_h")); CAD_HOUR[0]=StringToDouble(ObjectDescription("CPMCAD_Str_h")); CHF_HOUR[0]=StringToDouble(ObjectDescription("CPMCHF_Str_h")); JPY_HOUR[0]=StringToDouble(ObjectDescription("CPMJPY_Str_h")); if(StringSubstr(Symbol(),0,3)=="USD") PervayaValuta=USD_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="GBP") PervayaValuta=GBP_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="EUR") PervayaValuta=EUR_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="AUD") PervayaValuta=AUD_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="NZD") PervayaValuta=NZD_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="CAD") PervayaValuta=CAD_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="CHF") PervayaValuta=CHF_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="JPY") PervayaValuta=JPY_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="USD") VtorayaValuta=USD_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="GBP") VtorayaValuta=GBP_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="EUR") VtorayaValuta=EUR_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="AUD") VtorayaValuta=AUD_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="NZD") VtorayaValuta=NZD_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="CAD") VtorayaValuta=CAD_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="CHF") VtorayaValuta=CHF_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="JPY") VtorayaValuta=JPY_HOUR[0]; if(PervayaValuta - VtorayaValuta > 0) return(1); if(PervayaValuta - VtorayaValuta < 0) return(2); return(0);
Çalışma Örnekleri (Work Examples)
Açıklama (Explanation): Bu göstergede (indicator) göstergesi (indicator) tamponları (indicator buffers) yoktur ve nesnelere (objects) dayalıdır. Bu yüzden, sinyal barı (signal bar) önemli değildir. Böyle göstergeler (indicators) test edilemez veya optimize edilemez ve sadece gerçek zamanlı çalışır.
Video Örneği (Video Example):
4. Fiji Trend Göstergesi (Fiji Trend Indicator)
MA ve ATR sinyalleri üzerinde oklar şeklinde çalışan özel bir göstergedir (indicator). Göstergesi (indicator) çizim yapmaz, ancak küçük bir hile ile göstergesi (indicator), kapalı Barlar (Bars)ndan (Candle) veri alır ama mevcut bar (Candle)‘da bir ok yerleştirir. Bu bir aldatma illüzyonudur.
Ticaret Stratejisi (Trading Strategy): Göstergesi (indicator) okları üzerinde ticaret yapmak
Strateji Kodu (Strategy Code):
int Sig=0; double DNSignal=iCustom(Symbol(),0,"Fiji Trend",3,shift); // Özel göstergenin (indicator) çağrısı örneği double UPSignal=iCustom(Symbol(),0,"Fiji Trend",2,shift); // Özel göstergenin (indicator) çağrısı örneği double DNTrend=iCustom(Symbol(),0,"Fiji Trend",1,shift); // Özel göstergenin (indicator) çağrısı örneği double UPTrend=iCustom(Symbol(),0,"Fiji Trend",0,shift); // Özel göstergenin (indicator) çağrısı örneği // İşlem Açma Sinyallerini Belirtin: if( UPSignal!=EMPTY_VALUE) Sig=1; if( DNSignal!=EMPTY_VALUE) Sig=2;
Shift = 0 ile Çalışma Örnekleri (Examples of Work with Shift = 0)
Shift = 1 ile Çalışma Örnekleri (Examples of Work with Shift = 1)
Açıklama (Explanation): Bu göstergede (indicator) çizim yapmaz. Ancak, yukarıda bahsedilen hileyi kullanarak sinyalleri yerleştirir. Bu, makul derecede iyi sinyaller sağlayan birkaç göstergeden (indicators) biridir.
Video Örneği (Video Example):
5. Fisher Göstergesi (Fisher Indicator)
Hi-Lo Barlar (Bars) üzerinde çalışan ve formüllerine dayanarak sinyaller hesaplayan özel bir göstergedir (indicator). Testler tarafından gösterildiği gibi çizer ve kapalı Barlar (Bars) üzerinde 3-5 Bar (Bars) yeniden çizer, histogram şeklinde sunulur.
Ticaret Stratejisi (Trading Strategy): Histogram ile Ticaret. Histogramın 0 işaretlerini kesmesi.
Strateji Kodu (Strategy Code):
int Sig=0; double DNSignal=iCustom(Symbol(),0,"Fiji Trend",3,shift); // Özel göstergenin (indicator) çağrısı örneği double Fisher1=iCustom(Symbol(),0,"fisher",0,shift); double Fisher2=iCustom(Symbol(),0,"fisher",0,shift); if( Fisher1>0 && Fisher2>0 ){ Sig=1; } if( Fisher1<0 && Fisher2<0 ){ Sig=2; } // 1 - Alış, 2 - Satış return(Sig);
Çalışma Örnekleri (Work Examples)
Shift = 1 ile Çalışma Örnekleri (Examples of Work with Shift = 1)
Açıklama (Explanation): Bu göstergede (indicator) çizer, bu yüzden sinyalleri ondan almayı önermiyorum.
Video Örneği (Video Example):
6. HMA Renk Göstergesi (HMA Color Indicator)
MA üzerinde çalışan ve formüllerine dayanarak sinyaller hesaplayan özel bir göstergedir (indicator).
Ticaret Stratejisi (Trading Strategy): Renk Değişikliği ile Ticaret
Strateji Kodu (Strategy Code):
int Sig=0; double HMARED=iCustom(Symbol(),0,"HMA Color",3,shift); double HMAGREEN=iCustom(Symbol(),0,"HMA Color",1,shift); double HMARED2=iCustom(Symbol(),0,"HMA Color",3,shift+1); double HMAGREEN2=iCustom(Symbol(),0,"HMA Color",1,shift+1); // İşlem Açma Sinyallerini Belirtin: if(HMAGREEN!=EMPTY_VALUE && HMAGREEN2==EMPTY_VALUE) Sig=1; if(HMARED!=EMPTY_VALUE && HMARED2==EMPTY_VALUE) Sig=2;
Shift = 0 ile Çalışma Örnekleri (Examples of Work with Shift = 0)
Shift = 1 ile Çalışma Örnekleri (Examples of Work with Shift = 1)
Açıklama (Explanation): Bu göstergede (indicator) çizim yapmaz. Ancak, yukarıda bahsedilen hileyi kullanarak sinyalleri yerleştirir. Bu, makul derecede iyi sinyaller sağlayan birkaç göstergeden (indicators) biridir.
Video Örneği (Video Example):
7. MACD Göstergesi (MACD Indicator)
Standart MT terminal göstergesidir (indicator).
Ticaret Stratejisi (Trading Strategy): Sinyal hattı ve histogramın kesişimi üzerine ticaret yapmak
Strateji Kodu (Strategy Code):
int Sig=0; double MACD_SIGNAL1=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,shift); // MA Çağrısı Örneği double MACD_SIGNAL2=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,shift+1); // MA Çağrısı Örneği double MACD_MAIN1=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,shift); // MA Çağrısı Örneği double MACD_MAIN2=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,shift+1); // MA Çağrısı Örneği if(MACD_SIGNAL2<MACD_MAIN2 && MACD_SIGNAL1>MACD_MAIN1) Sig=1; if(MACD_SIGNAL2>MACD_MAIN2 && MACD_SIGNAL1<MACD_MAIN1) Sig=2;
Shift = 0 ile Çalışma Örnekleri (Examples of Work with Shift = 0)
Shift = 1 ile Çalışma Örnekleri (Examples of Work with Shift = 1)
Açıklama (Explanation): Bu göstergede (indicator) 1 kapalı Bar (Candle) üzerinde yeniden çizmez, bu yüzden shift=1 serbestçe kullanılabilir.
Video Örneği (Video Example):
8. ZIGZAG Göstergesi (ZIGZAG Indicator)
Standart MT terminal göstergesidir (indicator). Belirli bir alanın yüksek-düşük değerlerine dayanarak tepeler (tops) ve dipler (bottoms) oluşturur.
Ticaret Stratejisi (Trading Strategy): Tepeler ve diplerin oluşumu üzerine ticaret yapmak. Pozisyonlarla göstergede (indicator) ticaret yapmak önerilmez. İyi bir limit stratejisidir.
Strateji Kodu (Strategy Code):
int Sig=0; double PriceZZ1=GetExtremumZZPrice(Symbol(),0,1); double PriceZZ2=GetExtremumZZPrice(Symbol(),0,2); double priceUP, priceDN; if(PriceZZ2>PriceZZ1) { priceUP=PriceZZ2; priceDN=PriceZZ1; Sig=2; } if(PriceZZ2<PriceZZ1) { priceUP=PriceZZ1; priceDN=PriceZZ2; Sig=1; }
Çalışma Örnekleri (Work Examples)
Açıklama (Explanation): Bu göstergede (indicator) tepeler (tops) ve dipler (bottoms) çizer, bu yüzden shift parametresi (shift) önemsizdir. Stratejinin (strategy) benzersiz koşulları, bu göstergede (indicator) başarılı ticaret yapmanıza olanak tanır.
Video Örneği (Video Example):
9. BARS İsteğe Bağlı Çalışma (BARS Work on Request)
Standart MT terminal Barlar (Bars) üzerinde çalışır.
Ticaret Stratejisi (Trading Strategy): Bar (Candle) yükselişliyse alış açmak; Bar (Candle) düşüklüyse satış açmak.
Strateji Kodu (Strategy Code):
int Sig=0; if(Open[shift] < Close[shift]) Sig=1; if(Open[shift] > Close[shift]) Sig=2;
Çalışma Örnekleri (Work Examples)
Shift = 1 ile Çalışma Örnekleri (Examples of Work with Shift = 1)
Açıklama (Explanation): Shift parametresi (shift parameter)‘nin nasıl çalıştığının mükemmel bir örneği, bu parametreye dayalı olarak stratejileri (strategies) nasıl ticaret yapabileceğinizi göstermektedir.
Video Örneği (Video Example):
Sonuçlar (Conclusions)
Bu bilgilendirici makale, farklı shift parametreleri (shift parameter) değerleri ile çeşitli göstergeler (indicators) kullanmanın yardımcı örneklerini sunmaktadır.
Her göstergede (indicator) benzersizdir; bu yüzden bir Expert Advisor (EA) oluştururken, göstergenin (indicator) türü (type) ve sinyalinin (signal) dikkate alınması gerekir.
Bir Expert Advisor (EA) oluşturmak için bir programcı kiralamadan önce, ilk olarak göstergenizi (indicator) herhangi bir yeniden çizme (redrawing) sorunları için test etmeniz önemlidir.
Bu, robotunuzun işlemlerinin güvenilirliği ve etkinliği, göstergenizin (indicator) doğruluğuna bağlı olacaktır.
Bu nedenle, Expert Advisor (EA) oluşturma işlemine geçmeden önce göstergenizi (indicator) dikkatlice kontrol etmeniz ve test etmeniz önerilir.
Danışman (Advisor)
EA, EA yazmak için şablon (template for writing an EA) kullanılarak yazılmıştır.
Tüm danışman (advisor) fonksiyonları bu sayfada açıklanmıştır: Forex Danışman Fonksiyonları (Forex Advisor Functions).
Eğer göstergeniz (indicator) için bir alarm oluşturmak istiyorsanız, lütfen makalemizi okuyun:
Sorularınız mı var?
Eğer herhangi bir sorunuz varsa, lütfen sorun. Gizli bir şey satmıyoruz.
Ürünlerimizin her biri satın almadan önce test edilebilir.
Ürünlerimize yönelik geri bildirimlerinizi ve isteklerinizi takdir ediyoruz ve yüksek kaliteli standartları korumaya çalışıyoruz.
Bizimle olduğunuz için teşekkür ederiz!
Bir sorunuz mu var?
This post is also available in: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어
Leave a Reply