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

 

Expert Advisor'da, devam eden bir etkinlikte zamanın kaydını içeren bir geri sayım kullandım:

 if (line1 < 0 && time == 0 ){time=Time[ 0 ];} //сработало предварительное условие входа, записываем время
if (time > 0 )shift=iBarShift( Symbol (), Period (),time); //находим индекс бара

ve koşul işe yaramadıysa

 if (line1 == 0 ){time= 0 ;}

daha sonra indeks her çubukla arttı.

Göstergede, belirli bir indeksten sonra bir kez ok koymak gerekir.

Göstergede de aynısını yapmaya çalışıyorum, hiçbir şey olmuyor:

 int tikket; // расположено на глобальном уровне
datetime time; // расположено на глобальном уровне

///////////////////////////////////

for (i=limit1;i>= 0 ;i--)
     {
       if (ExtMapBuffer2[i]< 0 && time == 0 ){time=Time[i];}
       if (time > 0 )shift=iBarShift( Symbol (), Period (),time); //находим индекс бара
       if (ExtMapBuffer2[i]== 0 ){time= 0 ;tikket= 0 ;}
       if (ExtMapBuffer2[i]< 0 && shift>=shet && tikket== 0 ){tikket= 1 ; if (tikket> 0 )ExtMapBuffer3[i]=High[i]+ 150 * Point ;}
     }


" ExtMapBuffer2[i]< 0 "'ın bulunduğu ilk çubukta bir ok yerleştirilir ve "shift>=shet" dikkate alınmaz.

Mantıksal olarak, bu satırla bir şeyler yapılması gerekiyor " if (time > 0 )shift=iBarShift( Symbol (), Period (), time);"

Ne düşünüyorsun?

 

Sevgili programcılar, yardımınıza ihtiyacımız var.

CloseAllOrders Uzman Danışmanını derlemeye çalıştım, ancak şu girişi alıyorum:

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

'CloseAllOrders_v5.mq4'
'WinUser32.mqh'
işlev bir değer döndürmelidir CloseAllOrders_v5.mq4 30 22
işlev bir değer döndürmelidir CloseAllOrders_v5.mq4 79 41
0 hata(lar), 2 uyarı(lar)

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

Danışmanın çalışması için ne yapılması gerekiyor?

Danışman ektedir.

Şimdiden teşekkür ederim.

Samimi olarak,

Dosyalar:
 
Geowind64 :

Sevgili programcılar, yardımınıza ihtiyacımız var.

CloseAllOrders Uzman Danışmanını derlemeye çalıştım, ancak şu girişi alıyorum:

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

'CloseAllOrders_v5.mq4'
'WinUser32.mqh'
işlev bir değer döndürmelidir CloseAllOrders_v5.mq4 30 22
işlev bir değer döndürmelidir CloseAllOrders_v5.mq4 79 41
0 hata(lar), 2 uyarı(lar)

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

Danışmanın çalışması için ne yapılması gerekiyor?

Danışman ektedir.

Şimdiden teşekkür ederim.

Samimi olarak,


İşlev bir değer döndürmelidir

 if (ret== IDCANCEL ) return ( 0 );

ve

 if (ret1== IDCANCEL ) return ( 0 );

Bunun gibi bir şey.

 

Zor bir soru:

Danışmanın, hangi mumun girileceğini belirlediğimiz bir ayarı vardır. EA, sinyalden sonraki 3. mumda gösterge sinyalinde bir işlem açar. Sinyalden sonraki 2. mumda ters yönde bir sinyal belirir. Ters yönde bir sinyal göründüğünde girmememiz için bir koşul nasıl yazılır?

extern int sdvig=3;//На какой свече заходим

 double pokupaem=iCustom(Symbol(),Per,"super-signals-channel",4,500,3,sdvig);

 double prodaem=iCustom(Symbol(),Per,"super-signals-channel",4,500,2,sdvig);

 if(OrdersTotal()==0)

 {

  double lot=(AccountBalance()/ MinLot)*0.01;

  if(center>Ask && pokupaem>0 && prodaem<1 && prodaem1<1 &&SelBuyDaily==Vhodim1)

  {

   x=OrderSend(Symbol(),OP_BUY,lot,Ask,3,0,0,Komment,Magic,0,Blue);

  }

  if(center<Bid && prodaem>0 && pokupaem<1 && pokupaem1<1 && SelBuyDaily==Vhodim2)

  {

   y=OrderSend(Symbol(),OP_SELL,lot,Bid,3,0,0,Komment,Magic,0,Red);

  }

 }

 

Ek değişkenlerle sorunu çözdü. Mevcut mum üzerinde bir sinyal ile göstergeler yazıyoruz. İlk sinyal göründüğünde değişkene bir rakam, ters sinyal göründüğünde başka bir rakam atarız.

 ////////////////////////////////////////////////////////////////////////////////////////

 //                       Проверка на наличие обратного сигнала                       //

 //////////////////////////////////////////////////////////////////////////////////////

  double pokup=iCustom(Symbol(),Period(),"super-signals-channel",4,500,3,0);

  double prod=iCustom(Symbol(),Period(),"super-signals-channel",4,500,2,0);

 if(pokup>0){

  proverka=1;

  }

 if(prod>0){

  proverka=2;

  }

/////////////////////////////////////////////////////////////////////////////////////////////////////

//                  Блок открытия зделок при отключённых стоп-лосс и тейк-профит                  //

///////////////////////////////////////////////////////////////////////////////////////////////////

 if(OrdersTotal()==0)

 {

  double lot=(AccountBalance()/ MinLot)*0.01;

  if(center>Ask && pokupaem>0 && prodaem<1 && prodaem1<1 && SelBuyDaily==Vhodim1 && proverka==1)

  {

   x=OrderSend(Symbol(),OP_BUY,lot,Ask,3,0,0,Komment,Magic,0,Blue);

  }

  if(center<Bid && prodaem>0 && pokupaem<1 && pokupaem1<1 && SelBuyDaily==Vhodim2 && proverka==2)

  {

   y=OrderSend(Symbol(),OP_SELL,lot,Bid,3,0,0,Komment,Magic,0,Red);

  }

 }

 

Merhaba, EA neden açılıyor... ve siparişler genel olarak fiyatın üzerinde mi açılıyor? EA'yı Metatrader'daki strateji test cihazında deniyorum.

Siparişleri şu şekilde açıyorum:

   RefreshRates();
   switch (send)
      {
       case 1 : ticked = OrderSend ( Symbol (), OP_BUY, lot, Ask, 4 , NormalizeDouble (Bid-SL* Point , Digits ), NormalizeDouble (Ask+TP* Point , Digits ), "Buy_" , magik, 0 , clrBlue ); break ;
       case 2 : ticked = OrderSend ( Symbol (), OP_SELL, lot, Bid, 4 , NormalizeDouble (Ask+SL* Point , Digits ), NormalizeDouble (Bid-TP* Point , Digits ), "Sell_" , magik, 0 , clrRed ); break ;
       default : ticked = 0 ;
      }



 
nr72 :

Merhaba, EA neden açılıyor... ve siparişler genel olarak fiyatın üzerinde mi açılıyor? EA'yı Metatrader'daki strateji test cihazında deniyorum.

Siparişleri şu şekilde açıyorum:



Satın Al, Sor'da açılır. Görselleştirme tablosunda F8'e basın, "Genel" sekmesinde "Sorma satırını göster" onay kutusunu işaretleyin. Tüm sorular kendiliğinden kaybolacaktır.
 
artmedia70 :
Satın Al, Sor'da açılır. Görselleştirme tablosunda F8'e basın, "Genel" sekmesinde "Sorma satırını göster" onay kutusunu işaretleyin. Tüm sorular kendiliğinden kaybolacaktır.


Teşekkür ederim! Şimdi anladım...
 
alexey1979621 :
Merhaba! Hindiyi baykuşa bağlayamam, bilgili insanlara yardım edemem.
Euro çizgisi (yeşil) pound çizgisini (açık kahverengi) yukarıdan aşağıya doğru keser ve Euro poundunu satmak için bir emir açar. Sterlin euro çizgisini aşağıdan yukarıya geçerse, euro sterlini satın alırız.
Günlüğe göstergeyi görmediğini yazıyorum.
Ekli Uzman Danışman ve göstergedir.

Şimdiden teşekkürler.


Geri derlemeyi yaymanızı tavsiye etmiyorum. Banyodan biraz önce
 

1. Söylesene , grafiğin sol üst köşesinde bulunan hızlı işlem panelini programlı olarak daraltmak mümkün mü?

2. Hızlı ticareti programlı olarak devre dışı bırakmak mümkün müdür?