AutoGraf Series 4 - MQL özellikleri. - sayfa 32

 
Integer писал(а) >>
Ne senaryosu?

Baktı bulundu. Burada, muhtemelen herkes "ok altında durma" ilkesine göre hareket eder, yazarın özgüveni oraya nereye gideceğini basitçe uçurur.

 
ForexTools >> :
AG tartışmasıyla ilgili olmayan tüm gönderilerimi sildim. Geri kalan "özgür selciler"i de aynı şeyi yapmaya çağırıyorum - hadi diğer insanların çalışmalarına saygı gösterelim: tamamen (yöneticilerin) temizlediği yerde değil, (kullanıcıların) çöp atmadığı yerde;)

Sabluk'a "girişimimi" anladığı ve desteklediği için teşekkür ederim. Belki başkaları liderliğimizi takip eder?

 

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

Değişiklikler yapıldı:
1. Kenelerin sesini kapatmak için ayar eklendi.
2. 17 ve 20 numaralı enstrümanların yönetimindeki bir hata düzeltildi (devre dışı bırakılan AG veya AT modunda, piyasa fiyatı enstrümanın işlem fiyatına ulaştığında enstrüman silinmedi; şimdi otomatik olarak siliniyor).
Yeni sürümü buradan indirebilirsiniz http://autograf.dp.ua/Pages/4/421.htm .

 

AutoGraf 4, yeniliğe yeterince dayandı - 5. işaret. ( http://forum.alpari-idc.ru/thread44876.html )


Sadece yaptığı gibi çalışır. Hiçbir değişiklik gerekli değildir (çünkü doğru yazılmıştır - program sayısal olarak belirtilen değişken değerleri kullanmaz - her şey sunucuda değiştikçe güncellenen değişkenler, özellikle Point, Digits, StopLevel vb. .)

Expert Advisor'ın ayarlarında yapılması gereken doğal değişiklikler, fiyat parametrelerinin önceden ayarlanmış değerleri ile ilgilidir. Örneğin, SL (puan olarak StopLoss) = 25 idi, şimdi kullanıcının takdirine bağlı olarak 250 veya herhangi birini ayarlamanız gerekiyor, ancak 100'den az değil (yani, minimum StopLevel mesafesinin mevcut değerinden daha az değil). Aynı işlemi diğer parametreler için de yapın.

Parametreleri ayarladıktan sonra (uzman ayarları penceresinde) ayarların (aynı yerde) kaydedilmesi önerilir. Ayrıca, yeni bir şablon oluşturmanız önerilir: Düğme Şablonlar - Farklı kaydet.

===

Bir zamanlar film yapımcıları eski bir evi nasıl havaya uçurduklarını filme aldılar.
Patlayıcı yerleştirdiler.. Bang-bang!. Ev duruyor. Daha fazlasını koyun. Patlama! Birinci kat çöktü. Tüm üst kısım (4 kat) çökmedi, ev sadece 1 kata çöktü. Sonunda 5. denemede patlamayı başardı.

İnşaat firması bu çekimi makul bir paraya satın aldı ve filmi göstererek yaptığı işin kalitesinin reklamını yapmaya başladı :)

 

Sayın!

Lütfen soruya cevap ver.

Uygulama, AT işlevinin kendisine bir talimat verdiğini (örneğin, terminale erişim) ve kendi kendine işlem yapmadığını nasıl ayırt eder?

Исполнение функции АТ связано с двумя основными возможностями.

Bunlardan ilki, AT işlevinin bağımsız olarak ticaret yapabilmesidir - ticaret emirleri oluşturabilir ve bunları sunucuya gönderebilir. Bu durumda fonksiyon, uygulamadan alınan herhangi bir veriyi işlemeyebilir (veya bu verinin bir kısmını işleyebilir), ancak MQL 4 dilinin tüm özelliklerini kullanarak kendi hesaplamalarını yapabilir, dahil. siparişleri işlemek için terminale erişim, mevcut fiyatları alma, ticaret kriterlerini hesaplama, grafik nesneleri yönetme vb.

İkinci olasılık, doğrudan AutoGraf 4 uygulamasıyla ilgilidir.AT işlevi, AutoGraf 4 uygulamasına, belirli ayarlarda veya bir fiyat tablosunda belirtilen ayarlarla gerekli enstrümanları kurmasını, genel uygulama ayarlarını değiştirmesini, enstrümanları silmesini, mesajları görüntülemesini isteyebilir. kullanıcı, vb. ( çıkış parametreleri).

 

Sayın!

Lütfen soruya cevap ver.

"Örnek 2. Piyasa emirlerini açma ve kapama" bölümündeki Özel Otomatik Ticaret işlevi örneğinde. piyasa emirleri açılır ve bence bekleyen emirler kapatılır.

 //жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
// AG_AT.mq4                                             Пример 0 (инструментов нет)
// Пользовательская функция Автоматической Торговли.
// Используется при построении функции автоматической торговли для приложения AutoGraf 4
// Сергей Ковалёв, Днепропетровск, sk@autograf.dp.ua, ICQ 64015987, http://autograf.dp.ua
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж 0 жж
#property library   
 
#import "AG_Lib.ex4"
   int AG_Magic_Number ( ) ;                            // Вычисление MN 
   int AG_Message ( string & Message [ ] , string _Text ) ; // Запись сообщений в массив Message[]
#import "AG_Trade_Criterion.ex4"
   int AG_Trade_Criterion_1 ( ) ;                      // Ф-ия определен. торгов. критериев 1
   int AG_Trade_Criterion_2 ( ) ;                      // Ф-ия определен. торгов. критериев 2
#import
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж 1 жж
.......
//================================================================================== 7 ==
/*
                                       // Cнять блок комментариев с Примера 2
                                       // и закомментировать Пример 1
                                       // Пример 2. Открытие и закрытие рыночных ордеров.
   int Crit = AG_Trade_Criterion_2();  // Вызов функции вычисления торговых критериев
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   if (OrdersTotal()==0)               // Если нет ордеров, то интересуемся ..
      {                                // .. критериями открытия
      switch(Crit)                     // В этом блоке рассматриваются критерии открытия
         { 
         case 10:                      // Торговый критерий = Открыть_Buy
            MN = AG_Magic_Number();    // Вычисление MagicNumber (рекомендуется)
                                       // Открытие ордера Buy:
            OrderSend(Symbol(),OP_BUY, 0.1,Ask,2,Bid-100*Point,Bid+40*Point,Comm,MN); 
            break;
         case 20:                      // Торговый критерий = Открыть_Sell
            MN = AG_Magic_Number();    // Вычисление MagicNumber (рекомендуется)
                                       // Открытие ордера Sell:
            OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+100*Point,Ask-40*Point,Comm,MN);
         }
      }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   if (OrdersTotal()==1)               // По стратегии возможен только 1 рыночный ордер
      {
      switch(Crit)                     // В этом блоке рассматриваются критерии закрытия
         {
         case 11:                      // Торговый критерий = Закрыть_Buy
            if (NormalizeDouble(Order[1][6],0) == 0.0)            // Если тип ордера Buy
               {                                      
               int _Ord_Ticket = NormalizeDouble(Order[1][4],0);  // Номер ордера
               double _Ord_Lots = NormalizeDouble(Order[1][5],2); // Полное закрытие
               OrderClose(_Ord_Ticket, _Ord_Lots, Bid, 2);        // Закрыть ордер Buy
               }
            break;
         case 21:                      // Торговый критерий = Закрыть_Sell
            if (NormalizeDouble(Order[1][6],0) == 1.0)      // Если тип ордера Sell
               {
               _Ord_Ticket = NormalizeDouble(Order[1][4],0);// Номер ордера
               _Ord_Lots = NormalizeDouble(Order[1][5],2);  // Будем закр.ордер полностью
               OrderClose(_Ord_Ticket, _Ord_Lots, Ask, 2);  // Закрыть ордер Sell
               }
         }
      }
*/
//================================================================================== 8 ==
   return ( 1 ) ;
   }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж Конец модуля жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж 10 жж
 if (NormalizeDouble(Order[1][6],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][6],0) == 1.0)            // Если тип ордера Sell 

Yoksa bir şey anlamadım?

Общее количество ордеров в приложении AutoGraf 4 не должно превышать 30. Нумерация ордеров в приложении AutoGraf 4 начинается с 1. Нулевой индекс в первом измерении массива Order[][] для учёта параметров ордеров не используется. Поэтому массив Order[][] в первом измерении имеет размерность 31. Каждая строка в массиве соответствует одному ордеру и содержит значения следующих параметров ордеров:

[0][0] - toplam sipariş sayısı;

[][0] - kullanılmıyor;

[][1] - OpenPrice - sipariş açılış (ayar) fiyatı (mutlak fiyat değeri);

[][2] - Emrin StopLoss'u (mutlak fiyat değeri);

[][3] - TakeProfit'i sipariş edin (mutlak fiyat değeri);

[][4] - NumberOrders sipariş numarası;

[][5] - sipariş partisi sayısı;

[][6] - emir tipi (0=B, 1=S, 2=BL, 3=SL, 4=BS, 5=SS, Ticaret işlemleri );

[][7] - MagicNumber - siparişin sihirli numarası;

[][8] - 0/1 bir yorum olduğu gerçeği;

[][9] - P rOld ilk emir açılış fiyatı (mutlak fiyat değeri).


El kitabından:

OrderSend() işlevi için işlem türü. Aşağıdaki değerlerden herhangi biri olabilir:

Devamlı Anlam Tanım
OP_BUY 0 Satın almak
OP_SELL 1 Satış
OP_BUYLIMIT 2 Bekleyen sipariş SATIN AL LIMIT
OP_SELLLIMIT 3 Bekleyen sipariş SATIŞ LİMİTİ
OP_BUYSTOP 4 Bekleyen sipariş SATIN AL DUR
OP_SELLSTOP 5 Bekleyen sipariş SATIŞ DURDUR

Yani bence şöyle olmalı:

 if (NormalizeDouble(Order[1][0],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][1],0) == 1.0)            // Если тип ордера Sell 
 

Sayın!

Lütfen soruya cevap ver.

"L_1" stratejimin adı neden Expert Advisor özelliklerinde hatırlanmıyor?


AG_exp ayarlarken. Yazdım, satırda görüntüleniyor ama özelliklerde hatırlanmıyor mu?

 

Sayın!

Lütfen soruya cevap ver.

Bir uygulama sonlandırıldığında veya kaldırıldıktan sonra, uygulama tarafından desteklenmeyen grafik nesnelerin nasıl kaldırılacağı. Örneğin OBJ_ARROW gibi mi?

 
LeonidSB писал(а) >>

Yani bence şöyle olmalı:

 if (NormalizeDouble(Order[1][0],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][1],0) == 1.0)            // Если тип ордера Sell 

Hayır, doğru değil . http://autograf.dp.ua/Pages/2/26/267/2674.htm sayfasındaki tabloya (bir dizi sipariş örneği) tekrar bakın.

Bu sayfa aynı zamanda dizi indekslerinin dizide bulunan parametrelere uygunluğunu da açıklar. Order[][] dizisinin ikinci boyutundaki bir indeksten bahsettiğimize dikkat edin.

[0][0] - toplam sipariş sayısı;

[][0] - kullanılmıyor;

[][1] - OpenPrice - sipariş açılış (ayar) fiyatı (mutlak fiyat değeri);

[][2] - Emrin StopLoss'u (mutlak fiyat değeri);

[][3] - TakeProfit'i sipariş edin (mutlak fiyat değeri);

[][4] - NumberOrders sipariş numarası;

[][5] - sipariş partisi sayısı;

[][ 6 ] - emir tipi (0=B, 1=S, 2=BL, 3=SL, 4=BS, 5=SS, Ticaret işlemleri );

[][7] - MagicNumber - siparişin sihirli numarası;

[][8] - 0/1 bir yorum olduğu gerçeği;

[][9] - P rOld ilk emir açılış fiyatı (mutlak fiyat değeri).

---------------

"Order Type" parametresi Order[][] dizisinin ikinci boyutundaki 6. dizine karşılık gelir.

 if (NormalizeDouble(Order[1][ 6 ],0) == 0 .0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][ 6 ],0) == 1 .0)            // Если тип ордера Sell 
 
LeonidSB писал(а) >>

Sayın!

Lütfen soruya cevap ver.

"L_1" stratejimin adı neden Expert Advisor özelliklerinde hatırlanmıyor?

AG_exp ayarlarken. Yazdım, satırda görüntüleniyor ama özelliklerde hatırlanmıyor mu?

Her şeyi doğru yaparsanız, hatırlanmalıdır.

Bu durumda, Expert Advisor'ı pencereden indirene kadar hatırlanacaktır.

Her şeyi başka bir zaman tekrar girmemek için iki şeyden birini yapabilirsiniz:

1. Yapılandırılan Expert Advisor'ı şablonlara kaydedin. Yeni bir şablondan yeni bir indirme yapın.

2. Uzmanın ayarlarını kaydedin (ayarlar penceresindeki Kaydet düğmesi) ve uzmanın sonraki yüklemesi sırasında ayarları yükleyin (ayarlar penceresindeki Yükle düğmesi).

Strateji ekleme sırasına buradan bakın http://autograf.dp.ua/Pages/2/26/267/26711/26711_2.htm

LeonidSB yazdı >>

Sayın!

Lütfen soruya cevap ver.

Bir uygulama sonlandırıldığında veya kaldırıldıktan sonra, uygulama tarafından desteklenmeyen grafik nesnelerin nasıl kaldırılacağı. Örneğin OBJ_ARROW gibi mi?

Bir nesne seçin ve silin (Sil düğmesine basın).
Programlıysa, ObjectDelete() veya ObjectsDeleteAll() işlevini kullanabilirsiniz.