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
Evet efendim, şimdiye kadar sadece 1 ticaret yapıldı, ancak örneğiniz harikaydı, yeni ea'lar oluşturmak için temel olarak çok faydalı olacak
void OnTick ()
{
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 ( !trade_made && !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 ());
}
else t rade_made= true ;
}
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: 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ı?
Bir ticaret yapmalıdır çünkü:
if ( MathMax (up,down) < Bid )
ticket= OrderSend ( NULL , 0 , 0.01 , Ask , 3 , Bid - 150 * Point , Bid + 100 * Point );
//| One Order.mq4 |
//| Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
bool order= 0 ; int ticket;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//---
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
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 ;
}
}
}
}
}
}
//+------------------------------------------------------------------+
Az önce denedim ve BİR sipariş verdi...
Çok teşekkürler dürüst_knave tam da ihtiyacım olan şey bu, sonsuza kadar borçlu kalacağım,
ayrıca yardımlarınız için teşekkürler sayın marco.
Çok teşekkürler dürüst_knave tam da ihtiyacım olan şey bu, sonsuza kadar borçlu kalacağım,
Rica ederim. Ama cevabın nadiren göründüğü kadar basit olduğuna katılıyor musunuz? Bu, buradaki bazı yorumları açıklayabilir KOD Yardımı (Acil) .
Bu yorumu zaten kaldırdım, basit bir EA benim için bir sorun, gerçekten bir şey söylemek için hiçbir şey bilmiyorum
Hey, hepimiz hala öğreniyoruz. Ve kalbin doğru yerdeydi.
Sorununuzu çözmenize sevindim.
Aynı şeyi yapmanın birçok yolu var... Marco ve ben sorunu farklı yönlerden ele aldık ve ikisi de eşit derecede doğru.
İyi şanlar
Evet Bay Marco vd Heijden , dürüst_knave'deki gibi çalışıyor, son attığınız koda dayanarak tekrar denedim, harika çalıştı, her iki yanıtı da alacağım ve orijinal fikre daha benzer olduğu için bu senaryoyu kullanacağım.
Yardımın için teşekkürler
Gönderdiğiniz koddan, EA'nın bir daha sipariş açmayacağına inanıyorum. EA'yı grafikten çıkarmadığınız ve yeniden takmadığınız sürece (başlatmak için). Sanırım amaç buydu?
Şimdi umalım ki doğru yönü seçsin :)
Bir yerde, hala açık bir pozisyonu olduğunu unutan bir adam hakkında bir şeyler okudum ve tahmin edin ne oldu... $$$$$
Gönderdiğiniz koddan, EA'nın bir daha sipariş açmayacağına inanıyorum. EA'yı grafikten çıkarmadığınız ve yeniden takmadığınız sürece (başlatmak için). Sanırım amaç buydu?