OrderSend() işlevinde hata mı var?

 

Zaten 4 gündür uğraşıyorum ve görünüşte basit bir şeyi uygulamak işe yaramıyor. Daha önce, farklı göstergeler ve mumlarla benzer şeyler yapmıştım. Masha ile hiçbir yere gitmez.

Öz ilkeldir! Fiyat, belirli bir i_thresholdFromMa ofsetinden (bu Expert Advisor'da yalnızca bir tane var!) daha yakın bir mesafede belirtilen sürenin işaretine yaklaştığında bir gecikme belirlenir. Tüm işlevleri ve tüm filtreleri zaten kaldırdım ve ilkel bir girişle çok basit bir Uzman Danışman bıraktım.

İşte satın alma işlevi:

 //+-------------------------------------------------------------------------------------+
//| Открытие длинной позиции                                                            |
//+-------------------------------------------------------------------------------------+
bool OpenBuy()
{
   int ticket = - 1 ;
   double OOP = fastMa + buyHear * pt;             // Получаем значение цны открытия
   
   if ((ND(OOP) - Ask) >= g_stopLevel)             // Проверка цену открытия на стоплевел          
   {
       if (ND(OOP) > Ask)           // Проверка что цена открытия выше Ask, т.к. у нас вход отложенником
       {
           Print ( "Bid = " , Bid);
           Print ( "Ask = " , Ask);
           Print ( "fastMa = " , fastMa);
           Print ( "Цена покупки = " , fastMa + buyHear * pt);
           Print ( "i_thresholdFromMa * pt = " , i_thresholdFromMa * pt);
           ticket = OrderSend ( Symbol (), OP_BUYSTOP, 0.1 , ND(OOP), 3 , 0 , 0 , NULL , i_magic, 0 );
       }
   }
   if (ticket > 0 )
   {
       return ( true );
   }
   else
    
   Alert ( GetLastError ());
}

OrderSend() 'in fastMa + buyHear * pt değişkenlerinin toplamına eşit açılış fiyatı içerdiğini görüyoruz.

Ekranda böyle bir fiyatın olmadığını görebilirsiniz!

Bir arabada ortak

Ayrıca bazı yerlerde fiyatın fastMa'ya (kırmızı nokta) dokunduğu hiçbir giriş olmadığını da görebilirsiniz.

Özellikle tampon 1'i aldım, yani. sondan bir önceki çubuk, sondan bir önceki çubuğun zaten kapandığından ve yeni bir kapanış olmayacağından emin olunması gerekenler... Son 0. çubuğun yeniden çizilmesini önlemek için.

İşte siparişin mesajı:

ticket = OrderSend ( Symbol (), OP_BUYSTOP, 0.1 , ND(OOP), 3 , 0 , 0 , NULL , i_magic, 0 );

Ve OOP:

 double OOP = fastMa + buyHear * pt;             // Получаем значение цны открытия
Bu nasıl mümkün olabilir?
Dosyalar:
test_ma_1.mq4  9 kb
 
hoz :

Zaten 4 gündür uğraşıyorum ve görünüşte basit bir şeyi uygulamak işe yaramıyor. Daha önce, farklı göstergeler ve mumlarla benzer şeyler yapmıştım. Masha ile hiçbir yere gitmez.

Öz ilkeldir! Fiyat, belirli bir i_thresholdFromMa ofsetinden (bu Expert Advisor'da yalnızca bir tane var!) daha yakın bir mesafede belirtilen sürenin işaretine yaklaştığında bir gecikme belirlenir. Tüm işlevleri ve tüm filtreleri zaten kaldırdım ve ilkel bir girişle çok basit bir Uzman Danışman bıraktım.

İşte satın alma işlevi:

OrderSend() 'in fastMa + buyHear * pt değişkenlerinin toplamına eşit açılış fiyatı içerdiğini görüyoruz.

Ekran görüntüsü böyle bir fiyatın olmadığını gösteriyor!

Ayrıca, fiyatın fastMa'ya (kırmızı nokta) dokunduğu bazı yerlerde hiç giriş olmadığını da görebilirsiniz.

Özellikle tampon 1'i aldım, yani. sondan bir önceki çubuk, sondan bir önceki çubuğun zaten kapandığından ve yeni bir kapanış olmayacağından emin olunması gerekenler... Son 0. çubuğun yeniden çizilmesini önlemek için.

İşte siparişin mesajı:

Ve OOP:

Bu nasıl mümkün olabilir?

Bir günlük ve sonuç olmayacak mı?
 
Vinin :

Bir günlük ve sonuç olmayacak mı?


Günlüklerde olan budur:

 2013.02 . 06 17 : 54 : 05     2011.01 . 13 07 : 00  test_Ma_1 EURUSD,H1: open # 3 buy stop 0.10 EURUSD at 1.31074 ok
2013.02 . 06 17 : 54 : 05     2011.01 . 13 07 : 00  test_Ma_1 EURUSD,H1: i_thresholdFromMa * pt = 0.0005
2013.02 . 06 17 : 54 : 05     2011.01 . 13 07 : 00  test_Ma_1 EURUSD,H1: Цена покупки = 1.3107
2013.02 . 06 17 : 54 : 05     2011.01 . 13 07 : 00  test_Ma_1 EURUSD,H1: fastMa = 1.3097
2013.02 . 06 17 : 54 : 05     2011.01 . 13 07 : 00  test_Ma_1 EURUSD,H1: Ask = 1.3099
2013.02 . 06 17 : 54 : 05     2011.01 . 13 07 : 00  test_Ma_1 EURUSD,H1: Bid = 1.3099
2013.02 . 06 17 : 54 : 05     2011.01 . 12 14 : 32  Tester: order # 2 , buy 0.10 EURUSD is opened at 1.29876
2013.02 . 06 17 : 54 : 05     2011.01 . 12 14 : 00  test_Ma_1 EURUSD,H1: open # 2 buy stop 0.10 EURUSD at 1.29876 ok
2013.02 . 06 17 : 54 : 05     2011.01 . 12 14 : 00  test_Ma_1 EURUSD,H1: i_thresholdFromMa * pt = 0.0005
2013.02 . 06 17 : 54 : 05     2011.01 . 12 14 : 00  test_Ma_1 EURUSD,H1: Цена покупки = 1.2988
2013.02 . 06 17 : 54 : 05     2011.01 . 12 14 : 00  test_Ma_1 EURUSD,H1: fastMa = 1.2978
2013.02 . 06 17 : 54 : 05     2011.01 . 12 14 : 00  test_Ma_1 EURUSD,H1: Ask = 1.2978
2013.02 . 06 17 : 54 : 05     2011.01 . 12 14 : 00  test_Ma_1 EURUSD,H1: Bid = 1.2978
2013.02 . 06 17 : 54 : 05     2011.01 . 12 12 : 11  Tester: order # 1 , buy 0.10 EURUSD is opened at 1.29953
2013.02 . 06 17 : 54 : 05     2011.01 . 12 12 : 00  test_Ma_1 EURUSD,H1: open # 1 buy stop 0.10 EURUSD at 1.29953 ok
2013.02 . 06 17 : 54 : 05     2011.01 . 12 12 : 00  test_Ma_1 EURUSD,H1: i_thresholdFromMa * pt = 0.0005
2013.02 . 06 17 : 54 : 05     2011.01 . 12 12 : 00  test_Ma_1 EURUSD,H1: Цена покупки = 1.2995
2013.02 . 06 17 : 54 : 05     2011.01 . 12 12 : 00  test_Ma_1 EURUSD,H1: fastMa = 1.2985
2013.02 . 06 17 : 54 : 05     2011.01 . 12 12 : 00  test_Ma_1 EURUSD,H1: Ask = 1.2987
2013.02 . 06 17 : 54 : 05     2011.01 . 12 12 : 00  test_Ma_1 EURUSD,H1: Bid = 1.2986
2013.02 . 06 17 : 54 : 04     test_Ma_1 inputs: i_TF= 0 ; i_fastMaPeriod= 10 ; i_magic= 3333021 ; i_thresholdFromMa= 5 ; buyHear= 10 ; SellHear= 10 ; 

Onlar. Günlüklere inanıyorsanız, satın alma işlemi ihtiyacınız olan yerdir. Ekrana bakarsanız orada hiç yok... Zaten yukarıdaki ekranı verdim, depozitonun olmadığı görülüyor. fastMa'dan 10 yakın değil..

 

Merhaba Victor! Bende açılıyor ama boşalıyor. Ve bir satırı hafifçe düzelttiğimde açılıyor:

   if ((ND(OOP) - Ask) >= MathMax (g_stopLevel,g_spread)) // Проверка цену открытия на стоплевел          
Satmak için aynısını ekleyin! İyi şanlar!
 
borilunad :

Merhaba Victor! Bende açılıyor ama boşalıyor. Ve bir satırı hafifçe düzelttiğimde açılıyor:

Satmak için aynısını ekleyin! İyi şanlar!


Merhaba, Boris . Eh, daha önce olduğu gibi aynı yerlerde açılıyor .. Ve açılmadığı yerde şimdi bile açmıyor. H1'de genel olarak çok garip çalışıyor.

M15'e geçtim ve fareyi 0. (sıfır) çubukta MODE_OPEN konumuna getirdim .

Genel olarak, gözlemlerseniz, gerekli yerlere mevduat yatırılır (yani TF M15'te) , ancak açık olması gereken yerlerde mevduat yatırılmaz. Örneğin, işte bir ekran görüntüsü:

Mevduat ile cant

borilunad :

Merhaba Victor! Bende açılıyor ama boşalıyor.

Boris , ve birleşecek .. Sonuçta, bu sadece ilk aşama .. Ve oh, bitiş çizgisine ne kadar var .. Tüm koşullar daha sonra olacak ve yavaş yavaş kararlaştırılacak. Şimdilik, mevcut nüanslara hakim olmanız gerekiyor.
 
hoz :


Merhaba, Boris . Eh, daha önce olduğu gibi aynı yerlerde açılıyor .. Ve açılmadığı yerde şimdi bile açmıyor. H1'de genel olarak çok garip çalışıyor.

M15'e geçtim ve fareyi 0. (sıfır) çubukta MODE_OPEN konumuna getirdim .

Genel olarak, gözlemlerseniz, gerekli yerlere mevduat yatırılır (yani TF M15'te) , ancak açık olması gereken yerlerde mevduat yatırılmaz. Örneğin, işte bir ekran görüntüsü:

Boris , ve birleşecek .. Sonuçta, bu sadece ilk aşama .. Ve oh, bitiş çizgisine ne kadar var .. Tüm koşullar daha sonra olacak ve yavaş yavaş kararlaştırılacak. Şimdilik, mevcut nüanslara hakim olmanız gerekiyor.

Victor, danışmanda göstergeleri, kullanım yöntemlerini incelemelisin. Ve bana öyle geliyor ki, nasıl başaracağını bilmediğin bir şeyi istiyorsun.

Ve başka bir şey, çok katı koşullara bu kadar takılamazsınız çünkü. Vakaların tam yarısında fiyat yine de istediğiniz gibi olmayacak. Bu nedenle, en kötü durumlarda yapacağınız seçenekler arasında gezinmek gerekir.

Açıkçası, başka bir bara değil de bu bara girmenizin sizin için neden bu kadar önemli olduğunu hala anlamıyorum. Bence asıl mesele belirli bir giriş noktası değil, zaman içinde başlayan trendi belirlemek ve kullanmaktır. Farklı Mashaları deneyin ve karşılaştırın ve ardından bunları, genellikle başarısız oldukları giriş sinyalleri olarak değil, istenmeyen girişlere karşı filtreler olarak nasıl kullanacağınızı öğrenin ve diğer göstergeler daha iyi değil!

 
i_thresholdFromMa değerini grafikte görüntülemeye çalışın ve test cihazını izleyin ve ayrıca karşılaştırmanın sonucunu orada da görüntüleyebilirsiniz.
 
hoz :


Günlüklerde olan budur:

Onlar. Günlüklere inanıyorsanız, satın alma işlemi ihtiyacınız olan yerdir. Ekrana bakarsanız orada hiç yok... Zaten yukarıdaki ekranı verdim, depozitonun olmadığı görülüyor. fastMa'dan 10 yakın değil..


Günlüğe bakılırsa , OrderSend() işlevi , ona ilettiğiniz fiyat üzerinden bir siparişi doğru şekilde yerleştirir.
 

PapaYozh :



Günlüğe bakılırsa, OrderSend() işlevi, ona ilettiğiniz fiyat üzerinden bir siparişi doğru şekilde yerleştirir.

Evet!!!

fastMa'dan 10 yakın değil..

Size 100 sts verilir.

başka bir ekran görüntüsü, hepsi bu.

 
r772ra :

Evet!!!

fastMa'dan 10 yakın değil..

Size 100 sts verilir.

başka bir ekran görüntüsü, hepsi bu.


4. burçla ilgili olarak, bu 10pp'dir. Ve 5. işarette 100pp. neyi sevmiyorsun
 
PapaYozh :

Günlüğe bakılırsa, OrderSend() işlevi, ona ilettiğiniz fiyat üzerinden bir siparişi doğru şekilde yerleştirir.


Günlüğe göre düzeltin. Ancak test cihazında aynı ayarlarla çalıştırırsanız, gecikmeler periyodik olarak yanlış ayarlanmış, ki bunu da zaten söyledim.. Bunu yazdım. Günlüğü okudum, her şey doğru ve net... Ekrana bakıyorum.

Ancak bunu M5'te fark etmemiş olmam da garip ama bazı girişlerin atlandığı fark edildi.

Neden: