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

 
rapid_minus :

Lütfen açıklığa kavuşturun, tamamen kafam karıştı:

Emirleri kâr veya eksi ile kapatan bir komut dosyası buldum, ancak mantığı anlayamıyorum - bool close_only_profit_orders=false, harici değişkenlerde ayarlanır ve ardından başlatma işlevinde olumsuzlama ile kontrol edilir: if(OrderType( )==OP_BUY && (!close_only_profit_orders | | order_prof>0).Yani, eğer yanlış değilse veya kârlı emirler varsa, o zaman OrderClose() işlevi devam eder.Ancak kodun hiçbir yerinde koşullar yoktur. close_only_profit_orders değişkeni doğru olur.O zaman neden buna ihtiyacı var?


Bu değişken için hiçbir şey bulamazsınız. Bu, programcının fantezisinin bir ürünüdür ve Uzman Danışmanınızda ne olduğunu yalnızca onu yazan kişi bilir. Bunun hangi nedenle olabileceğini ve nasıl kontrol edileceğini sadece tahmin edebilirim. Az önce işe başlamadan önce tüm çiftler için tüm siparişleri aptalca kapatan bir danışmanla tanıştım. Eh, bu programcının fantezisinin öyle bir ürünü ki... Buna göre, eğer danışmanınız tek başına olması gerektiği gibi çalışıyorsa, o zaman emirlerin kapatılmasının nerede ve hangi nedenle emredildiğini araştırmanız gerekir. Belki biraz sihir yardımcı olur...
 

Lütfen sorunu çözmeme yardım edin.

int n1=.....;

int n2=.....;

M1[i]=iMA(NULL,0,n1,n2,MODE_SMA,PRICE_CLOSE,i);

Yorumlar üzerinden ekranda n1 ve n2 değerlerini gösteriyorum değerler doğru fakat mouse doğru çizilmiyor, grafiğin tamamında değil. Bu değişkenler yerine n1 ve n2 değerlerini elle yazarsam her şey olması gerektiği gibi çizilir. Değişkenlerin değerleri doğruysa bunun nasıl mümkün olduğunu anlamıyorum? Ve fareyi sağa kaydırarak nasıl çizilir? Şimdi sadece sıfır çubuğuna kadar çizilir, yani. akım.

 
Alexandr24 :

Lütfen sorunu çözmeme yardım edin.

int n1=.....;

int n2=.....;

M1[i]=iMA(NULL,0,n1,n2,MODE_SMA,PRICE_CLOSE,i);

Yorumlar üzerinden ekranda n1 ve n2 değerlerini gösteriyorum değerler doğru fakat mouse doğru çizilmiyor, grafiğin tamamında değil. Bu değişkenler yerine n1 ve n2 değerlerini elle yazarsam her şey olması gerektiği gibi çizilir. Değişkenlerin değerleri doğruysa bunun nasıl mümkün olduğunu anlamıyorum? Ve fareyi sağa kaydırarak nasıl çizilir? Şimdi sadece sıfır çubuğuna kadar çizilir, yani. akım.

n1, TF'nin değerine eşit değilse, neden yanlış çizildiği açıktır. Ve sağa kaydırma n2 plus yapacak! ! Kontrol!
 
borilunad :
n1, TF'nin değerine eşit değilse, neden yanlış çizildiği açıktır. Ve sağa kaydırma, eksi ile n2 yapacaktır.

TF'nin bununla ne ilgisi olduğunu anlamıyorum, n1 göstergeyi hesaplamak için ortalama süre. Nedense ekranda Comment görüntülenir ve bu nedenle değişkenin doğru değerini alır, ancak bu değişkenlerle fare olması gerektiği gibi çizmez, paradoksal bir durum.

UPD. n2 yerine 0 koyun, vardiya normal şekilde işlenir, ancak n1 çarpık çizer :(

 
double    iMA (
   string        symbol,           // имя символа
   int           timeframe,         // таймфрейм
   int           ma_period,         // период - n1    
   int           ma_shift,         // сдвиг средней - n2
   int           ma_method,         // метод усреднения
   int           applied_price,     // тип цены
   int           shift             // сдвиг
   );

Her şey doğru! Yanılmışım, ama doğru yaparsanız neden bir şey çalışmıyor?

 
borilunad :

Her şey doğru! Yanılmışım, ama doğru yaparsanız neden bir şey çalışmıyor?

Evet, ben de bu paradoks üzerinde kafa yoruyorum. Terminali yeniden başlatırsanız, fare olması gerektiği gibi çizilir, ancak her seferinde yeniden başlatmak uygun değildir.

UPD, sağ tuşa basıp menüden "Güncelle" seçerek sorun çözüldü ama kodda derlemeye tıklarsanız fare çarpık çiziliyor... :))

 
Alexandr24 :

Evet, ben de bu paradoks üzerinde kafa yoruyorum. Terminali yeniden başlatırsanız, fare olması gerektiği gibi çizilir, ancak her seferinde yeniden başlatmak elverişsizdir.

UPD sağ tuşa basıp menüden "Güncelle" seçilerek sorun çözüldü ama kodda derlemeye tıklarsanız fare eğri çiziliyor... :))

Kodu göster, ancak parçaları değil
 

Kendim buldum, paylaşım için teşekkürler :)

 
Hepiniz hoşgeldiniz!
Forumda aradım, internette aradım - bulamadım. Bu nedenle size bir soru:

1. EA, (MA ile kesişmeye dayalı olarak) aynı fiyattan birkaç (3) piyasa emri açar (örn. 1.1180'den SATIN AL).

açıklama: MA ile geçmeden önce, bunlar Buy-Stop emirleriydi.

2. Ardından, danışman bu Üç Kâr Alım emrini farklı seviyelere ayarlamalıdır (bunlar, standart Fibo göstergesine göre yalnızca MA ile geçiş yaparken bulunur)

Bu seviyelerin şöyle olduğunu varsayalım:
Ur1 = 1.1200
Ur2 = 1.1220
Ur3 = 1.1240

Ve şimdi soru şu:
Açık Üç sipariş için bu verilen seviyeler nasıl düzenlenir???

Bu tasarımı forumda buldum (aşağıya bakın), ancak olabilecek başka bir şey düşünemiyorum. Lütfen bu konuyla ilgili herhangi bir makaleye yardım edin veya önerin.
Başka bir sayaca mı ihtiyacınız var? Ama nasıl? Yoksa diziler, sihirler veya... ????

double Ur1 = 1.1200
double Ur2 = 1.1220  
double Ur3 = 1.1240
 for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--) 
{
   if ( OrderSelect (i, SELECT_BY_TICKET, MODE_TRADES)== false ) continue ;
   if (OrderSymbol()!= Symbol ()) continue ;
       if (OrderType()!= 0 ) continue ;
                   
   // вот тут мы можем работать с нашим ордером
   
   if (OrderTicket() = ???? );
 
 bool mod_Buy1 = OrderModify ( OrderTicket(???),OrderOpenPrice (), NULL ,Ur1, 0 , clrNONE );
 bool mod_Buy2 = OrderModify ( OrderTicket(???),OrderOpenPrice (), NULL ,Ur2, 0 , clrNONE );
 bool mod_Buy3 = OrderModify (OrderTicket(???),OrderOpenPrice (), NULL ,Ur3, 0 , clrNONE );


}  

 
vadimvborisov :
Açık Üç sipariş için bu verilen seviyeler nasıl düzenlenir???

1. Açılış anında karşılık gelen TP siparişlerinin verilmesini engelleyen nedir?
2. Bu mod_Buy1/2/3 nedir? - Yukarıdaki for döngüsünün amacını anlıyor musunuz?