hayır, bu işe yaramaz.. bir sipariş - bir lot, lot 3 ile bir sipariş açarsanız, lotu istediğiniz gibi bölemezsiniz - önce 1, sonra 1 ve sonra 1 - sipariş tamamen kapanır , yani sipariş açılan lot ile kapatılır, siparişleri parça parça kapatamazsınız..
yanılıyorsun, partimi parça parça kapatan bir trolüm var
hope писал(а)>> yazdı aynı değil. Partinin üçte biri kapandı (koşullardan birine göre - fiyatın +150 puana ulaştığını varsayalım). İkinci üçte biri, örneğin açılıştan +300 pp olduğunda vb. kapanacaktır.
hayır, bu işe yaramaz.. bir sipariş - bir lot, lot 3 ile bir sipariş açarsanız, lotu istediğiniz gibi bölemezsiniz - önce 1, sonra 1 ve sonra 1 - sipariş tamamen kapanır , yani sipariş açılan lot ile kapatılır, siparişleri parça parça kapatamazsınız..
......................
".... partiyi bölemezsiniz ..." - neden? Teknik olarak uzun zaman önce uygulandı ve 85. sayfadaki Roger ve KimIV sayesinde partileri normalleştirerek 131 hatasından kurtuldum. Ayrıca "... bir sipariş - bir lot, lot 3 ile bir sipariş açarsanız lotu istediğiniz gibi bölemezsiniz - önce 1, sonra 1 ..." ifadesi yanlıştır: sipariş - lot olarak da bilinir - bir hacimden oluşur: 0.03 , 0.3, 3... ve sessizce kapalı kısımlar: 0.01, 0.1, 1... değil mi?
Ve son isteğimin özü şuydu: TÜM pozisyonları dizilere başvurmadan, ancak standart hesaplamaları kullanarak ve türe göre ekleyerek kapatmak mümkün mü?
BuyTotalOp =0;// Количество Buy ордеров
SellTotalOp =0;// Количество Sell ордеровfor(int i =1; i <=OrdersTotal(); i ++)// Цикл перебора ордер{if(OrderSelect( i -1, SELECT_BY_POS )==true)// Если есть следующий{// Анализ ордеров:if(OrderSymbol()!= Symb )continue;// Не наш фин. инструмif(OrderType()>1)// Попался отложенный{Alert("Обнаружен отложенный ордер. Эксперт не работает.");return;// Выход из start()}if(OrderType()==OP_BUY){
BuyTotalOp ++;// Счётчик ордеров Buy
Şimdi içimde yorgun, okyanusu geçen bir geminin hissine kapılıyorum ve sana bu yöne mi yelken açman gerektiğini, yoksa başka bir yol mu denemen gerektiğini söyleyecek bir deniz fenerini umuyor...
void CloseAll (){for(int i =OrdersTotal()-1; i >=0; i --){if(OrderSelect( i , SELECT_BY_POS , MODE_TRADES )==false)break;if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),100);if(OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),100);if(OrderType()==OP_BUYSTOP)OrderDelete(OrderTicket());if(OrderType()==OP_SELLSTOP)OrderDelete(OrderTicket());if(OrderType()==OP_BUYLIMIT)OrderDelete(OrderTicket());if(OrderType()==OP_SELLLIMIT)OrderDelete(OrderTicket());}}
Yalnızca açık pozları kapatır.
void CloseAll2 (){for(int i =OrdersTotal()-1; i >=0; i --){if(OrderSelect( i , SELECT_BY_POS , MODE_TRADES )==false)break;if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),100);if(OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),100);}}
Bütün fonksiyonlarını inceledim, ama burada tek bir tane ya da bir garazd yok. Şimdi fonksiyonları ne zaman yazarım, kafamdan yazarım ama kafamda sonra senin fonksiyonların :-)
Bir programcı olarak kariyerimin başında birçok yararlı işlevinizi inceledim.
Lütfen sizin için uygun olan herhangi bir koşula göre siparişi kapatmama yardım edin, aksi halde işe yaramaz.
Şimdiden teşekkürler
Açıklama
Siparişi kapatma stratejisi önemsizdir, herhangi biri olabilir. Siparişi kapatmak için Kim'in işlevlerinin yardımıyla yardım
int start (){//----//Print (ExpertName);if(Bars<20)return(0);if( CheckNevBar )if(! NevBar ())return(0);
TradesInThisSymbol = ExistPositions ( sy );if( TradesInThisSymbol >0)return(0);if(AccountFreeMargin()< MarginMin ){//Print("Not enough money to trade Strategy:", ExpertName);return(0);}
sy =Symbol();
Lots = GetSizeLot ( sy , LotsWayChoice , LotsPercent , LotsDeltaDepo , LotsDepoForOne , LotsMax );if( CheckForOpen_Sell ())
OpenPosition ( sy ,OP_SELL, Lots );// Тут работаетif( CheckForOpen_Buy ())
OpenPosition ( sy ,OP_BUY, Lots );// Тут работаетif( CheckForClose_Buy ())
ClosePositions ( sy ,OP_BUY);// Тут у меня что то неработаетif( CheckForClose_Sell ())
ClosePositions ( sy ,OP_SELL);// Тут у меня что то неработает//----return(0);}//------------------------bool CheckForClose_Buy (){
Indicat_Var ();if( ExistPositions ( sy ,OP_BUY, MagicNumber )){if( VininI_fast_trend ==-1)return(true); // Тут любое условие на закрытие//if(BB_MACD_2 > 0)return(true); // Тут любое условие на закрытиеelsereturn(false);}}//------------------------bool CheckForClose_Sell (){
Indicat_Var ();if( NumberOfPositions ( sy ,OP_SELL, MagicNumber )>0){if( VininI_fast_trend ==1)return(true);// Тут любое условие на закрытие//if(BB_MACD_1 > 0) // Тут любое условие на закрытие//return(true);elsereturn(false);}}
hayır, bu işe yaramaz.. bir sipariş - bir lot, lot 3 ile bir sipariş açarsanız, lotu istediğiniz gibi bölemezsiniz - önce 1, sonra 1 ve sonra 1 - sipariş tamamen kapanır , yani sipariş açılan lot ile kapatılır, siparişleri parça parça kapatamazsınız..
yanılıyorsun, partimi parça parça kapatan bir trolüm var
yeni siparişler tabii ki açılmıyor?
hayır, bu işe yaramaz.. bir sipariş - bir lot, lot 3 ile bir sipariş açarsanız, lotu istediğiniz gibi bölemezsiniz - önce 1, sonra 1 ve sonra 1 - sipariş tamamen kapanır , yani sipariş açılan lot ile kapatılır, siparişleri parça parça kapatamazsınız..
......................
".... partiyi bölemezsiniz ..." - neden? Teknik olarak uzun zaman önce uygulandı ve 85. sayfadaki Roger ve KimIV sayesinde partileri normalleştirerek 131 hatasından kurtuldum. Ayrıca "... bir sipariş - bir lot, lot 3 ile bir sipariş açarsanız lotu istediğiniz gibi bölemezsiniz - önce 1, sonra 1 ..." ifadesi yanlıştır: sipariş - lot olarak da bilinir - bir hacimden oluşur: 0.03 , 0.3, 3... ve sessizce kapalı kısımlar: 0.01, 0.1, 1... değil mi?
Ve son isteğimin özü şuydu: TÜM pozisyonları dizilere başvurmadan, ancak standart hesaplamaları kullanarak ve türe göre ekleyerek kapatmak mümkün mü?
Şimdi içimde yorgun, okyanusu geçen bir geminin hissine kapılıyorum ve sana bu yöne mi yelken açman gerektiğini, yoksa başka bir yol mu denemen gerektiğini söyleyecek bir deniz fenerini umuyor...
Igor - dalını boşuna mı koparıyoruz?
Her şeyi tek tek kapatabilirsiniz, ancak rengarenk, örneğin şöyle:
b,s,s,b,b,s,b hacim 1,2,1,2,2,1,2 toplam örtüşen hacim 1-2-1+2+2-1+2=3 lot
Özetle, 3 lot satın almanın toplamını alıyoruz ve bu 3 lot satış hacminin sayacını belirliyoruz.
ve ardından yakın bi'yi kapatın.
*
Ancak şu soruya: TÜM pozisyonları kapatmak mümkün mü?
Evet, art arda, bir komut dosyası ile hızlı, aap! ve herşey...
Komut dosyaları veya kapatma işlevleri bir kereden fazla yayınlanmıştır...
Ayrıca, bunları yapılandırdıktan sonra, her ikisini de aynı anda ve kriterlere göre kapatabilirsiniz, örneğin:
- belirli bir sembolle
- sadece alır veya sadece satar
- sadece karlı
Buna göre, kriter kombinasyonları da mümkündür ...
Lütfen sizin için uygun olan herhangi bir koşula göre siparişi kapatmama yardım edin, aksi halde işe yaramaz.
Şimdiden teşekkürler
Her şeyi kapatın!!!
Yalnızca açık pozları kapatır.
Çağrı örneği.
Kapanış komut dosyasını tamamlayın.
Kim Sen en iyisisin. Sana şapka çıkarırım.
Bütün fonksiyonlarını inceledim, ama burada tek bir tane ya da bir garazd yok. Şimdi fonksiyonları ne zaman yazarım, kafamdan yazarım ama kafamda sonra senin fonksiyonların :-)
Bir programcı olarak kariyerimin başında birçok yararlı işlevinizi inceledim.
Teşekkür ederim.
Lütfen sizin için uygun olan herhangi bir koşula göre siparişi kapatmama yardım edin, aksi halde işe yaramaz.
Şimdiden teşekkürler
Açıklama
Siparişi kapatma stratejisi önemsizdir, herhangi biri olabilir. Siparişi kapatmak için Kim'in işlevlerinin yardımıyla yardım