Kontrol? Nasıl? Kodu (mesafe değişkenli kısım) MQL4 kitabından kopyaladım:
int start ()// Special function 'start'{string Symb =Symbol();// Symboldouble Dist =1000000.0;// Presettingint Real_Order =-1;// No market orders yetdouble Win_Price =WindowPriceOnDropped();// The script is dropped here//-------------------------------------------------------------------------------- 2 --for(int i =1; i <=OrdersTotal(); i ++)// Order searching cycle{if(OrderSelect( i -1, SELECT_BY_POS )==true)// If the next is available{// Order analysis://----------------------------------------------------------------------- 3 --if(OrderSymbol()!= Symb )continue;// Symbol is not oursint Tip =OrderType();// Order typeif( Tip >1)continue;// Pending order //----------------------------------------------------------------------- 4 --double Price =OrderOpenPrice();// Order priceif(NormalizeDouble(MathAbs( Price - Win_Price ),Digits)<//SelectionNormalizeDouble( Dist ,Digits))// of the closest order {
Dist =MathAbs( Price - Win_Price );// New value
Real_Order = Tip ;// Market order availableint Ticket =OrderTicket();// Order ticketdouble Lot =OrderLots();// Amount of lots}//----------------------------------------------------------------------- 5 --}//End of order analysis}//End of order searching//-------------------------------------------------------------------------------- 6 --while(true)// Order closing cycle{if( Real_Order ==-1)// If no market orders available{Alert("For ", Symb ," no market orders available");break;// Exit closing cycle }//-------------------------------------------------------------------------- 7 --switch( Real_Order )// By order type{case0:double Price_Cls =Bid;// Order Buystring Text ="Buy ";// Text for Buybreak;// Из switchcase1: Price_Cls =Ask;// Order Sell
Text ="Sell ";// Text for Sell}Alert("Attempt to close ", Text ," ", Ticket ,". Awaiting response..");bool Ans =OrderClose( Ticket , Lot , Price_Cls ,2);// Order closing
Daha düşük açılış fiyatına sahip OP_BUY siparişini seçmem (ve kapatmam) gerekiyor ve bu seçim 2 sipariş olduğunda başlamalı OP_BUY...OP_SELL için aynı şey...bunun uygulanması çok mu zor? Kafam çok karışık...
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
Lütfen "Dist" değerini kontrol edin
Kontrol? Nasıl? Kodu (mesafe değişkenli kısım) MQL4 kitabından kopyaladım:
see also: https://book.mql4.com/trading/orderclose1. "Dist" in başlangıç değerinin doğru olduğundan emin olun.
2. Döngünün başında "Dist" değerini kontrol etmek için uyarı ekleyin: "Alert ("Dist = ", Dist ); "
"dist" değişkenini kullanmadan doğru sırayı seçmenin bir yolu var mı?
cevap 1
Örneklerdeki ">" ve "<" işaretleri aynı ifade için farklı yönlerdedir.
Closeorder.mq4'ün 22. satırına ve önceki örneğin 6. satırına bakın
Bence ikinci örnekte bir hata olmalı...ne dersiniz?
cevap 2
"Doğru sıra"nın anlamına bağlıdır
Daha düşük açılış fiyatına sahip OP_BUY siparişini seçmem (ve kapatmam) gerekiyor ve bu seçim 2 sipariş olduğunda başlamalı OP_BUY...OP_SELL için aynı şey...bunun uygulanması çok mu zor? Kafam çok karışık...
sıradan iş
peki neyi yanlış yapıyorum? Daha düşük açılış fiyatına sahip OP_BUY'u nasıl seçersiniz? "Dist" olmadan bile denedim ...
"if (Fiyat < Fiyat), Rakamlar)" satırının amacı nedir?
Bana deli gibi görünüyor.
CB
"if (Fiyat < Fiyat), Rakamlar)" satırının amacı nedir?
Bana deli gibi görünüyor.
sadece bu değil.
bu, eksik bir sol köşeli ayraçla hatasız nasıl derlenebilir?
Bu kod kapma-boş-içgörü-tam-aptallar-ve-tam-wasicus-ve-bir sent-ödemek istemeyen-yardım-isten adamlardan bıktım
tüm insanlar hata yapar
if (a_human_made_a_mistake==true)
{human_learn_next_lesson();}
başka
{reincarnate_as_plant=true;}
{human_learn_next_lesson();}
Keşke MT5'imiz olsaydı. O zaman bunun yerine human->learnNextLesson() yapabiliriz.
Keşke MT5'imiz olsaydı. O zaman bunun yerine human->learnNextLesson() yapabiliriz.
OOP ile hiç tanışmadım.
bundan nefret ediyorum. hiçbir şey hakkında çok fazla güçlük.
böyle durumlarda öğrenmeyi reddediyorum... ;-)
bu->tekrar->bu->tekrar->bu->tekrar->bu->tekrar->bu->tekrar->bu->tekrar->bu->tekrar->bu;