Tüm bu koşullar birbiri ardına hemen gelmeyebilir (belki bir veya iki veya üç saat içinde), bu nedenle gösterge değeri 1,0000'e ulaşır ulaşmaz bu koşulun artık her tikte kontrol edilmediğinden emin olmanız gerekir, ancak bekleyin. bir çubuk düşüşle kapanır ve bundan sonra, bu 2 koşul her tikte kontrol edilmedi, ancak gösterge değeri 0,9980'den küçük veya ona eşit olana kadar bekleyin. Tüm koşullar karşılandığında, 400p stop loss ile 0.1 lot satmak için bir piyasa emri açın. ve 400p kar elde edin.
Genel olarak her şey yolunda ama göstergenin döndürdüğü değerlere çok dikkat ederim.
bool Val_max=false, Cl_dn=false, Val_min=false;
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+int start()
{
int
i, j, total,
cnt,
OrderBuy,
OrderSell,
Magic,
Ticket, // Номер ордера
Total= 0 , // Количество ордеров в окне
Tip=- 1 ; // Тип выбран. ордера (B=0,S=1) double
Open_0,
ask,
bid,
Price, // Цена выбранного ордера
SL, // SL выбранного ордера
TP, // TP выбранного ордера
Lot; // Колич. лотов в выбран.ордере
Open_0=Open[ 0 ]; // Цена откр. формирующегося бара
ask=Ask; // Текущая цена покупки
bid=Bid; // Текущая цена продажиstring
Symb; // Название финанс. инструмента
Symb= Symbol (); // Название фин.инстр.double Value_max= 1.0000 ;
double Value_min= 0.9980 ;
double Open_1= Open[ 1 ];
double Close_1= Close[ 1 ];
//----//--------------------------------------------------------------- 4 --double Val= iCustom ( NULL , 0 , "HMR MULTI Indicator" , 0 , 0 );
if (Val >= Value_max) Val_max=true; // if (Open_1 > Close_1 && Val_max==true) Cl_dn=true;
if (Val <= Value_min && Cl_dn==true) Val_min=true;
if (Val_max==true && Cl_dn==true && Val_min==true)
{
for (j = 0 ; j < OrdersTotal (); j++)
{
OrderSelect (j, SELECT_BY_POS, MODE_TRADES);
if ( OrderSymbol () == Symbol ())
{
if ( OrderType () == OP_SELL) return ( 0 );
}
}
OrderSend ( Symbol (),OP_SELL, 0.1 , NormalizeDouble (Bid, Digits ), 2 ,Bid+ 400 * Point ,Bid- 400 * Point , "" , 3 , Red ); // Открытие SELL
Val_max=false; Cl_dn=false; Val_min=false;
}
//----return ( 0 );
}
if ( IsTesting ()|| IsOptimization ())флаг_Канады_не_рисовать_obj=true; //проверяем надо ли рисовать (в ините ему место через статик переменную)
if (!флаг_Канады_не_рисовать_obj){ //запрет отрисовки объектов ели оптимизация или тестирование
ObjectCreate (........................);
}
"Instrument" (_OrderSymbol) parametresi ile EA'nın bir dosyaya tekrarlar yazmasını nasıl engelleyeceğimi söyleyin. Bir dizide tekrarların nasıl kaldırıldığını forumda gördüm https://forum.mql4.com/en/5814 ama benim durumuma nasıl uygulayacağımı bulamadım. Ve tekrarlarla, bir döngüde bile, bir dosyaya 200 özdeş satırı damgalamaya başlar.
Bir sipariş açmaya çalışmadan önce ilk seçeneği yerleştirmek daha iyidir (OrderSend)
Tüm bu koşullar birbiri ardına hemen gelmeyebilir (belki bir veya iki veya üç saat içinde), bu nedenle gösterge değeri 1,0000'e ulaşır ulaşmaz bu koşulun artık her tikte kontrol edilmediğinden emin olmanız gerekir, ancak bekleyin. bir çubuk düşüşle kapanır ve bundan sonra, bu 2 koşul her tikte kontrol edilmedi, ancak gösterge değeri 0,9980'den küçük veya ona eşit olana kadar bekleyin. Tüm koşullar karşılandığında, 400p stop loss ile 0.1 lot satmak için bir piyasa emri açın. ve 400p kar elde edin.
Genel olarak her şey yolunda ama göstergenin döndürdüğü değerlere çok dikkat ederim.
Genel olarak her şey yolunda ama göstergenin döndürdüğü değerlere çok dikkat ederim.
Değer 1.0000'e ulaştığında, her tikte bir mesaj görüntülendi: "Gösterge değeri >= 1.0000"Gösterge değerini uyar aracılığıyla gerçek zamanlı modda denedim, mesaj normal şekilde görüntülendi:
Göstergenin değerini Alert aracılığıyla gerçek zamanlı modda denedim, mesaj normal şekilde görüntülendi:
Ve o zaman test cihazının sevmediği şey, uyarılar eklemeniz ve günlüğe bakmanız gerekir.
Peki kod doğru mu?
Ne anlama geliyor?
2011.12.06 01:07:55 HMR MULTI Göstergesi EURUSD,M15: kaldırıldı
2011.12.06 01:07:57 TestGenerator: eşleşmeyen veri hatası (2011.12.01'de 603 ses sınırı 00:00 aşıldı)
2011.12.06 01:07:57 2011.12.01 00:00 HMR MULTI Göstergesi EURUSD,M15: ObjectCreate işlevi için bilinmeyen alt pencere numarası -1
Ne anlama geliyor?
2011.12.06 01:07:55 HMR MULTI Göstergesi EURUSD,M15: kaldırıldı
2011.12.06 01:07:57 TestGenerator: eşleşmeyen veri hatası (2011.12.01'de 603 ses sınırı 00:00 aşıldı)
2011.12.06 01:07:57 2011.12.01 00:00 HMR MULTI Göstergesi EURUSD,M15: ObjectCreate işlevi için bilinmeyen alt pencere numarası -1
... gösterge.
boş bir danışmanla "halk dürtme" yöntemini deneyin,
ObjectCreate'in kendi alt penceresini bulduğunu gösteren göstergeyi kontrol edin (veya TEST EDİYORSA VEYA OPTİMİZASYON YAPIYORSANIZ neden çizin)
Diğer bir deyişle, parametreleri geçmeden, o zaman:
Cevaplar için teşekkürler!
Tünaydın!
"Instrument" (_OrderSymbol) parametresi ile EA'nın bir dosyaya tekrarlar yazmasını nasıl engelleyeceğimi söyleyin. Bir dizide tekrarların nasıl kaldırıldığını forumda gördüm https://forum.mql4.com/en/5814 ama benim durumuma nasıl uygulayacağımı bulamadım. Ve tekrarlarla, bir döngüde bile, bir dosyaya 200 özdeş satırı damgalamaya başlar.