[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 64

 
HoBu4ek >> :
Lütfen bana danışmanın aynı anda birkaç enstrüman için nasıl sipariş açmasını sağlayacağımı söyle? Şimdiden teşekkürler!

Aynı anda çalışmayacaktır, çünkü danışman sadece bir enstrümanda emir açabilir, bundan sonra alım satım işlemi tamamlanana kadar beklemeniz gerekir (ve her zaman başarılı ve her zaman hızlı değildir) ve alım satım akışı diğer emirler için serbest bırakılır.

 
Drugoy писал(а) >>

Beyler, söyleyin bana, lütfen, bir acemi! MQl4BookRussian.chm öğreticisini (yazar Sergey Kovalev) indirdim, sorun şu ki bu formattan yazdırmak çok beceriksiz. Bu metni kopyalayarak doc formatına aktarmaya çalıştım - resimler kayboluyor. Söylesene, bu ders kitabı baskıya uygun bir formatta mı (bir monitörden okumak - gözleriniz yoruluyor)?

Öğreticinin çevrimiçi sürümünü doğrudan siteden deneyin - https://book.mql4.com/ru/ . Ve istediğiniz gibi sorunsuz bir şekilde doktora aktarmanız mümkün olacaktır.

 
Reshetov >> :

Aynı anda çalışmayacaktır, çünkü danışman sadece bir enstrümanda emir açabilir, bundan sonra alım satım işlemi tamamlanana kadar beklemeniz gerekir (ve her zaman başarılı ve her zaman hızlı değildir) ve alım satım akışı diğer emirler için serbest bırakılır.

Ticaret akışında benim için her şey açık, ancak minimum aralıkla 3 enstrümanda ardışık olarak nasıl anlaşmalar açabilirim (danışmanın algoritmasına göre, açılış aynı anda üç para biriminde belirli bir saniyede başlamalı)?? Zor değilse, örnek olarak bir kod parçacığı yayınlayabilir misiniz? Çok minnettar olacağım!

 
Dimoncheg >> :

int start()
  {
  if (OrdersTotal() == 0 
  && TimeDayOfWeek(TimeCurrent()) == 5
  && TimeHour(TimeCurrent()) == 12
  && TimeMinute(TimeCurrent()) == 30
  && TimeSeconds(TimeCurrent()) >= 00)
  {
  Alert("Тра ляля");  
  OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"sell",999999,0,Red);
  }
   

Kimse size siparişin neden burada açılmadığını söylemeyecek mi? Bunu neden düşünemedim?

Hepsi kodsa, derlenmez bile. Lot Değiştirme yerine bir sayı varsa, EA harika çalışıyor.

 
HoBu4ek >> :

Ticaret akışında benim için her şey açık, ancak minimum aralıkla 3 enstrümanda ardışık olarak nasıl işlem açabilirim (danışmanın algoritmasına göre, açılış aynı anda üç para biriminde belirli bir saniyede başlamalı)?? Zor değilse, örnek olarak bir kod parçacığı yayınlayabilir misiniz? Çok minnettar olacağım!

Anladığım kadarıyla farklı enstrümanlar için 3 sipariş açmanız yeterli mi? Örneğin neden bir bayrak değişkeni yapmıyorsunuz?

Global değişkenlerde yarattığımız

int flag=0;
string Symb;

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

Daha ileri

int start()
{
if (условие открытия)
{flag=1;}

if (flag==1)
{
Symb="EURUSD";
OrderSend(Symb,...)///Открываем, переносим флаг во 2 состояние для открытия след ордера и 
flag=2; ///выходим тк больше мы ни чего не можем сделать
return(0);
}

if (flag==2)
{
Symb="AUDUSD";
OrderSend(Symb,...)
flag=3;
return(0);
}

if (flag==3)
{
Symb="USDJPY";
OrderSend(Symb,...)
flag=0;//Возвращаем флаг в начальное состояние..
return(0);
}
return(0);}


Bir açılış denetimi eklemek kötü olmaz ve yalnızca denetim başarıyla geçtikten sonra bayrağı hareket ettirin.

 
Inzer >> :

Hepsi kodsa, derlenmez bile. Lot Değiştirme yerine bir sayı varsa, EA harika çalışıyor.


Lot veri türünü kontrol edin. Çift olmalı.

 
TheXpert >> :

Hepsi bir arada. Özellikle şartlara girmedim ama ikinci versiyonda hiç kesişme yok gibi.

Ve bir şey daha - OrderSend işlevi bir int türü bilet döndürür, bu nedenle aşağıdaki gibi başarı olup olmadığını kontrol etmek doğrudur:

Sizin durumunuzda, yanlışlığı kontrol etmeniz gerekir:

______

Evet, başkalarını bilmiyorum ama benim için “uzmanlar” kelimesi bir şekilde alaycı geliyor. Belki de bu yüzden bu kadar uzun süre cevap alamadın? ;)

Merhaba!!!!!!!!!!!!!!

Evet, dediğin gibi ........ öyle deme, öyle deme ..... Uzmanlar uzmanların kısaltması olsa da (bilgi sahibi kişiler, öğretmenler, tabiri caizse).

Umurumda değil ...... Böyle bir itirazla, sadece olumlu ve kibar demek istedim ........

Neyse........

Bu konunun en başında Masha'yı sordum. Aldığım cevaplar çok mantıklıydı. Şimdi tekrar ona döndü.

Bir fikir geldi...

 int start ( )
   {
//----
     double MA_0 = iMA ( NULL , 0 , pMA , pSh , mode , price , 0 ) ;
     double MA_1 = iMA ( NULL , 0 , pMA , pSh , mode , price , 1 ) ;
        
     if ( MA_1 < Open [ 1 ] & & MA_0 > Open [ 0 ] )
     if ( CheckOrders ( OP_SELL ) ) //продажа
       {
       if ( ! OrderSend ( Symbol ( ) , OP_BUY , Lots , Ask , 3 , 0 , 0 , NULL , MagicNumber ) )
         Print ( "Не открыт ордер Buy. Ошибка №" , GetLastError ( ) ) ; 
       }
       
     if ( MA_1 > Open [ 1 ] & & MA_0 < Open [ 0 ] )
     if ( CheckOrders ( OP_BUY ) ) //покупка
       {
       if ( ! OrderSend ( Symbol ( ) , OP_SELL , Lots , Bid , 3 , 0 , 0 , NULL , MagicNumber ) )
         Print ( "Не открыт ордер Sell. Ошибка №" , GetLastError ( ) ) ; 
       }
//----
   return ( 0 ) ;
   }

Ticaret koşullarını biraz değiştirmeye karar verdim. AMA işe yaramadı((((((((((((((((((((((((((((((((((((((((((((((((((())(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((

sıfır barda açılış fiyatı) Kontrol ederken hata verdi, orijinal versiyona (yukarıda alıntı yaptığım) dönmek zorunda kaldım.

Bana açıklandığı gibi, open[1], open adında ve [1] indeksli bir dizi hücresine yapılan bir çağrıdır. Bütün bunlar iyi ...... ama sadece 1 (2.0) barda açılış fiyatına ihtiyacınız var

Çaydanlığa söyle .....))))))))) .....

 
Bekleyen bir siparişin tetiklendiğini (örneğin satın alarak) nasıl takip edebilirim?Geçmişte id ile aramak daha mı iyi yoksa daha kısa bir seçenek var mı?
 
fima_ >> :
Bekleyen bir siparişin işe yarayıp yaramadığını nasıl takip edebilirim (örneğin, satın alarak)?Geçmişte id ile aramak daha mı iyi yoksa daha kısa bir seçenek var mı?

şöyle deneyebilirsin

OrderSelect(1, SELECT_BY_POS)

if(OrderOpenTime()!=0) 

{

///необходимая операция

}

Ancak bu, yalnızca 1 siparişiniz varsa bir seçenektir!

 
Bazı finansal araçların bir noktasının değerini belirleme işlevi nedir? Örneğin, EURUSD için 0.0001 değeri 10$'dır (1 lot alım satım yaparken)