"Bir ticaret robotu için İş Tanımı Nasıl Yazılır" başlıklı bir makale yazıyoruz. - sayfa 7

 
Andrey F. Zelinsky :

Akış çizelgeleri, teknik görevin en yararsız, zaman alıcı ve pratik olarak gerçekleştirilemez kısmıdır.

Bunu anlamak için küçük ve son derece basit bir deney yapabilirsiniz - Freelance hizmetinin geliştiricileri için bir görev belirleyin: "MA göstergesini çizmek için bir akış şeması oluşturun" - ve ardından iki kritere göre değerlendirin: 1) doğruluk ve 2 ) anlaşılabilirlik.

Bir zamanlar bana çok yardımcı oldu - kafama uymayı bıraktığında ...

 
Artyom Trishkin :

Bir zamanlar bana çok yardımcı oldu - kafama uymayı bıraktığında ...

Az önce şöyle bir şey söylediniz: " Akış çizelgem bir geliştirici olarak bana çok yardımcı oldu." Lütfen akış çizelgeniz için, akış çizelgenizi okuyacak ve onunla çalışacak üçüncü bir tarafın amaçlanmadığını unutmayın.

Bu başlıkta, "Ticaret robotu için bir TOR nasıl çizilir" konusunu tartışıyoruz.

Bu makalenin kimler için, hangi amaç ve hedeflerle yazıldığı hala benim için net değil.

Çünkü farklı bir ayrıntı derecesi vardır ve bu ayrıntıdan yola çıkarak: hedefler/hedefler/sonuç - yani. TK hakkında konuşmak için - önce a) müşterinin geliştiriciden ne beklediğini ve istediğini ve b) müşteriden ne beklendiğini ve gerekli olduğunu anlamalısınız.

Bir akış şemasından bahsettiğimizde, bu, müşterinin olay modelini açıkça anladığı, anladığı ve yalnızca programın gerekli organizasyonunu gösterebildiği değil, aynı zamanda her şeyin program kodu açısından uygulanıp uygulanmadığını kontrol edebildiği anlamına gelir. Bu durumda müşterinin daha fazla kodlayıcıya ihtiyacı vardır. Ve bu durumda, kendisi tarafından hazırlanan yapının doğruluğu da dahil olmak üzere her şeyden tamamen müşteri sorumludur.

Bu bir şemadır. Bu senaryoda siparişlerin yüzde kaçı geçiyor?

Makalenin düzeninde okuyoruz:

Raşid Umarov :

Kötü hazırlanmış bir İş Tanımı veya fiili yokluğu, çoğu zaman ticaret sisteminin kurallarının formüle edilmediğini, sadece var olmadığını gösterir. Bu durumda Müşterinin ticaret sistemi dediği şey aslında kural olarak sadece bir fikirdir. Bu koşullar altında çalışmaya başlamak imkansızdır, çünkü çok yakında, algoritmanın programlanması sürecinde, nüanslar dikkate alınmamış veya belirli piyasa durumlarında bir algoritmanın yokluğu ortaya çıkacaktır. Bu durumda programcı aslında Müşteri yerine seçeneklerle gündeme gelmeye başlar .

Bir şey dışında doğru yazılmıştır - görevlerin büyük çoğunluğu, sorunun belirsiz bir ifadesinde başlatılır, yürütülür ve sona erdirilir. Bulanık TOR nedeniyle başarısızlık yüzdesi - tahkim anlaşmaları kapsamında kontrol edilmesi kolaydır. Bence %5-10'dan fazla değil.

Ve müşterilerin büyük çoğunluğu için TOR'un hazırlanmasına yönelik önerilerden bahsedersek - o zaman böyle bir TOR'da - bir akış şeması hazırlama önerisi ne kadar uygun?

 

Makalenin güncel versiyonu

Bir ticaret robotu sipariş etmek için gerekenler

Ticaret robotları, içlerinde gömülü algoritmaları yürüten programlardır. Algoritmalar, bir olayın meydana gelmesi durumunda gerçekleştirilmesi gereken bir dizi eylemdir. Örneğin, algoritmik ticarette en yaygın görev, robotun ticaret sinyallerinin görünümünü kontrol ettiği ve bunlar üzerinde gerekli eylemleri gerçekleştirdiği "Yeni çubuk" olayının tanımıdır.

Ancak bir ticaret robotu yazmadan veya sipariş vermeden önce, işlem yapmak için uygun anları belirlemek için net kuralları olan bir ticaret sistemine sahip olmak gerekir. Herhangi bir, hatta en karmaşık ticaret sisteminin gelişimi, her zaman temel şeylerle, yani alış ve satış için ticaret sinyallerinin geliştirilmesiyle başlar. Daha sonra buna çeşitli takip ve kapatma seçenekleri ekleyebilirsiniz.

Ticaret stratejinizi geliştirmek için ticaret terminalinin monitörünün arkasında yıllarınızı harcamanıza gerek yok. Artık internette yayınlanmış ve deneyebileceğiniz kitaplarda kanıtlanmış yüzlerce fikir var. Ve programlama becerilerinize tam olarak güvenmeseniz bile, bu bir engel değildir. Freelance hizmeti, doğru geliştiriciyi bulmanıza ve yapılan iş için güvenli bir şekilde ödeme yapmanıza yardımcı olacaktır.

Ancak algoritmik ticaretin büyüleyici unsuruna geçmeden önce, konuyla ilgili faydalı makaleleri okumanızı öneririz:

İyi bir Referans Şartına sahip olmak neden önemlidir?

Bir Uzman Danışman sipariş ederken veya geliştirirken, bunun için teknik gereksinimleri formüle etmek gerekir - hangi görevleri çözmesi gerektiği, hangi koşullarda çalıştırılacağı, acil durumlarda ne olacağı, ne tür bir kontrole ihtiyacı olduğu. Ticaret robotları programlardır ve temeldeki mantığa göre net bir şekilde çalışmalıdır. Ancak gerekli eylem algoritmasını programlamadan önce, açıkça tanımlanmalıdır.

Ticaret stratejisinin açıklaması, bir Görev Tanımı şeklinde yayınlanmalıdır. Ve ne kadar iyi ve net olursa, bir müşteri olarak siz ve Siparişinizin uygulayıcısı olarak programcı arasında o kadar az yanlış anlama olacaktır.

İş Tanımındaki en önemli şey, resmi ve net Ticaret Kurallarının varlığıdır. Yan tarafta bir uzman sipariş etmeyecek, ancak kendiniz yazmak istiyorsanız bile, bu kuralları kendiniz için geliştirerek başlayın. Bir Görev Tanımı yapın ve Expert Advisor'ı test etme/optimize etme ile ilgili öğeleri eklediğinizden emin olun. Ayrıca ticaret stratejinizin kalitesini test etmek için hipotezler ekleyin - optimal parametreleri seçmek için hangi kriterleri kullanacaksınız, bu kriterleri neden önemli buluyorsunuz.

Bir ticaret robotu oluşturmak için tüm adımları İş Tanımına dahil edin - bu, algoritmanın özünü yalnızca sanatçı için değil, haftalar, aylar veya yıllar sonra sizin için de anlamanıza yardımcı olacaktır. Unutmayın, algoritmik ticaret bir hobi değil, aynı monoton araştırma yoludur, bu sırada geçen aşamaları belgelemeniz gerekir. Kendim için, senin için bir robot yazacak bir programcıdan çok.

İşleri halletmeyi seven bir bürokratın becerilerini geliştirin. Buna kesinlikle ihtiyacınız olacak. Evet ve programcılar kesin emirleri sever.

Referans şartlarında neler olmalı

ticaret fikri

Bir ticaret stratejisinin özüne hızlı bir giriş için, Teknik Siparişinizin ilk paragrafını içerdiği fikir / hipoteze ayırın. Örneğin: "Fiyat direnç seviyesine iki kez yaklaşırsa ve her seferinde geri dönerse, üçüncü kez kural olarak onu kırar." Buraya, çizilmiş direnç/destek çizgileri, üst üste bindirilmiş göstergeler ve durumu gösteren imzalar içeren bir tablo ekleyebilirsiniz. Fikri açıklamak için belirli sayılar veya hesaplama algoritmaları vermek gerekli değildir - bu aşamada nasıl belirlediğimizi açıklamak gerekli değildir:

  • direnç seviyesi,
  • seviye dökümü,
  • "genel olarak" kavramı.

İlk aşamada küçük bir soyutlama seviyesi, teknik ayrıntılara değil, fikrin kendisine odaklanmanıza izin verecektir. Bu yöntem, daha sonra ticaret stratejinizin çok daha fazla çeşidini oluşturmanıza olanak tanır - sadece bir strateji bloğunu diğeriyle, bir göstergeyi diğeriyle değiştirir, filtreler ekler veya değiştirirsiniz. Aynı zamanda fikrin kendisi değişmeyecek, sadece ticaret robotunuzun giriş parametrelerinin adları ve değerleri değişecektir.

Ayrıca, fikrin açıklamasında kullanılan tüm terimlerin bir açıklamasını vermek gerekir. Eğilim strateji için önemliyse, nasıl belirleneceği - hangi gösterge temelinde, eğilimin yönü ve gücünün nasıl belirleneceği konusunda net bir açıklama yapın. Bu tanımların sayısal özellikleri, Expert Advisor'ın girdi parametrelerinin temelini oluşturacaktır ve daha sonra strateji test cihazında optimize edeceğiniz bunlardır. Bu nedenle, Görev Tanımınızın ilk bölümünü adlandırın - Ticaret fikri.

Şartlar

Şartları açıklamak için, İş Tanımı - Şartlar'ın ayrı bir bölümünü oluşturmanızı öneririz. İçinde, her terim için ayrı bir paragraf yazılmıştır, terimlerin kendileri, ticaret stratejinizin temel kavramını vurgulamak için kalın harflerle yazılmıştır. Gerekirse, anlamak için en gerekli olanı göstermeniz gereken terimin açıklamasına bir örnek ekleyin.

Ticaret Sinyalleri

Ardından, hangi koşullar, piyasa koşulları ve gösterge okumaları altında bir satın almanın gerçekleştiğini açıklayan üçüncü en önemli bölümü - Ticaret Sinyalleri - derlemeye hazırsınız. Bir satın alma sinyali oluşturmak için gerekli olan her koşulu tanımlamak için, sinyalin görünümünün bağlı olduğu sayısal bir parametreyi ayırmak gerekir. Örneğin, hareketli bir ortalama için bu, yumuşatma türü ve periyodu olacaktır. Bu önemli parametreler, gelecekteki Expert Advisor'ın giriş parametrelerine alınır. Satın alma koşullarının tam tersi olsalar bile, satış koşullarını ayrı ayrı açıklayın - bazen programcının sizden farklı şekilde anlayabileceği incelikler ortaya çıkar. Örneğin, bir satın alma için "Gösterge> 0" koşulu ayarlanır - bir satış için ne yazmalı? "Puan<0" veya "Puan<=0"?

En basit ticaret fikri bile çok hızlı bir şekilde bir ticaret sinyalinin varlığını doğrulayan veya tam tersi - bir anlaşmayı yasaklayan ek koşullar ve filtreler edinmeye başlar. Bu nedenle, her bir piyasa durumu için gerekli göstergeleri ve kurulumları görsel olarak gösteren açıklayıcı ekran görüntüleri yapmak önemlidir. Bu, danışmanınız görünüşte bariz bir ticaret sinyalini kaçırdığında veya aniden yanlış zamanda bir anlaşma yaptığında durumla hızlı bir şekilde başa çıkmanızı sağlayacaktır.

Ekran görüntüleri ve akış şemaları

İnternette ekran görüntüleri ve akış şemaları oluşturmak için birçok ücretsiz ve kullanışlı program var. Onlarla çalışmak için küçük bir ipucu seçimi, bir gösterge sipariş ederken İş Tanımı Nasıl Hazırlanır makalesinde verilmiştir. Burada, alım ve satım sinyallerinin göründüğü anları grafikte oklarla gösteren bir gösterge sipariş etmeyle ilgili ipuçlarını da bulacaksınız. Danışmandan ayrı çalışan böyle bir gösterge, hem çevrimiçi hem de görsel testler sırasında ticaret robotunun çalışmasını kontrol etmeyi ve kontrol etmeyi kolaylaştırır.

Sinyallerin/emirlerin/pozisyonların ömrü

Ticaret stratejisinin ikinci önemli kısmı, açık bir pozisyondan çıkmak ve bekleyen emirleri silmektir. Ek olarak, alım satım sinyallerinin kendisi de zamanla veya bazı olayların meydana gelmesiyle iptal edilebilir. Alım / satımın hangi koşullar altında kapanacağını, verilen emrin iptal edileceğini, sinyalin kendisinin ne zaman iptal edileceğini, Alım Satım sinyallerinde olduğu gibi açıkça belirtmek gerekir.

Açık pozisyonların ve bekleyen emirlerin bakımı

Ticaret stratejiniz StopLoss ve TakeProfit seviyelerinin ayarlanmasını gerektiriyorsa, lütfen bir hesaplama algoritması sağlayın. Bu seviyeleri esnek bir şekilde yukarı çekmek/hareket ettirmek gerekiyorsa, bu tür işlemler için koşulların da tanımlanması gerekir. SL/TP seviyeleri hem yeni bir çubuğun açılışında hem de her tıklamada değiştirilebilir. Bu anı İş Tanımında açıkça belirtmek ve ticaret stratejilerini test etme modlarındaki farkı anlamak gerekir. Ticaret stratejilerini gerçek keneler üzerinde test etme makalesini okumanızı öneririz.

Kendiniz oluşturamıyorsanız, İş Tanımı'nı nereden edinebilirim?

Kötü hazırlanmış bir İş Tanımı veya fiili yokluğu, çoğu zaman ticaret sisteminin kurallarının formüle edilmediğini, sadece var olmadığını gösterir. Bu durumda Müşterinin ticaret sistemi dediği şey aslında kural olarak sadece bir fikirdir. Bu tür koşullar altında çalışmaya başlamak imkansızdır, çünkü çok yakında nüanslar dikkate alınmaz veya sadece belirli piyasa durumlarında bir algoritmanın olmaması, algoritmanın programlanması sürecinde ortaya çıkacaktır. Bu durumda, programcı aslında Müşteri yerine seçenekler sunmaya başlar.

Sonuç olarak, Yüklenici, riski ve riski kendisine ait olmak üzere işi tamamlayabilir ve Müşteriye bir ticaret robotu verebilir. Ancak bu durumda, belirsiz bir Görev Tanımında her yeni konuyu tartışarak zaman kaybetmenin yanı sıra, işin Tahkime gitme olasılığı da vardır. Çünkü Müşteri böyle bir işi kabul ederken ve kontrol ederken bir anda işlemlerin beklediği ama tarif edemediği gibi yapılmadığını keşfeder. Ve elbette, bu durumda, Yükleniciyi İş Tanımı'nın belirli noktalarını ihlal etmek ve robotu yanlış programlamakla suçlayacaktır. Bu gibi durumlarda tahkim, her iki tarafın yetkilerindeki farkı çabucak anlar ve karara ekli Görev Tanımlarına dayanarak karar verir. Serbest Çalışma Kurallarına göre, Siparişin uygulanmasından önce ve sırasında taraflarla yapılan hiçbir yazışma dikkate alınmaz:

Tahkimde uyuşmazlığın konusu ele alınırken, karar vermek için yalnızca İş Tanımı esas alınır.

Hayatta bu seçenek de mümkündür: katı ticaret kurallarınız vardır, ancak bir nedenden dolayı İş Tanımı'nı kendiniz hazırlayamazsınız. Örneğin, belirli şeyleri nasıl doğru tanımlayacaklarından emin değiller veya matematik, sinir ağları, makine öğrenimi, programlama vb. alanlarda bir uzmanın yardımına ihtiyaçları var. Bu durumda, Serbest Çalışan olarak da İş Tanımı'nın oluşturulmasını sipariş edebilirsiniz, bunun için "Programlama Danışmanlığı" veya "Diğer" kategorileri uygundur.

Bu iki kategoriden birini seçin, "Ticaret robotu sipariş etmek için TOR oluşturma" olarak adlandırın ve hayal ettiğiniz gibi işin ilk maliyetini belirtin. Deneyimli bir ticaret sistemi geliştiricisi, stratejinizin Kurallarını başka bir programcının anlayabileceği şekilde doğru bir şekilde formüle etmenize yardımcı olacaktır. Aynı zamanda, ekran görüntülerini kullanarak alım satım sinyallerinizin kurulumlarını göstermek için çizelgeler, göstergeler ve grafik nesnelerle çalışabilmelisiniz.

Programcı, ticaret sisteminizi anlayacak ve mümkünse ticaret algoritmasının bir tanımını yazmanıza yardımcı olacaktır. Bazı kavramları kendi başınıza formüle edemiyorsanız (örneğin, "dürtü" veya "seviyeden geri tepme"), deneyimine dayalı olarak size hazır fikirler verebilir. Kural olarak, piyasadaki herhangi bir durum, bir miktar yorumlama özgürlüğü ile mantıksal (ve ardından programlı olarak) açıklanabilir. Ve bu varyasyon her zaman, Uzman Danışmanınızda optimize edeceğiniz belirli bir parametre ile ifade edilebilir.

İdeal kalıplar yoktur, çünkü piyasa bir yandan kendini tekrarlamaz, diğer yandan tarihte benzer durumlar her zaman bulunabilir. Ortak çalışmanızın sonucu, stratejinize göre bir ticaret robotu sipariş etmek için hazır bir Görev Tanımı olmalıdır.

Hangi terimleri kullanmalı

Kural olarak, bir ticaret sisteminde, piyasanın durumunu veya fiyat hareketinin doğasını tanımlayan birkaç temel önemli kavram veya terim vardır. Genel kabul görmüş ve basit bir kavram kullanıyorsunuz gibi görünse de, bunu net bir şekilde açıklamak daha iyidir. Her terim için bir açıklama paragrafı yapın.

Örneğin, Bill Williams'a göre, üç Timsah çizgisinin tamamı aşağıdan yukarıya doğru bu sırayla düzenlendiğinde bir yükseliş trendi oluşur: Mavi, Kırmızı, Yeşil.


Bir başka klasik yükseliş trendi tanımı - Larry Williams'tan - her yeni zirve bir öncekinden daha yüksek olduğunda ve her yeni dip bir öncekinden daha düşük değil.


Terimlerin açıklamasında grafiklerin ekran görüntülerini kullanabilirsiniz, bunlar karışmaz. Referans terimlerinin kendisinde, terimleri kalın harflerle vurgulayın - sanatçının bunlara dikkat etmesine ve net olmayan bir şey varsa bir soru sormasına izin verin.

Bir stratejinin tanımında belirli bir terim kullanıldığında, bunun zaten iyi bilindiğini ileri sürerek Yükleniciyi başka kaynaklara (web siteleri, kitaplar, forumlar vb.) yönlendirmek mümkün değildir. Her şey burada ve şimdi açıklanmalıdır, "Skype'da daha sonra açıklayacağım"a izin verilmez. TOR'daki tüm terimleri yazmanız yarım saatten fazla sürmez, ancak daha sonra yanlış anlamalardan kaynaklanan hataları düzeltmek için harcayacağınız zamandan tasarruf etmenizi sağlar.

Freelance'da bir iş tanımına ne yazmalı?

Bir iş yaratırken, potansiyel oyuncuların neye ihtiyacınız olduğunu anlamaları için ticaret fikrinizin genel özünü birkaç paragrafta tanımlayın. İş tanımının ticaret sisteminin kurallarını ifşa etmesi veya kullanılan göstergeler hakkında ayrıntılı bilgi vermesi gerekmez.

Açıklama şöyle görünebilir:

Eğilim tersine çevirme işlemleri için bir Uzman Danışman yazın. Geri dönüş sinyalleri, Fiyat Hareketi kalıpları olacaktır. Trendi belirlemek için ADX, Timsah ve MACD göstergeleri kullanılacaktır - gösterge seçimi, danışmanın giriş parametreleri tarafından belirlenir.

Bir ticaret stratejisinin genel fikri

Burada robotun hangi enstrümanlar üzerinde işlem yapacağını, trendle işlem yapıp yapmadığını, nasıl belirlendiğini ve hangi zaman diliminde olacağını belirleyebilirsiniz. Trendle ticaret yaparsak, giriş nasıl gerçekleşir - bir geri dönüşte, yeni aşırılıkların kırılmasında vb.

Genel olarak, finansal piyasalarda sadece iki ticaret stratejisi vardır: hareket etmeye devam etmek ve ortalamaya dönmek. Fikriniz bu iki stratejiden biriyle ilgili olmalı ve piyasada, onaylandıktan sonra veya daha iyi bir fiyata nasıl alım satım açacağınızı açıklamalıdır.

Bir Sinyal beklemek için kurulumun açıklaması

... müteakip bir kırılma ile bir daire oluşturmak / veya Avrupa seansının bitmesini beklemek ve sadece hareketi yönünde sinyaller almak gerekir

Sinyal Açıklama

... Açıklamanın teknik parametreleri - trend / geri çekilme / arıza - her şey kesinlikle resmileştirildi

Önce Al ve Sat sinyallerini ayrı ayrı hata ayıklamak daha iyidir

Danışman, çizelgeye etiketler / sinyal nesneleri koyarsa daha iyi olur.

Sinyal göstergelerinin ayrı ayrı yapılması daha iyidir

Sinyal ömrü

... sinyalin geçerlilik süresi - bar / saat / seansın sonuna kadar / gün olarak

Sipariş verme ve pozisyon açma

...özellikler var mı, örneğin SL / TP'yi hemen ayarlamıyoruz,

ya da pazara girmek için ne kadar girişimde bulunduğumuzu,

veya zamana/kuruluma/desen'e bağlı olarak farklı oredermagic/sipariş yorumu ayarlama

başka bir şey

Bir ticaret pozisyonu/siparişinin bakımı

... takip eden bir durak var mı, yok mu?

TS'yi açtığınızda

bekleyen emirleri fiyatın gerisine/karşısına mı taşıyacağız?

açık bir pozisyonda mevcut kar/zararı takip edin

başka bir şey

Bir emrin iptali ve bir pozisyonun kapatılması

... siparişleri zamana/çubuk sayısına/süre sonuna/karşı sinyalin görünümüne/kurulum kaybına göre sil

... pozisyonu zaman/çubuk sayısı/dönem sonu/birikmiş kâr/karşı sinyal/kurulum görünümüne göre kapatın

başka bir şey

Sipariş vermek için lot hesaplama

.... dengeden

sabit

birikmiş kardan

son N ticaretin sonuçlarına göre

riskten (mesafe SL)

başka bir şey

Ticaret hatalarını ve çevre durumunu ele alma

... ticaret emirleri gönderirken ayrıntılı günlükler

terminal/bağlan/sunucu yeniden başlatma işlemi

haberciler/e-posta yoluyla geri bildirim

Barın açılışında ve barın içinde ticaret arasındaki fark

... barın ömrü boyunca sinyaller kaybolabilir ve görünebilir

Kene/scalping stratejileri

... ne olduğu hakkında iyi bir fikre sahip olmanız gerekir, puan olarak TakeProfit/StopLoss ne kadar azsa, strateji yayılmalar/komisyonlar/ağ gecikmeleri/mevcut geçmişin kalitesi/robotun hızı için o kadar kritiktir.

Koşullardaki herhangi bir bozulma stratejiyi öldürebilir

Izgaralar, martingaller, ortalama alma ve bu iyileştirmelerin olumsuz yönleri

... Nedirler, neden popülerdirler ve stratejiyi geçici olarak genişletmeye ne kadar yardımcı olabilirler. Risk artar, ancak kötü bir stratejinin ömrünü uzatabilir

Müteahhit seçerken nelere dikkat edilmelidir?

... önemli sorular

etkilemek için değil

Net süreler verir

Görev Tanımındaki belirsiz yerleri hemen gösterir ve 2 aylık tartışmadan sonra değil

İyi bir programcı kendisinin ve sizin zamanınıza değer verir - bu yüzden iyi geliştirilmiş tutarlı bir TOR'u sever

Bir programcının sizin için yapamayacağı şey

Kaybeden bir stratejiyi karlı bir robota dönüştürün

Herhangi bir zayıflığı optimize edin ve belirleyin

Hatasız bir program yazın - yine de olacaklar. Bunları bulmak ve anlaşılır bir şekilde açıklamak sizin görevinizdir.


 

Makalenin güncel versiyonu, Sinyal Beklemek için Kurulum Açıklaması bölümü ve devamı

Bir ticaret robotu sipariş etmek için gerekenler

Ticaret robotları, içlerinde gömülü algoritmaları yürüten programlardır. Algoritmalar, bir olayın meydana gelmesi durumunda gerçekleştirilmesi gereken bir dizi eylemdir. Örneğin, algoritmik ticarette en yaygın görev, robotun ticaret sinyallerinin görünümünü kontrol ettiği ve bunlar üzerinde gerekli eylemleri gerçekleştirdiği "Yeni çubuk" olayının tanımıdır.

Ancak bir ticaret robotu yazmadan veya sipariş vermeden önce, işlem yapmak için uygun anları belirlemek için net kuralları olan bir ticaret sistemine sahip olmak gerekir. Herhangi bir, hatta en karmaşık ticaret sisteminin gelişimi, her zaman temel şeylerle, yani alış ve satış için ticaret sinyallerinin geliştirilmesiyle başlar. Daha sonra buna çeşitli takip ve kapatma seçenekleri ekleyebilirsiniz.

Ticaret stratejinizi geliştirmek için ticaret terminalinin monitörünün arkasında yıllarınızı harcamanıza gerek yok. Artık internette yayınlanmış ve deneyebileceğiniz kitaplarda kanıtlanmış yüzlerce fikir var. Ve programlama becerilerinize tam olarak güvenmeseniz bile, bu bir engel değildir. Freelance hizmeti, doğru geliştiriciyi bulmanıza ve yapılan iş için güvenli bir şekilde ödeme yapmanıza yardımcı olacaktır.

Ancak algoritmik ticaretin büyüleyici unsuruna geçmeden önce, konuyla ilgili faydalı makaleleri okumanızı öneririz:

İyi bir Referans Şartına sahip olmak neden önemlidir?

Bir Uzman Danışman sipariş ederken veya geliştirirken, bunun için teknik gereksinimleri formüle etmek gerekir - hangi görevleri çözmesi gerektiği, hangi koşullarda çalıştırılacağı, acil durumlarda ne olacağı, ne tür bir kontrole ihtiyacı olduğu. Ticaret robotları programlardır ve temeldeki mantığa göre net bir şekilde çalışmalıdır. Ancak gerekli eylem algoritmasını programlamadan önce, açıkça tanımlanmalıdır.

Ticaret stratejisinin açıklaması, bir Görev Tanımı şeklinde yayınlanmalıdır. Ve ne kadar ayrıntılı olursa, bir müşteri olarak siz ve Siparişinizin uygulayıcısı olarak programcı arasında o kadar az yanlış anlama olacaktır.

İş Tanımındaki en önemli şey, açık resmi Ticaret Kurallarının varlığıdır. Yan tarafta bir uzman sipariş etmeyecek, ancak kendiniz yazmak istiyorsanız bile, bu kuralları kendiniz için geliştirerek başlayın. Bir Görev Tanımı yapın ve Expert Advisor'ı test etme/optimize etme ile ilgili öğeleri eklediğinizden emin olun. Ayrıca, ticaret stratejinizin kalitesini ve istikrarını kontrol edeceğiniz hipotezleri de ekleyin - optimal parametreleri seçmek için hangi kriterleri kullanacaksınız, bu kriterleri neden önemli buluyorsunuz.

Bir ticaret robotu oluşturmak için tüm adımları İş Tanımına dahil edin - bu, algoritmanın özünü yalnızca sanatçı için değil, haftalar, aylar veya yıllar sonra sizin için de anlamanıza yardımcı olacaktır. Unutmayın, algoritmik ticaret bir hobi değil, aynı monoton araştırma yoludur, bu sırada geçen aşamaları belgelemeniz gerekir. Ve buna sizin için bir robot yazacak bir programcıdan daha fazla ihtiyacınız var.

İşleri halletmeyi seven bir bürokratın becerilerini geliştirin. Her ticaret sisteminin bir geliştirme günlüğü, yeni bir fikri test etmek istediğinizde kesinlikle kullanışlı olacaktır. Evet ve programcılar kesin emirleri sever.

İş Tanımı Örnekleri

MetaTrader 5 terminalinin teslimatında yer alan Uzman Danışmanlar için Teknik Şartnamelerin nasıl tasarlanabileceğine dair örnekler verelim.


Referans şartlarında neler olmalı

ticaret fikri

İş Tanımınızın ilk bölümünde, ticaret stratejinizin arkasındaki genel fikri açıklayın. Örneğin: "Fiyat direnç seviyesine iki kez yaklaşırsa ve her seferinde geri dönerse, üçüncü kez kural olarak onu kırar." Buraya çizilmiş direnç/destek çizgileri, göstergeler ve açıklayıcı başlıklar içeren bir tablo ekleyebilirsiniz. Fikri açıklamak için belirli sayılara veya hesaplama algoritmalarına girmenize gerek yoktur - bu örnekte, nasıl belirlediğimizi hemen açıklamanıza gerek yoktur:

  • direnç seviyesi,
  • seviye dökümü,
  • "genel olarak" kavramı.

İlk aşamada küçük bir soyutlama seviyesi, teknik ayrıntılara değil, fikrin kendisine odaklanmanıza izin verecektir. Bu yöntem, daha sonra ticaret stratejinizin çok daha fazla çeşidini oluşturmanıza olanak tanır - sadece bir strateji bloğunu diğeriyle, bir göstergeyi diğeriyle değiştirir, filtreler ekler veya değiştirirsiniz. Aynı zamanda fikrin kendisi değişmeyecek, sadece ticaret robotunuzun giriş parametrelerinin adları ve değerleri değişecektir.

Ayrıca, fikrin açıklamasında kullanılan tüm terimlerin bir açıklamasını vermek gerekir. Trend strateji için önemliyse, net bir tanım verin - hangi gösterge temelinde trendin yönü ve gücü belirlenecektir. Bu tanımların sayısal özellikleri, Expert Advisor'ın girdi parametrelerinin temelini oluşturacaktır ve daha sonra strateji test cihazında optimize edeceğiniz bunlardır. Bu nedenle, Görev Tanımınızın ilk bölümünü adlandırın - Ticaret fikri.

Şartlar

Şartları açıklamak için, İş Tanımı - Şartlar'ın ayrı bir bölümünü oluşturmanızı öneririz. İçinde, her terim için ayrı bir paragraf yazılmıştır, terimlerin kendileri, ticaret stratejinizin temel kavramını vurgulamak için kalın harflerle yazılmıştır. Gerekirse, anlamak için en gerekli olanı göstermeniz gereken terimin açıklamasına bir örnek ekleyin. Gelecekteki Expert Advisor'ın giriş parametreleri italik yazılabilir.

Ticaret Sinyalleri

İş Tanımı'nın bir sonraki bölümü, hangi koşullar, piyasa koşulları ve gösterge okumaları altında bir satın almanın gerçekleştiğini açıklayan üçüncü en önemli bölüm olan Ticaret Sinyalleridir. Bir satın alma sinyali oluşturmak için gerekli olan her koşulu tanımlamak için, sinyalin görünümünün bağlı olduğu sayısal bir parametreyi ayırmak gerekir. Örneğin, hareketli bir ortalama için bu, yumuşatma türü ve periyodu olacaktır. Bu önemli parametreler, gelecekteki Expert Advisor'ın giriş parametrelerine alınır. Gelecekteki Expert Advisor'ın giriş parametreleri italik yazılabilir.

Satın alma koşullarının tam tersi olsalar bile, satış koşullarını ayrı ayrı açıklayın - bazen programcının sizden farklı anlayabileceği incelikler ortaya çıkar. Örneğin, bir satın alma için "Gösterge> 0" koşulu ayarlanır - bir satış için ne yazmalı? "Puan<0" veya "Puan<=0"?

En basit ticaret fikri bile çok hızlı bir şekilde ticaret sinyalini onaylayan veya tam tersine iptal eden ek koşullar ve filtreler edinmeye başlar. Bu nedenle, kullanılan göstergeleri ve kurulumları görsel olarak göstermek için her bir piyasa durumu için açıklayıcı ekran görüntüleri yapmak önemlidir. Bu, danışmanınız görünüşte bariz bir ticaret sinyalini kaçırdığında veya aniden yanlış zamanda bir anlaşma yaptığında durumla hızlı bir şekilde başa çıkmanızı sağlayacaktır.

Ekran görüntüleri ve akış şemaları

İnternette ekran görüntüleri ve akış şemaları oluşturmak için birçok ücretsiz ve kullanışlı program var. Onlarla çalışmak için küçük bir ipucu seçimi, bir gösterge sipariş ederken İş Tanımı Nasıl Hazırlanır makalesinde verilmiştir. Burada, alım ve satım sinyallerinin göründüğü anları grafikte oklarla gösteren bir gösterge sipariş etmeyle ilgili ipuçlarını da bulacaksınız. Danışmandan ayrı çalışan böyle bir gösterge, hem çevrimiçi hem de görsel testler sırasında ticaret robotunun çalışmasını kontrol etmeyi ve kontrol etmeyi kolaylaştırır.

Sinyallerin/emirlerin/pozisyonların ömrü

Ticaret stratejisinin ikinci önemli kısmı, açık bir pozisyondan çıkmak ve bekleyen emirleri silmektir. Ek olarak, alım satım sinyallerinin kendisi de zamanında veya bazı olaylar meydana geldiğinde iptal edilebilir. Alım satım sinyallerine gelince, - alım / satımın hangi koşullar altında kapatılacağını, verilen emrin, sinyalin kendisinin ne zaman iptal edileceğini açıklamak gerekir.

Açık pozisyonların ve bekleyen emirlerin bakımı

Alım satım stratejiniz StopLoss ve TakeProfit seviyeleri ile kapatmayı kullanıyorsa, lütfen hesaplama algoritmasını verin. Bu seviyelerin esnek şekilde çekilmesi/hareket edilmesi için koşulları ve takip eden algoritmayı tanımlayın. SL/TP seviyeleri hem yeni bir çubuğun açılışında hem de her tıklamada değiştirilebilir. Bu noktayı İş Tanımında açıkça belirtmek ve ticaret stratejilerini test etme modları arasındaki farkı anlamak gerekir. Ticaret stratejilerini gerçek keneler üzerinde test etme makalesini mutlaka okuyun.

Kendiniz oluşturamıyorsanız, İş Tanımı'nı nereden edinebilirim?

Kötü hazırlanmış bir İş Tanımı veya fiili yokluğu, çoğu zaman ticaret sisteminin kurallarının formüle edilmediğini, sadece var olmadığını gösterir. Bu durumda Müşterinin ticaret sistemi dediği şey aslında sadece bir fikirdir. Bu koşullar altında çalışmaya başlamak imkansızdır, çünkü çok yakında nüanslar için hesaba katılmayan veya piyasada öngörülemeyen durumlar için bir algoritmanın olmaması kod yazma sürecinde ortaya çıkacaktır. Bu durumda, programcı aslında Müşteri yerine seçenekler sunmaya başlar.

Sonuç olarak, Yüklenici, riski ve riski kendisine ait olmak üzere işi tamamlayabilir ve Müşteriye bir ticaret robotu verebilir. Ancak buna her yeni konuyu tartışmak için zaman kaybı eşlik etmekte ve işin Tahkime götürülme olasılığı artmaktadır. Çünkü Müşteri, yapılan işi kabul ederken ve kontrol ederken bir anda işlemlerin beklediği gibi yapılmadığını fark ediyor, sadece doğru tarif edemiyor. Ve elbette Müşteri, bu durumda Yükleniciyi İş Tanımı'nın belirli noktalarını ihlal etmek ve robotu yanlış programlamakla suçlayacaktır. Bu gibi durumlarda tahkim, her iki tarafın yetkilerindeki farkı çabucak anlar ve karara ekli Görev Tanımlarına dayanarak karar verir. Serbest Çalışma Kuralları'na göre, ihtilaflı durumlar göz önüne alındığında taraflara yapılacak hiçbir yazışma dikkate alınmaz:

Tahkimde uyuşmazlığın konusu ele alınırken, karar vermek için yalnızca İş Tanımı esas alınır.

Hayatta bu seçenek de mümkündür: katı ticaret kurallarınız vardır, ancak bir nedenden dolayı İş Tanımı'nı kendiniz hazırlayamazsınız. Örneğin, belirli şeyleri nasıl doğru bir şekilde tanımlayacağınızdan emin değilsiniz veya matematik, sinir ağları, makine öğrenimi, programlama vb. alanlarda bir uzmanın yardımına ihtiyacınız var. Bu durumda, ayrıca bir Görev Tanımı oluşturulmasını da sipariş edebilirsiniz, Freelance'da bunun için "Programlama Danışmanlığı" ve "Diğer" gibi kategoriler vardır.

Bu iki kategoriden birini seçin, çalışmayı "Ticaret robotu sipariş etmek için TOR oluşturma" olarak adlandırın ve hayal ettiğiniz gibi işin ilk maliyetini belirtin. Deneyimli bir ticaret sistemi geliştiricisi, stratejinizin Kurallarını başka bir programcının anlayabileceği şekilde doğru bir şekilde formüle etmenize yardımcı olacaktır. Aynı zamanda, ekran görüntülerini kullanarak alım satım sinyallerinizin kurulumlarını göstermek için çizelgeler, göstergeler ve grafik nesnelerle çalışabilmelisiniz.

Programcı, ticaret sisteminizi anlayacak ve mümkünse ticaret algoritmasının bir tanımını yazmanıza yardımcı olacaktır. Bazı kavramları kendi başınıza formüle edemiyorsanız (örneğin, "dürtü" veya "seviyeden geri tepme"), deneyimine dayalı olarak size hazır fikirler verebilir. Kural olarak, herhangi bir piyasa durumu, varyasyon parametreleri ile bazı basit modellerle mantıksal (ve ardından programlı olarak) tanımlanabilir. Ve bu varyasyon, daha sonra Expert Advisor'da optimize edeceğiniz belirli bir parametre ile ifade edilebilir.

İdeal kalıplar yoktur, çünkü piyasa bir yandan kendini tekrarlamaz, diğer yandan tarihte benzer durumlar her zaman bulunabilir. Ortak çalışmanızın sonucu, stratejinize göre bir ticaret robotu sipariş etmek için hazır bir Görev Tanımı olmalıdır.

Hangi terimleri kullanmalı

Kural olarak, bir ticaret sisteminde, piyasanın durumunu veya fiyat hareketinin doğasını tanımlayan birkaç temel önemli kavram veya terim vardır. İş Tanımı'nda genel kabul görmüş ve basit bir kavram kullanıyorsunuz gibi görünse de, bunu net bir şekilde açıklamak daha iyidir. Her terim için bir açıklama paragrafı yapın.

Örneğin, Bill Williams'a göre, üç Timsah çizgisinin tamamı aşağıdan yukarıya doğru bu sırayla düzenlendiğinde bir yükseliş trendi oluşur: Mavi, Kırmızı, Yeşil.


Bir başka klasik yükseliş trendi tanımı - Larry Williams'tan - her yeni zirve bir öncekinden daha yüksek olduğunda ve her yeni dip bir öncekinden daha düşük değil.


Terimlerin açıklamasında grafiklerin ekran görüntülerini kullanabilirsiniz, bunlar karışmaz. İş Tanımının kendisinde, girdiğiniz terimleri kalın harflerle vurgulamanızı öneririz - böylece daha sonra Yüklenici herhangi bir şüphesi varsa metinde hemen bulabilir.

Terimi tanımlarken, Yüklenici, bunun zaten iyi bilindiğini gerekçe göstererek başka kaynaklara (web siteleri, kitaplar, forumlar vb.) atıfta bulunulamaz. Her şey burada ve şimdi açıklanmalıdır, TOR'da "Daha sonra Skype'ta açıklayacağım" şeklinde koltuk değneğine izin verilmez. İş Tanımı'ndaki tüm terimleri yazmanız yarım saatten fazla sürmez, ancak yanlış anlamalardan kaynaklanan hataları düzeltmek için harcadığınız zamandan tasarruf etmenizi sağlar.

Freelance'da iş tanımına ne yazmalı?

Bir iş yaratırken, potansiyel oyuncuların neye ihtiyacınız olduğunu anlamaları için ticaret fikrinizin genel özünü birkaç paragrafta tanımlayın. İş tanımının ticaret sisteminin kurallarını ifşa etmesi veya kullanılan göstergeler hakkında ayrıntılı bilgi vermesi gerekmez.

Açıklama şöyle görünebilir:

Eğilim tersine çevirme işlemleri için bir Uzman Danışman yazın. Geri dönüş sinyalleri, Fiyat Hareketi kalıpları olacaktır. Trendi belirlemek için ADX, Timsah ve MACD göstergeleri kullanılacaktır - gösterge seçimi, danışmanın giriş parametreleri tarafından belirlenir.

Bir ticaret stratejisinin genel fikri

Burada robotun hangi enstrümanlar üzerinde işlem yapacağını, trendle işlem yapıp yapmadığını, nasıl belirlendiğini ve hangi zaman diliminde olacağını belirleyebilirsiniz. Trend ile ticaret yaparsak, bir şekilde giriş gerçekleşir - bir geri dönüşte, seviyenin kırılmasında vb.

Genel olarak, finansal piyasalarda sadece iki ticaret stratejisi vardır: hareket etmeye devam etmek ve ortalamaya dönmek. Alım satım fikriniz bu iki stratejiden biriyle ilgili olmalı ve alım satımların nasıl açılacağını açıklamalıdır - piyasada, bir kırılma / geri çekilme onaylandıktan sonra veya daha iyi bir fiyata.

Bir Sinyal beklemek için kurulumun açıklaması

Sinyallerin kendileri basit olabilir ve algoritmalar kullanılarak kolayca tanımlanabilir. Örneğin, "Absorpsiyon" ve "Pin çubuğu" gibi desenler iyi bilinir ve popülerdir. Ancak bir kural olarak, yalnızca bu kadar iyi biçimlendirilmiş rakamlar üzerinde karlı bir strateji oluşturmak imkansızdır; bu tür modeller bir trendin tersine çevrilmesini belirlemek için kullanılır. Bu, "Yutulan Ayı" formasyonunun bekleme düzeninin bir yükseliş trendinin varlığı olacağı anlamına gelir.

Bu nedenle, İş Tanımı'nda yalnızca İşlem Sinyalinin kendisini açıklamakla kalmayıp, bunun için gerekli olan kurulumu da resmileştirmek gerekir.

Sinyal Açıklama

Belirli bir koşul karşılandığında satın alma veya satma sinyali görünür. Örneğin, klasik bir satın alma sinyali, fiyatın hareketli ortalamayı aşağıdan geçtiği zamandır. Böyle bir sinyali tanımlarken aşağıdaki parametreleri belirtmelisiniz:

  • hareketli ortalama türü - SMA, EMA, VIDYA vb.
  • hareketli ortalama dönem
  • bazı ortalamalar için ek parametreler, örneğin - AMA için.

Ayrıca "fiyat ortalamayı geçiyor" kavramının da açıklığa kavuşturulması gerekiyor. Sinyal, ortalamayı geçtiği anda hemen görünebilir veya mumun yalnızca ortalama seviyeyi geçmesini değil, aynı zamanda üzerinde kapanmasını da beklemek gerekir. Sadece kodun nasıl yazılacağı değil, aynı zamanda Strateji Test Cihazında Expert Advisor test edilirken kullanılması gereken kene oluşturma modu da buna bağlıdır.

Bu nedenle, "Trend", "Seviye", "Kırılma", "Geri Tepme" ve "Kesişim" gibi kavramları - keneler, çubuklar ve kapanış fiyatları ile çalışmak anlamına gelip gelmediği - açıkça tanımlamak gerekir. Tüm bu kavramların, daha sonra strateji test cihazında optimize edeceğiniz sayısal parametrelerle resmi bir açıklaması olmalıdır. Örneğin, bir trendin gücü ADX göstergesi kullanılarak ölçülebilirken, Ichimoku Kinko Hyo göstergesi bunun için uygun değildir.

Bir ticaret sisteminde ne kadar çok koşul ve filtre kullanılırsa, ticaret programı o kadar karmaşık hale gelir. Bu tür stratejilerin çok sayıda girdi parametresine sahip olduğu ve bu nedenle çok sayıda optimizasyon geçişi gerektirdiği gerçeğinden bahsetmiyorum bile. Ve MetaTrader 5'teki strateji test cihazı, genetik algoritma ve MQL5 Bulut Ağı nedeniyle parametrelerin optimizasyon süresini onlarca ve binlerce kez hızlandırmanıza izin verse de, bu durumda alınan veri miktarı çığ gibi büyüyor.

Bu nedenle, bir ticaret robotu geliştirirken ve hata ayıklarken birkaç kuralı izlemenizi öneririz:

  • Hataları ayıklamak ve sinyalleri görsel olarak kontrol etmek için, Uzman Danışman, Sinyal oluştuğu anda tabloya etiketleri/nesneleri yerleştirmelidir. Bu, yalnızca geçmişte hata ayıklamaya değil, aynı zamanda grafikteki Sinyalleri görsel olarak gözlemlemeye de izin verecektir. Çoğu zaman, algoritma o kadar karmaşık hale gelir ki, sistemin Kurallarını formüle eden tüccar için bile çalışmasını anlamak zorlaşır. Ve Signals'ın görsel gösterimi ile, grafikte fırsat açılış anlarını anında görebilirsiniz.
  • Daha da doğru bir çözüm, önce okları kullanarak grafikte alım/satım sinyallerini işaretleyen bir gösterge oluşturmak olabilir. Bu, tek bir karmaşık programdan ayrı olarak iki programı oluşturmak ve hatalarını ayıklamak daha kolay olduğundan, bir Uzman Danışmanın yazımını basitleştirecektir. Robotun yalnızca ticaret yapmasına ve göstergenin yalnızca çekmesine izin verin. Bu durumda, danışman kodu gereksiz işlevsellikten kurtulacaktır. Ayrıca, üzerlerinde yapılan işlemlerden çok daha fazla Sinyal olabilir. Örneğin, bir satın alma sinyali alındığında, genellikle piyasaya girilir ve ayrıca, algoritmaya göre, satın alınacak sinyaller artık kontrol edilmez. Ve ayrı bir gösterge varsa, tüm Alım Sinyallerini gösterecektir, çünkü açık bir pozisyon olup olmamasına bakılmaksızın TÜM Sinyalleri gösterme mantığına sahiptir.
  • Alım ve satım sinyalleri yalnızca İş Tanımında ayrı ayrı açıklanmamalı, aynı zamanda strateji test cihazında bunların ayrı ayrı hatalarının ayıklanması da istenmektedir. Genellikle alış ve satış birbirine bağlıdır - yani, açık bir alış pozisyonu olduğu sürece, tüm Satış Sinyalleri yok sayılır (tabii ki, uzun pozisyon bir Satış Sinyali ile kapatılmamışsa). Önce Alış Sinyallerini ayrı ayrı, ardından Satış Sinyallerini test ederseniz, temel mantığın doğruluğunu en saf haliyle kontrol edebileceksiniz.

Hatta strateji parametrelerini satın alma ve satış için ayrı ayrı optimize edebilirsiniz, böylece daha sonra algoritmaları tek bir ticaret robotunda birleştirebilirsiniz. Böylece optimum parametreleri aramak için daha az zaman harcar ve daha az hata yaparsınız. Ancak bu durumda gösterge/göstergelerin ve ara Uzman Danışmanların oluşturulması için ekstra ödeme yapmanız gerekecektir. Ama iyi bir ticaret fikri buna değer. Değil mi?

Sinyal ömrü

Bazı ticaret sistemlerinde, bir sinyalin ortaya çıkması, bir pozisyonun hemen açılması anlamına gelmez. Kural olarak, bu tür stratejilerde ek bir sinyalden onay/izin gereklidir. Örneğin bir direnç seviyesinin kırılmasının ardından en iyi koşullara girebilmek için fiyatın kırılan seviyeye geri dönmesini beklemek gerekir. Bu durumda, zaman faktörü ortaya çıkar - "Seviye bozuldu ve geri dönüşü bekliyor" sinyalinin ne kadar süreyle veya kaç çubuk için geçerli olduğu. Belki 5 bar içinde veya işlem seansının sonuna kadar bir geri çekilme beklemek mantıklıdır ve ardından sinyal iptal edilir.

"Yaşama Süresi" parametresini eklemek, alım satım sinyallerinin kalitesini artırabilecek ek filtreler eklemenize olanak tanır.

Sipariş verme ve pozisyon açma

Ticaret emirlerini göndermekten sorumlu fonksiyonlar yazarken, önceden ek fonksiyonlar hakkında düşünmek mantıklıdır. Örneğin, işlem sonuçlarının ve optimizasyon sonuçlarının daha fazla analizi için işlem robotunuzda farklı Sihirli Sayılar ve yorumlar belirtebilirsiniz. MagicNumber'da, giriş saatini ve gününü, ticaret modelinin numarasını ve MagicNumber'da yer alan veriler bağlamında ek analiz yapmanızı sağlayacak diğer önemli bilgileri girebilirsiniz. Böylece Expert Advisor'da birkaç ticaret stratejisi uygulayabilir ve aynı anda hepsi için bir optimizasyon gerçekleştirebilirsiniz. Daha sonra başarısız bir giriş zamanını veya kaybedilen bir deseni/Sinyali ayıklamak için. Bir Expert Advisor'da böyle bir işlevsellik elde etmek istiyorsanız, her model/kurulum/Sinyal için MagicNumber hesaplama algoritmasını açıkça tanımlamanız gerekir.

Ayrıca, bir ticaret emri her zaman ilk seferde başarılı bir şekilde yürütülmez. İlk seferde bir pozisyon açmanın/kapatmanın mümkün olmadığı durumları öngörmek gerekir. Danışman bu durumda ne yapmalıdır - yeni bir onay işaretinin gelmesini bekleyin veya bekleyin? Bir ticaret işlemini tamamlamak için kaç denemeye izin verilir? EA bu durumlarda hangi bilgileri kaydetmelidir? Giriş hangi formatta olmalıdır? DDoS saldırısı oluşturmamak için bir tüccara sorunlar ve nasıl yapılacağı hakkında bir mesaj göndermek gerekli midir?

Terminaldeki alım satım geçmişini hızlı bir şekilde analiz etmek için alım satım taleplerinde yazılabilecek yorumları kullanın. Ancak bazı durumlarda ticaret sunucusunun bu alana kendi bilgilerini yazdığını unutmayın. Bu nedenle, robotunuz kendi günlük işlem günlüğünü yazarsa, anlaşılmaz durumları çözmenize yardımcı olacak gereksiz olmayacaktır.

Ticaret stratejiniz StopLoss ve TakeProfit koruma seviyelerini kullanıyorsa, lütfen bunların hesaplanması için algoritmayı ve bunları ayarlama prosedürünü sağlayın. Örneğin, StopLoss'un yalnızca fiyat belirli sayıda puan ile uygun bir yönde hareket ettiğinde ayarlanması gerektiği ortaya çıkabilir. SL ve TP seviyeleri yalnızca bir pozisyonun başarılı bir şekilde açılmasından sonra ayarlanırsa, bir pozisyon açılmasının nasıl kontrol edileceğini belirtin - bir işlem talebi gönderdikten hemen sonra veya bir sonraki onay işaretinde.

Bir ticaret pozisyonu/siparişinin bakımı

Klasik kural şudur: "Kârların akmasına izin verin ve kayıpları azaltın." Algoritmik ticarete çevrilen bu, "Her açık pozisyon için koruyucu bir StopLoss ayarlayın ve TakeProfit emirlerini kullanarak potansiyel karı sınırlayın" anlamına gelir.

Durdurmanın boyutu, ticaretin sonuçlarını önemli ölçüde etkileyebilir ve tüccarlar, karı maksimize etmek için SL / TP emirleri vermek için bu tür en uygun mesafeleri bulmaya çalışırlar. Ancak olası tüm SL / TP boyutlarının kaba bir sayımı tarihe aynı şekilde sığacaktır. Piyasa oynaklığını, trend yönünü ve destek/direnç seviyelerinin yakınlığını hesaba katan mesafe hesaplama algoritmalarını kullanmaya çalışın.

SL/TP boyutunun ne olması gerektiği hakkında hiçbir fikriniz yoksa mevcut ticaret sistemlerine bakabilirsiniz. Birçok algoritmik tüccar, fikrinize göre bir ticaret robotu oluşturmak için kullanılabilecek kendi hazır kitaplıklarına sahiptir.

İş Tanımında aşağıdaki noktaları düşünün ve açıklayın:

  • StopLoss ve TakeProfit seviyelerini kullanarak, onlar için mesafeyi hesaplama algoritması:
  • Trailing Stop kullanmanın gerekli olup olmadığı, açıldığında, hangi adımla çekildiği, adım hesaplama algoritması;
  • pozisyon girmek için bekleyen emirler kullanılıyorsa, yeniden düzenlenmeleri gerekiyor mu ve hangi algoritma ile;
  • açık pozisyondaki değişken kar/zararın takibinin gerekli olup olmadığı, belirlenen kar/zarar seviyesine ulaşıldığında pozisyonun kapatılmasının gerekli olup olmadığı;
  • başka bir şey.

Bir emrin iptali ve bir pozisyonun kapatılması

Pozisyonları ve emirleri yönetmenin başka bir yolu da mümkündür - zamanla ve zıt bir Sinyalin ortaya çıkmasıyla. İş Tanımı'na ek silme ve kapatma seçenekleri ekleyebilirsiniz:

  • açık bir pozisyonda belirli bir değişken kâr veya zarar değeri ile;
  • fiyat, bekleyen bir emir açmanın mevcut seviyesinden belirli bir mesafe hareket ettiğinde (aslında bu, anın zaten kaybedildiği anlamına gelir);
  • belirtilen zamanda;
  • belirli sayıda çubuk aracılığıyla;
  • belirtilen zaman aralığının sonunda;
  • ters yönde bir Sinyal göründüğünde;
  • uygun bir kurulum/desen kaybolduğunda.

Sipariş vermek için lot hesaplama

Bazı tüccarlar, bir ticaret robotu oluştururken, hemen pozisyon boyutu kontrol işlevleri ekler. EA'yı optimize ederken ek girdi parametreleri, geçmişin belirli bir bölümünde ayarlamaya yol açabileceğinden, ilk aşamada lotu hesaplamak için EA'ya para yönetimi algoritmalarının dahil edilmesi hala tavsiye edilmez.

Robotun ilk versiyonunu ticaret sisteminize göre oluşturuyorsanız, sabit bir lotla test etmek ve optimize etmek daha iyidir. Sadece birkaç ay boyunca geçmiş ve gerçek ticarette ileriye dönük testler yaptıktan sonra, algoritmanızın güçlü ve zayıf yönlerini gördüğünüzde, para yönetimi hakkında düşünebiliriz.

Bir pozisyon açarken parti büyüklüğünü hesaplamak için bazı yaklaşımlar:

  • kâr veya zarardan bağımsız olarak sabit hacim;
  • hacim, bakiyenin veya öz sermayenin büyüklüğüne bağlıdır;
  • alınan kar/zarar sonuçlarına göre;
  • son N ticaretin sonuçlarına göre (martingale ve anti-martingale'nin farklı çeşitleri);
  • koruyucu bir StopLoss emri tetiklendiğinde risk yüzdesine bağlı olarak;
  • örneğin Vince yöntemine göre riske dayalı hesaplama için diğer seçenekler.

Her durumda, EA'ya bir lot büyüklüğü hesaplaması eklemeden önce, ticaret sisteminizin rastgele ticarete göre bir avantajı olduğundan emin olmalısınız. Aksi takdirde bir süreliğine kendinizi aldatmış olursunuz. Kaybeden bir sistem, sadece para yönetimi ile kârlı bir sisteme dönüştürülemez.

Ticaret hatalarını ve çevre durumunu ele alma

Ticaret robotu, günde 24 saat çalışan özerk bir program olduğundan, çalışmasını izlemek ve kontrol etmek için araçlar sağlamak gerekir. Uzman Danışmanınızın "Kara Kutusu", tüm mesajların Print() işlevi kullanılarak görüntülendiği "Uzmanlar" günlüğü olacaktır. Genel olarak, bir emir göndermeden önce Sinyallerin, kalıpların ve kurulumların, mevcut piyasa fiyatının ve işlem talebi parametrelerinin görünümünü kaydetmeniz önerilir.

Bir ticaret talebinin başarısız bir şekilde yürütülmesi durumunda , sonuçları günlüğe kaydedilmelidir. Ticaret sunucusu yanıt kodlarının analizi, bir ticaret hatasının nedenini anlamanıza ve düzeltmenize olanak tanır. İş Tanımında Açıklayın:

  • günlük girişlerinin yapıldığı tüm durumlar;
  • her durumda yansıtılacak parametreler;
  • istenen kayıt formatı, örn. zamanı, sayısal verileri, ayırıcıları vb. belirtmek için.

İşlem emirlerini gönderirken ve uygulama sonuçlarını işlerken ayrıntılı günlükler size zaman ve para tasarrufu sağlayacaktır.

Acemi algoritmik tüccarların sıklıkla unuttuğu önemli bir nokta, terminali yeniden başlatma, interneti kaybetme veya ticaret sunucusuna bağlanma durumudur. Bu gibi durumlarda, anlık mesajlaşma programları veya e-posta yoluyla robotla geri bildirim almayı düşünmekten zarar gelmez.

Barın açılışında ve barın içinde ticaret arasındaki fark

... barın ömrü boyunca sinyaller kaybolabilir ve görünebilir

Kene/scalping stratejileri

... ne olduğu hakkında iyi bir fikre sahip olmanız gerekir, puan olarak TakeProfit/StopLoss ne kadar azsa, strateji yayılmalar/komisyonlar/ağ gecikmeleri/mevcut geçmişin kalitesi/robotun hızı için o kadar kritiktir.

Koşullardaki herhangi bir bozulma stratejiyi öldürebilir

Izgaralar, martingaller, ortalama alma ve bu iyileştirmelerin olumsuz yönleri

... Nedirler, neden popülerdirler ve stratejiyi geçici olarak genişletmeye ne kadar yardımcı olabilirler. Risk artar, ancak kötü bir stratejinin ömrünü uzatabilir

Müteahhit seçerken nelere dikkat edilmelidir?

... önemli sorular

etkilemek için değil

Net süreler verir

Görev Tanımındaki belirsiz yerleri hemen gösterir ve 2 aylık tartışmadan sonra değil

İyi bir programcı kendisinin ve sizin zamanınıza değer verir - bu yüzden iyi geliştirilmiş tutarlı bir TOR'u sever

Bir programcının sizin için yapamayacağı şey

Kaybeden bir stratejiyi karlı bir robota dönüştürün

Optimize edin ve eksiklikleri belirleyin

Hatasız bir program yazın - yine de olacaklar. Bunları bulmak ve anlaşılır bir şekilde açıklamak sizin görevinizdir.