Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
bool order= 0 ;
int ticket;
void OnTick ()
{
if (order== 0 )
{
double up= iIchimoku ( NULL , 5 , 9 , 26 , 52 , 3 , 0 );
double down= iIchimoku ( NULL , 5 , 9 , 26 , 52 , 4 , 0 );
if ( MathMax (up,down) < Bid )
int ticket= OrderSend ( NULL , 0 , 0.01 , Ask , 3 , Bid - 150 * Point , Bid + 100 * Point );
{
if ( ticket!= 1 )
{
order= 1 ;
}
}
}
}
Çifte bilet beyanınız.
int ticket;
void OnTick ()
{
if (order== 0 )
{
double up= iIchimoku ( NULL , 5 , 9 , 26 , 52 , 3 , 0 );
double down= iIchimoku ( NULL , 5 , 9 , 26 , 52 , 4 , 0 );
if ( MathMax (up,down) < Bid )
int ticket = OrderSend ( NULL , 0 , 0.01 , Ask , 3 , Bid - 150 * Point , Bid + 100 * Point );
{
if ( ticket!= 1 )
{
order= 1 ;
}
}
}
}
Bilet beyanı gizler ... falan filan? bakın ben insan derleyiciyim.
İkinci int'yi kaldırın .
Koydum
bool düzeni ve
int bilet
global değişkenlerde ve kodun geri kalanında OnTick'te, ancak şimdi hala herhangi bir giriş yapmıyor
Derlenmemiş, denenmemiş
{
double up = iIchimoku ( NULL , 5 , 9 , 26 , 52 , 3 , 0 ),
down = iIchimoku ( NULL , 5 , 9 , 26 , 52 , 4 , 0 );
static bool was_above = true ;
bool is_above = ( MathMax (up,down)< Bid );
if (!was_above && is_above && open_orders()< 1 )
{
if ( OrderSend ( NULL , 0 , 0.01 , Ask , 3 , Bid - 150 * Point , Bid + 100 * Point )< 0 )
{
printf ( "OrderSend() failed. Error code: %i" , GetLastError ());
}
}
was_above = is_above;
}
int open_orders()
{
int count = 0 ;
for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) // good habit to count down
{
if (! OrderSelect (i, SELECT_BY_POS )) continue ; // select the order
if ( OrderSymbol () != _Symbol ) continue ; // optional check for same symbol
if ( OrderMagicNumber ()!= magic_no) continue ; // optional check for magic number
if ( OrderType () < 2 ) count++; // 0 == OP_BUY and 1 == OP_SELL
}
return (count);
}
Marco: Yinelenen int'yi kaldırdım, ancak şimdi takas yapılmadı, eğer fiyat> ichimoku cloud ise 1 ticarete ihtiyacım var, bu kod ilk önce harikaydı, ancak eğer yeni ticaret oluşturmaya devam ettiyse
fiyat bulutun üzerindeydi, sadece komut dosyasının 1 ticaretten sonra duracağı şekilde kodlamak için yardıma ihtiyacım var.
Honest Knave: Kodunuzu denedim, az önce eksik olan magic_no'yu tanımladım, iyi çalışıyor, yeni ticareti bekliyor, fiyat tekrar buluta dokunuyor, sonraki projeler için gerçekten faydalı olacak, ancak
sadece 1º takasından sonra durmasına ihtiyacım var, ne yapmalıyım?
yardımlarınız için hepinize teşekkür ederim
int ticket;
void OnTick ()
{
if (order== 0 )
{
double up= iIchimoku ( NULL , 5 , 9 , 26 , 52 , 3 , 0 );
double down= iIchimoku ( NULL , 5 , 9 , 26 , 52 , 4 , 0 );
if ( MathMax (up,down) < Bid )
ticket= OrderSend ( NULL , 0 , 0.01 , Ask , 3 , Bid - 150 * Point , Bid + 100 * Point );
{
if ( ticket!= 1 )
{
order= 1 ;
}
}
}
}
Sorun bu.
int ticket;
void OnTick ()
{
if (order== 0 )
{
double up= iIchimoku ( NULL , 5 , 9 , 26 , 52 , 3 , 0 );
double down= iIchimoku ( NULL , 5 , 9 , 26 , 52 , 4 , 0 );
if ( MathMax (up,down) < Bid )
ticket= OrderSend ( NULL , 0 , 0.01 , Ask , 3 , Bid - 150 * Point , Bid + 100 * Point );
{
if ( ticket>- 1 )
{
order= 1 ;
}
}
}
}
Öyleyse bunu dene ve birkaç gönderi önce işaret ettim.
Ayrıca, OrderSend'in ya bilet numarasını döndürdüğünü ya da başarısız olursa -1 eksi bir olduğunu unutmayın.
Honest Knave: Kodunuzu denedim, az önce eksik olan magic_no'yu tanımladım, iyi çalışıyor, fiyat tekrar buluta dokunursa yeni ticareti bekliyor, sonraki projeler için gerçekten faydalı olacak, ancak
sadece 1 işlemden sonra durmasına ihtiyacım var, ne yapmalıyım?
yardımlarınız için hepinize teşekkür ederim
1'den fazla işlem yapmamalı...? Bu şunu yapar:
{
double up = iIchimoku ( NULL , 5 , 9 , 26 , 52 , 3 , 0 ),
down = iIchimoku ( NULL , 5 , 9 , 26 , 52 , 4 , 0 );
static bool was_above = true ;
bool is_above = ( MathMax (up,down)< Bid );
if (!was_above && is_above && open_orders()< 1 )
{
if ( OrderSend ( NULL , 0 , 0.01 , Ask , 3 , Bid - 150 * Point , Bid + 100 * Point )< 0 )
{
printf ( "OrderSend() failed. Error code: %i" , GetLastError ());
}
}
was_above = is_above;
}
int open_orders()
{
int count = 0 ;
for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) // good habit to count down
{
if (! OrderSelect (i, SELECT_BY_POS )) continue ; // select the order
if ( OrderSymbol () != _Symbol ) continue ; // optional check for same symbol
if ( OrderMagicNumber ()!= magic_no) continue ; // optional check for magic number
if ( OrderType () < 2 ) count++; // 0 == OP_BUY and 1 == OP_SELL
}
return (count);
}
Dürüst Knave:
EA'nız harika, ancak fiyat tekrar ichimoku bulutuna düşerse ve sonra geri dönerse yeni işlemler yaratır. Benim yaşadığım problem gibi aynı mumdaki emirleri tekrarlamıyor ve bana verdiğiniz bu örnekten yeni şeyler yaratmak için çok şey öğreneceğim.
EA'lar, ancak ilk ticaretten sonra EA veya komut dosyasının hemen kapanacağını kodlamanın bir yoluna ihtiyacım var, bu yüzden şimdiye kadar yapılmış 1 ticarete ihtiyacım var.
Marco: Yeni güncellemenizi denedim, ancak herhangi bir işlem yapmıyor, en son gönderdiğiniz şekilde koydum, bilette ikinci int'yi kaldırdım. Ama ilk ticaret asla strateji test cihazında yapılmaz , şimdi ne yapmalı?
Dürüst Knave:
EA'nız harika, ancak fiyat tekrar ichimoku bulutuna düşerse ve sonra geri dönerse yeni işlemler yaratır. Benim yaşadığım problem gibi aynı mumdaki emirleri tekrarlamıyor ve bana verdiğiniz bu örnekten yeni şeyler yaratmak için çok şey öğreneceğim.
EA'lar, ancak ilk ticaretten sonra EA veya komut dosyasının hemen kapanacağını kodlamanın bir yoluna ihtiyacım var, bu yüzden şimdiye kadar yapılmış 1 ticarete ihtiyacım var.
Ne demek istediğini anlamıyorum.
Bu kod aynı anda 1'den fazla sipariş açamaz.
Ama emir kapanırsa ve tetik tekrar olursa, bir başkasını açar.
HİÇ tek bir işlemin açılmasını istediğinizi mi söylüyorsunuz?
Ne demek istediğini anlamıyorum.
Bu kod aynı anda 1'den fazla sipariş açamaz.
Ama emir kapanırsa ve tetik tekrar olursa, bir başkasını açar.
HİÇ tek bir işlemin açılmasını istediğinizi mi söylüyorsunuz?