AutoGraf Series 4 - MQL özellikleri. - sayfa 35

 

Не очень понятно что Вы называете "строка кода для учёта в приложении".

AG_Srtategy_Channal_Inside.mq4'ten parça

 //================================================================================== 6 ==
   if ( Channal = = false )                            // Если объекта заданного типа нет
       {
       ObjectCreate ( My_Chan_Name , OBJ_STDDEVCHANNEL , 0 , 0 , 0 ) ; // Создаём его.. 
       int Сoor_X2 = Time [ 0 ] ;                                  // 1я точка СПРАВА, 2я СЛЕВА
       int Сoor_X1 = Сoor_X2 - With * 60 ;                        // Канал длиной 3 часа
       ObjectSet ( My_Chan_Name , OBJPROP_TIME1 , Сoor_X1 ) ;        // Устанавливаем координаты
       ObjectSet ( My_Chan_Name , OBJPROP_TIME2 , Сoor_X2 ) ;        // Устанавливаем координаты 
       ObjectSet ( My_Chan_Name , OBJPROP_COLOR , Orange ) ;        // Устанавливаем координаты 
      AG_Message ( Message , "АТ: Устанавливаем объект OBJ_STDDEVCHANNEL." ) ; // Сообщение

       return ( 1 ) ;                  // Это необходимо, чтоб установл. канал был учтён AG 4    Имелась ввиду эта строка

       }
//---------------------------------------------------------------------------------- 7 --

Bu satır kafamı karıştırdı:

Bunlardan ilki, AT işlevinin bağımsız olarak ticaret yapabilmesidir - ticaret emirleri oluşturabilir ve bunları sunucuya gönderebilir.

AT işlevinin uygulamanın çalışmasını görmezden gelebileceği ve kendi başına ..... onları sunucuya gönderebileceği görülüyordu.

Görünüşe göre bu benim sorunum deneyim eksikliğinden kaynaklanıyor. Beyin henüz programlama için keskinleşmedi.

 
LeonidSB писал(а) >>

.. Beyin henüz programlama için keskinleşmedi.

Bazı basit programları kendiniz yazmaya teşvik ediliyorsunuz.

 

Kesinlikle haklısın. Bunun için çabalıyorum ve en kısa zamanda yapmayı umuyorum ama önce zaten tecrübesi olan kişiler tarafından neyin, nasıl ve neden yazıldığını anlamak istiyorum. Kabaca söylemek gerekirse, kendi başına bir şeyler yazmak temelinde deneyim kalitesine dönüşecek miktarda bilgi edinmek.

Esasen konuşursak, herhangi bir "karmaşık" program, birbirine bağlı bir dizi basit programdır. Bir ev ve tuğla gibi (geçmişte eğitim ve meslek olarak inşaatçıyım), yani. programlama benim için bir kurucu gibidir.

Bu arada, çalışma göstergeme bakmak için zaman ayırın. Hedef çizgilerini, kârlı ve kârsız ticaret çizgilerini çizer ve bırakır, bunları kullanarak hem test cihazındaki çizelgede hem de gerçek hayatta stratejinin uygulanmasını görsel olarak analiz edebilirsiniz. Ek olarak, uygun seçenekleri etkinleştirdiğinizde, oturum çıktısının sonuçlarını kendi (paylaşılmayan) Günlük dosyanıza daha fazla işlemek için görebilir ve başvurabilirsiniz.

extern bool    PrDeal = false ;                                        // Выключатель. Печатать отчет по каждой сделке
extern bool    PrCol = false ;                                        // Выключатель. Печатать отчет в колонку
extern bool    PrTab = true ;                                          // Выключатель. Печатать отчет в таблицу

Şimdiye kadar, tek bir dosyada aynı anda üç tür rapor oluşturuldu. Vladislav Goshkov tarafından geliştirilen göstergeyi temel aldığımı zaten söyledim. Yaklaşık 280 satır uzunluğundaydı. 2300 satıra kadar bitirdim. Dedikleri gibi, itilecek bir şey vardı. Kodun, içinde "şeytanın ayağı kırılacak" şekilde yazıldığı açıktır. Ama bunlar benim ilk kod satırlarım ve en önemlisi işe yarıyorlar! Bu yüzden doğru yönde ilerliyorum (en doğru şekilde olmasa da), ancak ortaya çıkan sorunları açıklığa kavuşturmak için sizin yardımınızla, hepsi bir zaman meselesi.

Katılımınız için çok teşekkür ederim.


Bu fırsatı değerlendirmek, başka bir soru.

Ders kitabı diyor ki:

Если в результате исполнения торгового приказа функция OrderClose() вернула значение false, то это значит, что ордер не закрыт. Чтобы выяснить причину неудачи выполняется анализ последней ошибки, возникшей при попытке осуществления торговой операции. Для этого вызывается функция Errors() (см. раздел Функция обработки ошибок ). Если при исполнении этой функции обнаруживается, что ошибка является непреодолимой (например, торговля запрещена), то функция Close_All() заканчивает работу и возвращает управление в управляющую торговую функцию Trade(), что в конечном счёте приводит к завершению исполнения специальной функции start() эксперта. На следующем тике торговый терминал снова запустит на исполнение функцию start(), и если критерий закрытия на тот момент будет ещё актуален, то это снова приведёт к вызову на исполнение функции закрытия всех ордеров Close_All().

Soru:

Sırasıyla lot 3 ve 5 olmak üzere iki açık ALI-1 ve SAT-2 açık siparişi vardır. Close_All() bir ticaret talebi işlevi vardır. Emir kapanış sırası: önce SATIN AL-2 (5 lot), ardından AL-1 (3 lot). Aynı zamanda AL-2 (5 lot) kapatılamadı - aşılmaz bir hata - ayrılıyoruz - AL-1 emri (3 lot) kapatılmadı - kayıp büyüyor - bir sonraki tikte aynı resim (kayıp artıyor), vb. Onlar. aşılmaz bir nedenle kapatılmayan listedeki ilk emrin kapatılamaması nedeniyle, listeden sonraki tüm emirler kapatılmamış durumda ve ne kadar süreceği belli değil. Buna izin verilemez. Ve görünüşe göre program algoritması buna izin vermiyor ama ne kadar uğraşsam da bunun nasıl olduğunu anlayamadım.

       //--------------------------------------------------------- 4 --
       if ( Ans = = false )                      // Не получилось :( 
         {                                  // Поинтересуемся ошибками:
         if ( Errors ( GetLastError ( ) ) = = false ) // Если ошибка непреодолимая
             return ;                        // .. то уходим.
         }
       //--------------------------------------------------------- 5 --
      Terminal ( ) ;                          // Функция учёта ордеров 
      Events ( ) ;                            // Отслеживание событий
     }
   return ;                                  // Выход из пользов. функции
   }
//--------------------------------------------------------------- 6 --

Lütfen daha detaylı açıklayın.

Şimdiden teşekkürler, saygılar ve en iyi dileklerimle Leonid.

 
LeonidSB писал(а) >>

Soru:

Sırasıyla lot 3 ve 5 olmak üzere iki açık ALI-1 ve SAT-2 emri vardır. Close_All() bir ticaret talebi işlevi vardır. Emir kapanış sırası: önce SATIN AL-2 (5 lot), ardından AL-1 (3 lot). Aynı zamanda AL-2 (5 lot) kapatılamadı - aşılmaz bir hata - ayrılıyoruz - AL-1 emri (3 lot) kapatılmadı - kayıp büyüyor - bir sonraki tikte aynı resim (kayıp artıyor), vb. Onlar. aşılmaz bir nedenle kapatılmayan listedeki ilk emrin kapatılamaması nedeniyle, listeden sonraki tüm emirler kapatılmamış durumda ve ne kadar süreceği belli değil. Buna izin verilemez. Ve görünüşe göre program algoritması buna izin vermiyor ama ne kadar uğraşsam da bunun nasıl olduğunu anlayamadım.

Lütfen daha detaylı açıklayın.

Şimdiden teşekkürler, saygılar ve en iyi dileklerimle Leonid.

Aşılmaz bir hata, üstesinden gelinemeyecek bir hatadır. Örneğin, Market_closed.

Bu açıdan hangi siparişi kapattığınızın veya açtığınızın bir önemi yok. Piyasa hala kapalı :)

Ancak bir ticaret operasyonu yürütmeye çalışıyorsanız, o zaman (strateji açısından) en yüksek önceliğe sahip olanı.

 

Merhaba canım!

Lütfen soruya cevap ver.

Göstergelerden hangisi trenddeki değişimi en güvenilir şekilde yansıtır - düz?

AG_Srtategy_Channal_Inside ve AG_Srtategy_Channal_Outside stratejilerine bir stratejiden diğerine geçiş olarak böyle bir gösterge eklemek istiyorum.

 
SK. писал(а) >>

........Görev, kullanıcıya MQL4'te yazılmış ve .ex4 strateji dosyaları olarak biçimlendirilmiş kendi ticaret algoritmalarını AutoGraf 4 uygulamasına ekleme yeteneği sağlamaktı. Bu sorunu çözmek için, AG_exp.ex4 EA, hem .ex4 hem de mq4 biçimlerinde sağlanan AG_AT otomatik ticaret işlevinin EA'ya aktarıldığına göre bir kod içerir. Ayrıca, kullanıcı kodlarını nasıl düzenleyeceğine kendisi karar verebilir. İki seçenekten birini kullanmak en uygunudur ....

Bu seçenek dikkate alınmadı: açık kaynaklı ana modül, şu anda içe aktarma yoluyla kapalı bir kodla çağrılan ana modül, bir dahil etme yoluyla bir ticaret stratejisi (veya ilk olarak bir içerme yoluyla ve bir içerme yoluyla içe aktarma) ... Anlamı şudur - dış değişkenlerin görünürlüğünü sağlamak için içerme biçiminde bir ara bağlantı. Bana öyle geliyor ki, dikkatlice düşünürseniz çalışması gerekir. Hemen imkansız demeyin ;)

 
LeonidSB писал(а) >>

Merhaba canım!

Lütfen soruya cevap ver.

Göstergelerden hangisi trenddeki değişimi en güvenilir şekilde yansıtır - düz?

AG_Srtategy_Channal_Inside ve AG_Srtategy_Channal_Outside stratejilerine bir stratejiden diğerine geçiş olarak böyle bir gösterge eklemek istiyorum.

Ve seçim harika değil: STD, ATR, ADX. Ayrıca bir saat ve bir haber bülteni takvimi.

 

Teşekkür ederim!

Acaba sayfaya yorum eklerken otomatik olarak güncelleniyor diye bir seçenek var mı?

Ardından periyodik olarak sayfaya gitmeli ve manuel olarak güncellemelisiniz.

 
Integer писал(а) >>

Bu seçenek dikkate alınmadı: açık kaynaklı ana modül, şu anda içe aktarma yoluyla kapalı bir kodla çağrılan ana modül, bir dahil etme yoluyla bir ticaret stratejisi (veya ilk olarak bir içerme yoluyla ve bir içerme yoluyla içe aktarma) ... Anlamı şudur - dış değişkenlerin görünürlüğünü sağlamak için içerme biçiminde bir ara bağlantı. Bana öyle geliyor ki, dikkatlice düşünürseniz çalışması gerekir. Hemen imkansız demeyin ;)

Bunu yapmanın hiçbir zorluğu yoktur. Ama açık kaynak ile ticari bir ürün sunmak... bilirsiniz, bu bir çözüm değil.

Bu çözüm MT 5'te beklenmektedir. Herhangi bir uygulama programı ana programdan çağrılmalıdır. Bitmiş Uzman Danışmanları yönetme yeteneğine ihtiyacınız var. Bu durumda, özelleştirilmiş strateji bir analiz bloğu ve bir "alt rutin" çağrı bloğundan oluşabilir. İsterseniz - senaryoyu arayın ve sizin için bir fibu çizecek, isterseniz - ekrandaki göstergeyi arayın, ancak isterseniz - her şeyi kapatın ve akşam işten sonra kendinizi pips edin :)

Ve API. O zaman gerçekten modern bir araç yapabilirsiniz.

Kullanıcı bizim zil ve ıslıklarımızı umursamıyor (her türlü senaryo, danışman, uzmanlardan ayırt edilemez :). Uygun, kaliteli, çok işlevli bir hizmete ihtiyacı var. MT4'te sadece yapılmış olanı yapmak mümkündü - DOS yüzü ve sınırlı özellikler.

MT 5 için tüm umutlar.

 

AG serisi 4 - AutoGraf 4.90714'ün yeni bir sürümü çıktı .

Değişiklikler yapıldı:
1. Optimize edilmiş takım yönetimi analiz algoritması 14 Close_All.
2. Yeni bir takım yönetimi kuralı tanıtıldı 14 Close_All: mevcut anda takımın programlı kurulumuna izin verilir. Bunu yapmak için, enstrüman yürütme süresi ayar parametresi için 1 değerini iletmelisiniz (Enstrüman [0][2][32][1] = 1).

Programı buradan indirebilirsiniz: http://autograf.dp.ua/Pages/4/421.htm