[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 529

 
001 :
Söylesene, plz, "doğada" test sırasında parametreleri optimize eden bir otomatik optimize edici var mı? Fikri test etmem gerekiyor.
Daha da yakını var, hemen web sitemizde.
Bir de arama diye bir şey var, işte o zaman aranılan kişinin çağrıldığı kelimeler arama motoruna ekleniyor.
http://www.google.ru/search?as_sitesearch=mql4.com&as_q= otomatik optimize edici
 

Bekleyen bir siparişte saat 23:00'te otomatik olarak silinmesini Expert Advisor'da nasıl doğru bir şekilde belirteceğimi söyler misiniz?

Bu seçenek bir hata veriyor:

   datetime Tim= D'23:00' ;
   int     Cur_Hour= Hour ();             // Серверное время в часах   
   double Cur_Min = Minute ();           // Серверное время в минутах   
   double Cur_time= Cur_Hour + Cur_Min/ 100 ; // Текущее время   
   if (Cur_time>= 20.00 &&Cur_time<= 20.00 &&order==false)
  {

ticket= OrderSend ( Symbol (),OP_BUYLIMIT, 0.1 ,Bid-Spread, 2 ,Bid-Spread-SL,Bid, Tim);
 
Andreev :

Bekleyen bir siparişte saat 23:00'te otomatik olarak silinmesini Expert Advisor'da nasıl doğru bir şekilde belirteceğimi söyler misiniz?

Bu seçenek bir hata veriyor:


 int Tim= iTime ( NULL , Period_D1, 0 )+ 23 * 60 * 60 ;
ticket= OrderSend ( Symbol (),OP_BUYLIMIT, 0.1 ,Bid-Spread, 2 ,Bid-Spread-SL,Bid, Tim);
Bunun gibi bir şey
 
dmmikl86 :

genel olarak acemi değil gibi görünüyor, birkaç yıldır programlama yapıyorum, göstergeyi başka bir dilden yeniden yazıyorum ve yeniden çizim ile karşılaştım. lütfen düzeltin ve bana hatanın nerede olduğunu gösterin???

işte gösterge kodu:


Göstergeyi dosya olarak yüklemek daha iyiydi. Kimse parçaları tek bir dosyaya yapıştırmayacak
 
Andreev :

Bu seçenek bir hata veriyor:

 int Tim;
   int     Cur_Hour= Hour ();             // Серверное время в часах   
   double Cur_Min = Minute ();           // Серверное время в минутах   
   double Cur_time= Cur_Hour + Cur_Min/ 100 ; // Текущее время   
   if (Cur_time>= 20.00 &&Cur_time<= 20.00 &&order==false)
  { Tim= TimeCurrent ( )+ ( 23 -Cur_time)* 3600

ticket= OrderSend ( Symbol (),OP_BUYLIMIT, 0.1 ,Bid-Spread, 2 ,Bid-Spread-SL,Bid, Tim);


Bunun gibi bir şey.
 
Vinin :

Bunun gibi bir şey

Bir hata mesajı verir:


2011.07.19 18:56:15 2011.07.18 20:00 EURUSD İade,M1: Sipariş Gönderme hatası 4062
2011.07.19 18:56:15 2011.07.18 20:00 Dönüş: OrderSend işlevi için yorum parametresi bir dize olmalıdır

 
alexshell :

Bunun gibi bir şey.

Nedense aynı hatayı veriyor. Tim fonksiyonunu siparişten kaldırırsam çalışıyor ama 23.00'dan sonra bazı fırsatlar açılıyor. Sınırlamak için ne düşünebilirsiniz?
 
Andreev :

Bir hata mesajı verir:


2011.07.19 18:56:15 2011.07.18 20:00 EURUSD İade,M1: Sipariş Gönderme hatası 4062
2011.07.19 18:56:15 2011.07.18 20:00 Dönüş: OrderSend işlevi için yorum parametresi bir dize olmalıdır


Üzgünüm, sürümünüzü kontrol etmeden düzenledim

 ticket= OrderSend ( Symbol (),OP_BUYLIMIT, 0.1 ,Bid-Spread, 2 ,Bid-Spread-SL,Bid, "" , 0 ,Tim, CLR_NONE );
 
Vinin :


Üzgünüm, sürümünüzü kontrol etmeden düzenledim


Çok teşekkürler!!! İşler :)
 

İyi akşamlar!! Uyarı işlevi hakkında bir sorum var. İşte büyük bir orta parçası olmayan ve birçok h

 //+------------------------------------------------------------------+
//|                                                    пробныйй .mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"
extern double stoploss= 0 ; extern double takeprofit= 20 ; extern int otstup= 20 ; extern datetime expiration= 0 ;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
  
  
   int tiket,tikett; double volume= 0.1 ; int i= 0 ,R1= 0 ,R2= 0 ,A= 1 ; double price; int stsBUY; int stsSELL; double Price; int C= 0 ; datetime wremjapomnim;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  { int X,Y; double price= NormalizeDouble ((Ask+Bid)/ 2 , 4 ) ; Alert ( "price" , price); Alert ( "otstup*Point" ,otstup* Point );
//----
Alert ( "Price +otstup*Point" ,Price +otstup* Point ); Alert ( "Price+takeprofit*Point+otstup*Point" , Price+takeprofit* Point +otstup* Point );
tiket= OrderSend ( Symbol (), OP_BUYSTOP,  volume*A, Price +otstup* Point , Point * 3 , R1, Price+takeprofit* Point +otstup* Point , "OP_BUYSTOP" , 1000 ,  expiration, Red ); 
   Alert ( "OP_BUYSTOP" , GetLastError ( ));
   Alert ( "Price -otstup*Point" ,Price -otstup* Point ); Alert ( "Price-takeprofit*Point-otstup*Point" , Price-takeprofit* Point -otstup* Point ); 
tikett= OrderSend ( Symbol (), OP_SELLSTOP,  volume*A, Price -otstup* Point , Point * 3 ,R2, Price-takeprofit* Point -otstup* Point , "OP_SELLSTOP" , 2000 ,  expiration, C'0,128,255' );
     Alert ( "OP_SELLSTOP" , GetLastError ( )); 
   
//----

// Здесь код для закрытия всех открытых позиций (тоже в цикле)
         for ( i= 0 ; i< OrdersTotal (); i++) {
           OrderSelect (i, SELECT_BY_POS );
               if (   OrderType ( )==OP_BUY && OrderType ( )==OP_SELL ){
                           OrderClose ( OrderTicket ( ), OrderLots ( ), OrderClosePrice ( ) , 0 , CLR_NONE );
   Alert ( "OrderClose-vse-2" ,   GetLastError ( ) ); C= 0 ;A= 1 ; }} 
         // Здесь код для удаления всех отложенных ордеров (также в цикле)
         for ( i= 0 ; i< OrdersTotal (); i++) {
         OrderSelect (i, SELECT_BY_POS );
           if (   OrderType ( )==OP_BUYSTOP && OrderType ( )==OP_SELLSTOP ){ 
             OrderDelete ( OrderTicket ( )) ; Alert ( "OrderDelete-vse-2" ,   GetLastError ( ) ); }}    
        
   return ( 0 );
  }
//+------------------------------------------------------------------+
Uyarı, fiyat Uyarısını ( "fiyat" , fiyat); 1.4825 diyelim ve yazıyor, yani. değişken normaldir. Sıradaki ne!!

Uyarı ( "Fiyat +otstup*Puan" ,Fiyat +otstup* Puan ); Bu Fiyat + girinti (20pp) * çarpı (0,001) toplam-1,4805 olmalıdır (!!!!), ancak geçerli 0,002 yazıyor

vb. Burada: Nasıl anlaşılır? Formüllerdeki sözdizimi nedir?

Neden: