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

 
Leonid123456 :

bu danışman için sonuncusu)) Genel olarak çalıştı. sonuncusu var))) Testler için Uzman Danışman... Yani, birkaç para birimi için çalışmak ve manuel ticaret (birlikte) henüz öngörülmemiştir..

İlerisi için önerebilir misiniz daha doğru olduğu için faydalı olur...

Tekrar teşekkürler.

Yine ters sırada arama yaparak tam olarak bizim emrimizi arıyoruz, gerekirse piyasa emrini bekleyen emirden ayırıyoruz, tüm kriterleri (sembol, büyü, tip) karşılayan ilk emir genellikle en yeni olanıdır. . Ama açılış saatine bakmak da daha doğru olur ki kesinlikle daha genç olmasın.

Test cihazında, genel olarak, hemen seçebilirsiniz

 OrderSelect ( OrdersTotal ()-1,SELECT_BY_POS))

son açık siparişle çalışmak için, sistem gecikmesizse, başka birine gerek yoktur, her şey yolunda gidecektir. Ama aynı anda hem mevduat hem de piyasa mevduatı varsa, gerçek çalışma bir yana, bu şekilde çalışmayacaktır.

 
Leonid123456 :

bu danışman için sonuncusu)) Genel olarak çalıştı. sonuncusu var))) Testler için Uzman Danışman... Yani, birkaç para birimi için çalışmak ve manuel ticaret (birlikte) henüz öngörülmemiştir..

İlerisi için önerebilir misiniz daha doğru olduğu için faydalı olur...

Tekrar teşekkürler.

Fazla yazmamakta fayda var. Neden iç içe döngülerle karşılaştınız? Sonuçta, ihtiyacınız olan her şey tek bir sipariş seçimi ile tek bir döngüde yapılabilir.

 if (New_Bar)
{
OrderSend ( Symbol (),OP_BUYSTOP,Lotpers,Ask+step, 100 , 0 , 0 , NULL ,MagicNumber, 0 ,DarkTurquoise);
OrderSend ( Symbol (),OP_SELLSTOP,Lotpers,Bid-step, 100 , 0 , 0 , NULL ,MagicNumber, 0 ,Yellow);
}

 for ( int b= 0 ; b< OrdersTotal (); b++)
  {
   if ( OrderSelect (b, SELECT_BY_POS) && OrderSymbol() == _Symbol && OrderMagicNumber() == MagicNumber)
    {
     lastlot = OrderLots();
   // Здесь надо в переменную засунуть тикет выбранного ордера
     if (OrderType() == OP_BUYSTOP||OrderType() == OP_BUY)
      orderprisebuy = OrderOpenPrice();
   
       if (OrderType() == OP_SELLSTOP||OrderType() == OP_SELL)
       orderprisecell = OrderOpenPrice(); 
         
        SL_VirtualCell = orderprisecell+step1* Point ;
        SL_VirtualBuy = orderprisebuy-step1* Point ;

                           /*  if(Mas_Tip[0] >0|| Mas_Tip[1] >0)
                                               {
if (New_Bar&&/*valsar1<Ask &&  osma0>0&&osma1<0    /*&& Volume[1]>VolumeFiltr)

OrderSend(Symbol(),OP_BUY,NormalizeDouble( lastlot*Marti,2),Ask,100,0,0,NULL,MagicNumber,0,DarkTurquoise);

if (New_Bar&& /*valsar1>Bid && osma0<0&&osma1>0    /* && Volume[1]>VolumeFiltr)

OrderSend(Symbol(),OP_SELL,NormalizeDouble( lastlot*Marti,2),Bid,100,0,0,NULL,MagicNumber,0,Yellow);       
         
}*/

CheckEvents(MagicNumber); // Вот здесь теряется выбранный ордер при переборе ордеров в вызванной функции

/*if ( eventSellClosed_SL >0|| eventBuyClosed_SL >0)
{        as();
                

 }
  /* ///   if ( eventBuyClosed_TP > 0 )
   //     Alert( Symbol(), ": Buy-позиция закрыта по ТейкПрофиту!" );

   */
     if (eventBuyStopOpened > 0 )
     {
       OrderSend ( Symbol (),OP_SELLSTOP, NormalizeDouble ( Lotpers, 5 ),orderprisecell, 0 , 0 , 0 , NULL ,MagicNumber, 0 , clrKhaki ); 
 
       if (OrderType() == OP_SELL)
       OrderClose(OrderTicket(),OrderLots(), Ask, 3 , clrIvory );  // Здесь может быть чужой OrderTicket( ) Возможны и другие аналогичные потери
     } //завершение блока if(eventBuyStopOpened > 0)
 ///

   if (eventSellStopOpened > 0 )
  {
   OrderSend ( Symbol (),OP_BUYSTOP, NormalizeDouble ( Lotpers, 5 ),orderprisebuy, 0 , 0 , 0 , NULL ,MagicNumber, 0 , clrPlum );
 
   if (OrderType() == OP_BUY)
    OrderClose(OrderTicket(),OrderLots(), Bid, 3 , clrIvory );  
  } //завершение блока if(eventSellStopOpened > 0)
 } //завершение блока if(OrderSelect(b
} //завершение блока for(int b=0


Çok satırlı yorumların olduğu yeri çözemedim. Derleme hatası olabilir gibi geldi bana... Koddaki yorumlarıma dikkat edin.

 
Zhunko :
Anlam?
yardım için teşekkürler!
 
AlexeyVik :

Fazla yazmamak daha iyidir. Neden iç içe döngüler tökezledi? Sonuçta, ihtiyacınız olan her şey tek bir sipariş seçimi ile tek bir döngüde yapılabilir.


Çok satırlı yorumların nerede olduğunu anlayamadım. Derleme hatası olabilir gibi geldi bana... Koddaki yorumlarıma dikkat edin.

Hata yok, ancak OrderSend işlevini kontrol etmek için öneriler var. SiparişKapat. ve SiparişSil

'OrderSend' dönüş değeri kontrol edilmelidir .

Yorumlar için teşekkürler.

 

" ArrayMinimum " kullanarak dizideki minimum "ZigZag" göstergesini arıyorum.

Arama, boş değerleri yok sayacak şekilde ayarlanabilir mi, yoksa arama yapmak için bir döngü kullanmak gerekli mi?

 
Nasıl kodlanacağını anlamıyorum. Son pozisyonun kârsız olması durumunda danışmanın belirli bir süre beklemesi gerekir. Herhangi bir fikir?
 
Forexman77 :

" ArrayMinimum" kullanarak dizideki minimum "ZigZag" göstergesini arıyorum.

Arama, boş değerleri yok sayacak şekilde ayarlanabilir mi, yoksa arama yapmak için bir döngü kullanmak gerekli mi?

Yapılacak en iyi şey bir döngü kullanmaktır
 
Vinin :
Yapılacak en iyi şey bir döngü kullanmaktır
Teşekkür ederim!
 

Yüksek ve düşük arasındaki en derin düzeltme nasıl bulunur? Maksimum ve minimumu biliyoruz, iHighest'i kullanmanın bir sorun olmadığını ve

iEn düşük. iHighest ve iLowest'i kullanırsanız, bazen yakın uç noktalar olabilir, çünkü resimde olduğu gibi bu her zaman olmaz. Genel olarak, ABC oluşumunun tanımlanması gereklidir.

ZigZag'ı bu duruma uyarlamaya çalıştım, yanlış bir sonuç çıktı.

e.

 

Forexman77 :

Yüksek ve düşük arasındaki en derin düzeltme nasıl bulunur? Maksimum ve minimumu biliyoruz, iHighest'i kullanmanın bir sorun olmadığını ve

iEn düşük. iHighest ve iLowest'i kullanırsanız, bazen yakın uç noktalar olabilir, çünkü resimde olduğu gibi bu her zaman olmaz. Genel olarak, ABC oluşumunun tanımlanması gereklidir.

ZigZag'ı bu duruma uyarlamaya çalıştım, yanlış bir sonuç çıktı.

Ne kadar derine bakmanız gerektiğini belirlerseniz her şey kolay olacaktır. iLowest yerine CopyLow ve ArrayMinimum () kullanabilirsiniz