Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 2

 
Vladimir Karputov :

Dediğiniz gibi derleyici yemin ediyor bu seçeneğe getirdim.

{
   Ticket= OrderSend ( NULL , OP_BUY ,Lot, Ask ,slippage, 0 , 0 , NULL ,magic, 0 ,Blue);
   if (!Ticket> 0 ) Print ( GetLastError ());
   else
   {
     if ( OrderSelect (Ticket, SELECT_BY_TICKET , MODE_TRADES )== true )
     if (( OrderMagicNumber ()==magic) && ( OrderSymbol ()== Symbol ()))
    {
     TP= NormalizeDouble ( Bid +TakeProfit* Point , Digits );
     bool modify= OrderModify ( OrderTicket (), OrderOpenPrice (),TP, 0 , 0 );
       return ;
    }
   }

Çalışmıyor.

 
Nickolay72 :

Dediğiniz gibi derleyici yemin ediyor bu seçeneğe getirdim.

{
   Ticket= OrderSend ( NULL , OP_BUY ,Lot, Ask ,slippage, 0 , 0 , NULL ,magic, 0 ,Blue);
   if (!Ticket> 0 ) Print ( GetLastError ());
   else
   {
     if ( OrderSelect (Ticket, SELECT_BY_TICKET , MODE_TRADES )== true )
     if (( OrderMagicNumber ()==magic) && ( OrderSymbol ()== Symbol ()))
    {
     TP= NormalizeDouble ( Bid +TakeProfit* Point , Digits );
     bool modify= OrderModify ( OrderTicket (), OrderOpenPrice (),TP, 0 , 0 );
       return ;
    }
   }

Çalışmıyor.

Şimdi kodunuza bir göz atalım:

if ( ! Ticket > 0 ) Print ( GetLastError ()) --- bilet bir tamsayıdır, "2354865" gibi bir şeydir. Şimdi soru şudur: bir tamsayı ( ! 2354865 ) olamaz mı Bir tamsayı "> 0"dan büyük veya "< 0"dan küçük olabilir. Bu bool değeri yanlış/doğru olabilir ( ! )

Daha sonra, işte bu yapı: if ( OrderSelect ( Ticket , SELECT_BY_TICKET , MODE_TRADES )== true ) --- parametreleri bilete göre yineler ve belirli bir bilete bakıyorsanız, ikisini de kontrol etmenin bir anlamı yoktur. onun büyüsü veya sembolü, yani bu açıkça gereksiz: if (( OrderMagicNumber ()==magic) && ( OrderSymbol ()== Symbol ()))

Ve son şey: matematiksel problemlerin sırasını açıkça belirtmek için bu tür yapıları parantez içinde almak daha iyidir: NormalizeDouble ( Bid + ( TakeProfit* Point ) , Digits );
 
Vitaly Muzichenko :


Ve son olarak: matematiksel problemlerin sırasını açıkça belirtmek için bu tür yapıları parantez içinde almak daha iyidir: NormalizeDouble ( Bid + ( TakeProfit* Point ) , Digits );

Hayır, parantez olmadan da mümkündür. Bu, miktarın çarpılması gerektiğinde, parantezler gereklidir.

 
poman :

D1 periyodu ile 0 bar'lık açılma zamanının değerini alabilir + saniye sayısını ekleyebilir,

durumda, ilk satırdaki alınan zamanla şimdiki zamanı karşılaştırın

bekleyen bir siparişe, siparişin ömrü boyunca birkaç saniye koyabilirsiniz.

Data_1= iTime ( Symbol (), PERIOD_D1 , 0 )+ 86400 ;   //время жизни ордера


İpucu için teşekkürler!) Yardımcı oldu)
 

Kod konusunda yardım edin, danışman tüm çubuklardan geçer, son 200 çubuktan nasıl geçilir! teşekkürler

int   i, k= iBars ( Symbol (), 0 );
for (i= 1 ; i<k; i++)
 

Sağlayıcı_Sinyal

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Yeni Başlayanlardan Sorular

Sağlayıcı_Sinyal , 2016.11.09 18:38

EA'daki tüm siparişler Cuma akşamı nasıl kapatılır? Hafta sonu gitmemek için.

DayOfWeek() işlevini buldum.

deneme yazabilirsin

if ( DayOfWeek () == 5 )
{
//
}

ama zamanında yazmak için ne çek. Örneğin, 22:00 ne olurdu?


 
Vladimir Karputov :

Sağlayıcı_Sinyal

ama zamanında yazmak için ne çek. Örneğin, 22:00 ne olurdu?
extern int St_Hour   = 22 ;

if ( Hour ()==St_Hour)
 
Aibek Mugiynov :

Kod konusunda yardım edin, danışman tüm çubuklardan geçer, son 200 çubuktan nasıl geçilir! teşekkürler

int   i, k= iBars ( Symbol (), 0 );
for (i= 1 ; i<k; i++)
for (i= 1 ; i< 200 ; i++)
 

Merhaba, yardım edin.

Üç çubukta arabellek doldurulmazsa, arabelleği doldururum.


     int BarCount=3;
    BER=true;
   for(int il=1;il<=BarCount;il++)
     {
      if(BufferPointUp[il]!= EMPTY_VALUE){BER=false;break;}
     }
     if(BER) BufferPointUp[i]=high[i];

Tüm çubuklarda ayrım gözetmeksizin doldurulmuş.

Ama yaparsam sorun olmaz

if (BufferPointUp[i+ 1 ]== EMPTY_VALUE &&BufferPointUp[i+ 2 ]== EMPTY_VALUE &&BufferPointUp[i+ 3 ]== EMPTY_VALUE )BufferPointUp[i]=high[i];

Bu kontrol bir döngüde nasıl yapılır?

 
mila.com :
extern int St_Hour   = 22 ;

if ( Hour ()==St_Hour)
Sayesinde