Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 871

 
//-------Пример(мой) приказа на открытие позиции с привязкой закрытия ----------------------------------------------------- 
                                                      
                                                      //Локальная переменная, открывающая ордер БАЙ
   int OrdBuy_1() = (OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-1500*Point,Bid+1500*Point));
   
        //-------Тогда закрытие именно для этого приказа может быть таким:-----------------------------------------------------
    
    if (OrdBuy_1()==true)                              //Если был открыт ордер №1, то...
     {                                                 //...выполнить следующее:...
                                                       //...при условии, что Желтая выше красной, с сужением(условие1)...
                                                       //...и есть верхний перелом Средней (условие2)...
                                                       //...ИЛИ при условии, что Желтая выше красной, с расширением(условие1а)...
                                                       //...и есть верхний перелом Боллинджера (условие2а)... 
     if ((Yellow_0>Red_0) && (Yellow_0-Red_0)<(Yellow_1-Red_1) && (MA_2 < MA_1 && MA_1 > MA_0) || (Yellow_0>Red_0) && (Yellow_0-Red_0)>(Yellow_1-Red_1) && (MB_2 < MB_1 && MB_1 > MB_0))
        {                              
       bool Ans=OrderClose(OrdBuy_1,Lots,Bid,0);       //...закрыть ордер №1 по цене Bid (лок.переменная)и выдать сообщение                                                      
         Alert("Попытка закрыть ордер БАЙ лотом("Lots"), с ценой открытия("Ask"). Ожидание ответа..");
        }
      }
   if (Ans==true)                                     // Если получилось,... 
        {                                             //... выдать сообщение
         Alert ("Закрыт ордер БАЙ лотом("Lots"),с ценой открытия("Ask"), цена закрытия("Bid"));
        }
 
Bu, yukarıdaki gönderinin biraz değiştirilmiş bir örneğidir.
 
rapid_minus :

r772ra ve artmedia70 , açıklama için teşekkürler.

Büyünün esas olarak, bir tüccarın birkaç döviz çifti, hesap vb. üzerinde birkaç açık emir ile birkaç danışman kullanması durumunda gerekli olduğunu anladım. (değil mi?)

Bundan uzağım ve eğer düşündüğüm gibi danışmanım artı olarak çalışacaksa, bu benim için yeterli olacaktır. Hala bir çift, bir DC'li bir hesap için geliştiriyorum ve yalnızca bir sipariş açık olmalı ve sihir (veya açık pozisyonun başka bir tanımlayıcısı) yalnızca bu özel sipariş için özel olduğunda kapatmak için gereklidir. koşullar ve diğer siparişlerin kapatılması için geçerli olan diğer koşullar (sadece bu sipariş kapatıldıktan sonra açılabilir) bu sipariş için geçerli değildi.

Örneğin, (a+b+c+d) veya (a+e+e) veya (g+h+i+j) koşulları göründüğünde ve ALIŞ'ın hangi koşullar altında gerçekleştiğine bağlı olarak bir ALIŞ emri açılabilir. açılır, kendi koşullarına göre kapatmalıdır: (a + b + c + d) (f + g + l), (a + e + e) ile (s + l + m + n), (g + h + i + j) ile (n+r+s+t).

Bana öyle geliyor ki, burada da sipariş döngüsüne ihtiyaç yok. Fazla yer kaplamayan basit bir çözüm olmalı. Vizyonumu yukarıda özetledim, ancak henüz analiz için beklemedim ve orada, mantıksal olanlara ek olarak, muhtemelen sözdizimi hataları var (yeterli parantez yok, o zaman değişken yanlış ayarlanmış, vb.).

İş için almayın, yardım edin. Onsuz sıkışmış. teşekkürler

Son açık pozisyonun biletini belirleyin ve işleyin. IMHO - herhangi bir arıza durumunda kaybetmek kolay olduğu için bilet numarasını bir değişkende saklamak kötüdür. Bir siparişle çalışmak için önce onu seçmelisiniz. Ve bunu indeks veya bilete göre seçebilirsiniz. Biletin tam olarak bilinmesi gerekiyor. Aynı zamanda, biletle başarılı bir seçimden sonra, "bu bilete sahip pozisyonun kapanıp kapanmadığını" da kontrol etmeniz gerekir. Piyasada sadece bir pozisyon varsa, döngü zaman alan bir işlem değildir. Ancak bilet numarasını bir değişkende saklamanız gerekmez. Listedeki son sırayı seçebilirsiniz, ancak değiştirilebilir bir sıralama bağımlılığı vardır (terminalde sıralamaya bağımlılık vardı, sonra kaldırdılar, sonra tekrar göründü, sonra tekrar kaldırıldı) ) - Bir daha olmayacağına dair bir inanç var mı? Sahip değilim. Piyasada yalnızca bir pozisyon varsa, döngüde yalnızca bir yineleme olacaktır - bu çok mu?

Satın alma kapama durumu oluştu mu?
Evet ise, o zaman son açık Satın alma pozisyonunun biletini arıyoruz
Değilse, o zaman başlayın
Bilet bulursanız bu durumda siparişle gerekeni yaparız
Aksi takdirde, başla

 
rapid_minus :
Bu, yukarıdaki gönderinin biraz değiştirilmiş bir örneğidir.

OrdBuy_1() işlevi nedir? Sizinki bir değişken değil, bir fonksiyondur. Bu yapı tamamen yanlıştır. Bir işlev, içinde değil, başka bir işlevin dışında tanımlanır.

 
artmedia70 :

Son açık pozisyonun biletini belirleyin ve işleyin. IMHO - herhangi bir arıza durumunda kaybetmek kolay olduğu için bilet numarasını bir değişkende saklamak kötüdür. Bir siparişle çalışmak için önce onu seçmelisiniz. Ve bunu indeks veya bilete göre seçebilirsiniz. Biletin tam olarak bilinmesi gerekiyor. Aynı zamanda, biletle başarılı bir seçimden sonra, "bu bilete sahip pozisyonun kapanıp kapanmadığını" da kontrol etmeniz gerekir. Piyasada sadece bir pozisyon varsa, döngü zaman alan bir işlem değildir. Ancak bilet numarasını bir değişkende saklamanız gerekmez. Listedeki son sırayı seçebilirsiniz, ancak değiştirilebilir bir sıralama bağımlılığı vardır (terminalde sıralamaya bağımlılık vardı, sonra kaldırdılar, sonra tekrar göründü, sonra tekrar kaldırıldı) ) - Bir daha olmayacağına dair bir inanç var mı? Sahip değilim. Piyasada yalnızca bir pozisyon varsa, döngüde yalnızca bir yineleme olacaktır - bu çok mu?

Satın alma kapama durumu oluştu mu?
Evet ise, son açık Satın alma pozisyonunun biletini arıyoruz
Değilse, o zaman başlayın
Bilet bulursanız bu durumda siparişle gerekeni yaparız
Aksi takdirde, başla

Teşekkürler, düzeltmeye çalışacağım. Yine de, açıklamanıza göre yeniden yapmaya çalışacak olsam da, yukarıdaki örnekte hatalarımı dile getirin ki tekrar etmeyeyim.

teşekkürler

 
rapid_minus :

Teşekkürler, düzeltmeye çalışacağım. Yine de, açıklamanıza göre yeniden yapmaya çalışacak olsam da, yukarıdaki örnekte hatalarımı dile getirin ki tekrar etmeyeyim.

teşekkürler

Gitmem gerek - vakit yok. Kısacası - değişken int ise, neden bool olarak kontrol ediyorsunuz? Zararı durdur ve kar al değerlerinin normalleştirilmesi gerekiyor. Daha fazla bakmadım.
 

Trend çizgisiyle oynadım ve onu nasıl elde edeceğimi öğrendim. Böylece kötü şans, test cihazında optimizasyon sırasında grafik nesnelerin çalışmadığı ortaya çıkıyor.

Nasıl olunur? Göstergede almaya değer mi

 Buffer[i] = ObjectGetValueByTime (chart_ID,name,Time[ 1 ],sub_window);

optimizasyon böyle mi çalışacak?

 
artmedia70 :
Gitmem gerek - vakit yok. Kısacası - değişken int ise, neden bool olarak kontrol ediyorsunuz? Zararı durdur ve kar al değerlerinin normalleştirilmesi gerekiyor. Daha fazla bakmadım.

Pekala, kafam tamamen karıştı: OrdBuy_1( ), bu fonksiyonun üzerinde belirtilen 1 No'lu koşullar altında bir SATIN ALMA açan bir fonksiyondur. Yalnızca double türü, sipariş açılış fiyatını döndürdüğü için muhtemelen int'den daha doğrudur. Ve anladığım kadarıyla herhangi bir fonksiyona eklemedim, int start() dan sonra ayrı duruyor, gerekli tüm göstergelerin değerlerini çıkartıyor ve piyasadaki mevcut durumu analiz ediyor.(Yanılıyor muyum?) .

Ve dur ve al nasıl normalleştirilir veya daha iyisi - onları nasıl ayarlamazsınız?

Ve çek hakkında anlamadım. Sanırım öğreticiyi yanlış anladım - " bool SiparişKapat ( int bilet , çift çok , çift fiyat , int kayma , renk Renk = CLR_NONE ) Piyasa emri kapatma fonksiyonu." Çek nedir?

Genel olarak, daha fazla, daha aptal :(.

 
Forexman77 :

Trend çizgisiyle oynadım ve onu nasıl elde edeceğimi öğrendim. Böylece kötü şans, test cihazında optimizasyon sırasında grafik nesnelerin çalışmadığı ortaya çıkıyor.

Nasıl olunur? Göstergede almaya değer mi

optimizasyon böyle mi çalışacak?

Gerçek bir çizgi yerine sanal bir çizgi hesaplayın.
 
Forexman77 :

Trend çizgisiyle oynadım ve onu nasıl elde edeceğimi öğrendim. O kadar kötü şans ki, test cihazındaki optimizasyon sırasında grafik nesnelerin çalışmadığı ortaya çıkıyor.

Nasıl olunur? Göstergede almaya değer mi

optimizasyon böyle mi çalışacak?

Hayır, olmayacak. Grafikler yalnızca oluşturma modunda görüntülenir.
Neden: