[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 150

 

daha doğrusu, pozisyon açmayı tamamen durdurdu ve kütükte bir hata oluştu 138

 

ve yine de bu ipucu için teşekkürler - Aşağıdaki kod satırı olmadan kodu biraz ve gerçekten düzelttim, danışman her tikte pozlar açtı

ve kod satırını ekledikten sonra = danışman, planladığım gibi duruma göre tam olarak bir pozisyon açmaya başladı.

 int start()
   {
// начало открытия ордеров 
   if ( OrdersTotal ()> 0 ) return ( 0 );
 
first_may :

KOBİ - bu nedir?

o_O - CME
 
BeerGod :
Anladığım kadarıyla, DC'nin entrikaları bu oldu, bu yüzden herhangi bir şeyi test etmek sorunluydu.
DC, geçmiş veri sunucusundan indirilen alıntılarla ilgili değildir.
 
DC, geçmiş veri sunucusundan indirilen alıntılarla ilgili değildir.

Şey, sanki her şey “teoride” tek bir sunucudan yüklenmiş gibi ... Ayrıca cari hesabın kaldıracının testçiyi hiçbir şekilde etkilemediğini düşündüm ... ancak, bazı DC'ler için bu tür sokak büyüsü oldukça zaman alıyor. yer ... Belki bazı DC'ler ile bir şekilde tırnak işaretleri ile oynayabilir? (her ne kadar bu muhtemelen herkes için bir sorun olsa da)
 
alex12 :

ve yine de bu ipucu için teşekkürler - Aşağıdaki kod satırı olmadan kodu biraz ve gerçekten düzelttim, danışman her tikte pozlar açtı

ve kod satırını ekledikten sonra = danışman, planladığım gibi duruma göre tam olarak bir pozisyon açmaya başladı.

Şey... Planlanana sadece görünüşte uygunluk. Böyle bir yapı, ne sembolü, ne düzen türünü ne de büyüsünü hesaba katmaz. Yani, hesapta başka bir sembol için başka bir Uzman Danışman çalışıyorsa, bu çalışmaz - sonuçta zaten bir pozisyon var. Yalnızca bu danışman çalışıyorsa, ancak bir Satış pozisyonu varsa, ancak bir Al açmanız gerekiyor - onu açmayacak - pozisyon zaten orada ve hala birçok çakıl taşı bulabilirsiniz - örneğin, manuel olarak bir pozisyon açtınız veya bir gecikme ayarlayın - işte bu, danışman kalktı ...

Özel olarak kontrol etmeniz gerekir: Böyle ve böyle bir sihir ve böyle ve böyle bir tür ile böyle ve böyle bir sembol için zaten açık bir pozisyon var mı? Değilse, açın.

 
artmedia70 :

Şey... Planlanana sadece görünüşte uygunluk. Böyle bir yapı, ne sembolü, ne düzen türünü ne de büyüsünü hesaba katmaz. Yani, hesapta başka bir sembol için başka bir Uzman Danışman çalışıyorsa, bu çalışmaz - sonuçta zaten bir pozisyon var. Yalnızca bu danışman çalışıyorsa, ancak bir Satış pozisyonu varsa, ancak bir Al açmanız gerekiyor - onu açmayacak - pozisyon zaten orada ve hala birçok çakıl taşı bulabilirsiniz - örneğin, manuel olarak bir pozisyon açtınız veya bir gecikme ayarlayın - işte bu, danışman kalktı ...

Özel olarak kontrol etmeniz gerekir: Böyle ve böyle bir sihir ve böyle ve böyle bir tür ile böyle ve böyle bir sembol için zaten açık bir pozisyon var mı? Değilse, açın.

Teşekkürler Evet, bu doğru, çünkü bu danışman sadece hareketin devamı için alımları açar ve
sadece alış pozisyonu al ile kapatıldıktan sonra, örneğin alış pozisyonu açıksa ve fiyat düşerse
belirli bir seviyede, daha sonra satın almak için bir poz daha açılmaz (ve TS durumuna göre açılmış olmalıdır).
Gönder emrinin satırlarında - fiyat bölümünde, belirli bir fiyat kaydettim - genel olarak aşağıdaki koda bakın.
Önümdeki görev danışmana doğru kodu girmek = böylece satın alma pozunu açtıktan sonra,
fiyat önceden belirlenmiş bir seviyeye düşerse, başka bir satın alma pozisyonu açın.
fiyat kodda belirtilen seviyeyi geçmedi - ne kadar olursa olsun her zaman bir satın alma pozisyonu açın

Şu anda açık pozisyonlar var.

 extern double Lot= 1 ;

int g= 20 ; //тейкпрофит

double price[ 10 ];   // Заданный уровень 

//-----------------------
 
int init()
  {
  
double price[ 10 ];   // объявляем массив из 5 элементов  
           
price[ 0 ] = 1.2100 ; // обращаемся к первому элементу массива и 
                   // присваиваем ему цену. Обратите внимание 
                   // на то, что индекс первого элемента 
                   // начинается с 0. Это важная особенность,
                   // к которой нужно привыкнуть.   
 
price[ 1 ] = 1.2200 ;   // обращаемся ко второму элементу 
price[ 2 ] = 1.2300 ;   // и так далее 
price[ 3 ] = 1.2400 ; 
price[ 4 ] = 1.2500 ;
price[ 5 ] = 1.2600 ; 
price[ 6 ] = 1.2700 ;  
price[ 7 ] = 1.2800 ; 
price[ 8 ] = 1.2900 ;
price[ 9 ] = 1.3000 ;  

   return ( 0 );
  }
//---------------
int start()
   {
// начало открытия ордеров 
   if ( OrdersTotal ()> 0 ) return ( 0 );
   
   if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==False) //проверка наличия откр.поз
   price[ 0 ]=Ask;
   {
   OrderSend ( Symbol (),OP_BUY,Lot, 1.2100 , 10 , 0 ,Ask+g* Point , "My order #" , 11 );
   }
   if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==True) //проверка наличия откр.поз
   price[ 1 ]=Ask;
   {
   OrderSend ( Symbol (),OP_BUY,Lot, 1.2200 , 10 , 0 ,Ask+g* Point , "My order #" , 12 );
   }
   if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==True) //проверка наличия откр.поз
   price[ 2 ]=Ask;
   {
   OrderSend ( Symbol (),OP_BUY,Lot, 1.2300 , 10 , 0 ,Ask+g* Point , "My order #" , 13 );
   }
   if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==True) //проверка наличия откр.поз
   price[ 3 ]=Ask;
   {
   OrderSend ( Symbol (),OP_BUY,Lot, 1.2400 , 10 , 0 ,Ask+g* Point , "My order #" , 14 );
   }
   if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==True) //проверка наличия откр.поз
   price[ 4 ]=Ask;
   {
   OrderSend ( Symbol (),OP_BUY,Lot, 1.2500 , 10 , 0 ,Ask+g* Point , "My order #" , 15 );
   }
   if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==True) //проверка наличия откр.поз
   price[ 5 ]=Ask;
   {
   OrderSend ( Symbol (),OP_BUY,Lot, 1.2600 , 10 , 0 ,Ask+g* Point , "My order #" , 16 );
   }
   if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==True) //проверка наличия откр.поз
   price[ 6 ]=Ask;
   {
   OrderSend ( Symbol (),OP_BUY,Lot, 1.2700 , 10 , 0 ,Ask+g* Point , "My order #" , 17 );
   }
   if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==True) //проверка наличия откр.поз
   price[ 7 ]=Ask;
   {
   OrderSend ( Symbol (),OP_BUY,Lot, 1.2800 , 10 , 0 ,Ask+g* Point , "My order #" , 18 );
   }
   if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==True) //проверка наличия откр.поз
   price[ 8 ]=Ask;
   {
   OrderSend ( Symbol (),OP_BUY,Lot, 1.2900 , 10 , 0 ,Ask+g* Point , "My order #" , 19 );
   }
   if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==True) //проверка наличия откр.поз
   price[ 9 ]=Ask;
   {
   OrderSend ( Symbol (),OP_BUY,Lot, 1.3000 , 10 , 0 ,Ask+g* Point , "My order #" , 20 );
   }
       return ( 0 );
  }
//+------------------------------------------------------------------+
 
Tünaydın. Kodumu optimize etmek istiyorum. Göstergeye üç arabellek eklendi. Sonra içlerinde uzun bir sinyal araması yapın, önce MA1[], ardından MA2[] ve MA3[]'de arama yapın. Neredeyse monoton bir çok kod ortaya çıkıyor, fark sadece üzerinde hesaplamaların yapıldığı arabellek adının rakamında. Bu konuyu toparlamak mümkün mü?
 
alex12 :
Evet, bu doğru, çünkü bu danışman sadece hareketin devamı için alımları açar ve
sadece pozu kapattıktan sonra al al al....
Açılış kaşlı ayracı { fiyat[...]=Sor; (aşağıya bakınız). if operatörü hakkında daha fazla bilgi edinin. if'den hemen sonra parantez yoksa, o zaman sadece bir eylemi işler (fiyatınız var[...]=Ask; var), birkaç eyleme ihtiyacınız varsa, if'den hemen sonra {...} içine alınmaları gerekir.
 if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==False) //проверка наличия откр.поз
   { 
      price[ 0 ]=Ask;
       OrderSend ( Symbol (),OP_BUY,Lot, 1.2100 , 10 , 0 ,Ask+g* Point , "My order #" , 11 );
   }
if ( OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES)==True) //проверка наличия откр.поз
   {
      price[ 1 ]=Ask;
       OrderSend ( Symbol (),OP_BUY,Lot, 1.2200 , 10 , 0 ,Ask+g* Point , "My order #" , 12 );
   }
 

Tünaydın.

2009'dan önce başlayan EURUSD m5/m15 için bir geçmişe ihtiyacınız var, herkes kendi geçmişini paylaşabilir mi? (yani, Uzman Danışmanlarınızda hata ayıkladığınız).

Çok minnettar kalırım.