teşekkür etmek! bu sorun ortadan kalktı. küçük bir iz bıraktı. her sipariş kapandığında (her şeyin her zaman olması gerekiyor!) ama bazen 3-4 sipariş açsam sadece 2 yada 1 tane kapanabiliyor.kapanış bu şekilde oluyor. özel bir i-th çekine değer gibi, bana söyleyebilir misin?
Parantezleri ihmal etmeyin, bunu deneyin
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+void CloseBuyPositions1()
{
int pos= OrdersTotal ()- 1 ;
for ( int i=pos; i>= 0 ; i--)
{
if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderType()==OP_BUY)
{
if (OrderClose(OrderTicket(), OrderLots(), Bid, 0 , NULL ))
{
Print ( "Order Close" );
}
}
}
}
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+void CloseSellPositions2()
{
int pos= OrdersTotal ()- 1 ;
for ( int i=pos; i>= 0 ; i--)
{
if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderType()==OP_SELL)
{
if (OrderClose(OrderTicket(), OrderLots(), Ask, 0 , NULL ))
{
Print ( "Order Close" );
}
}
}
}
}
//+------------------------------------------------------------------+
Herkese merhaba. Birisi danışmanı düzenlemeye yardımcı olabilir. EA'nın siparişleri kendisi açmaması, yalnızca manuel olarak açılan siparişlerle çalışması için sipariş açma işlevini kaldırmak gerekir. Şimdiden teşekkürler.
Bir zikzak alıyoruz ve genellikle 0'dan büyük değerler için OnCalculace'deki arabelleğini kontrol ediyoruz (bu, arabelleğin düşük veya yüksek bir ekstremum değeri içerdiği anlamına gelir). arabellek üzerinden döngü
intOnCalculate ( constint rates_total, // размер входных таймсерий constint prev_calculated, // обработано баров на предыдущем вызове constdatetime & time[], // Time constdouble & open[], // Open constdouble & high[], // High constdouble & low[], // Low constdouble & close[], // Close constlong & tick_volume[], // Tick Volume constlong & volume[], // Real Volume constint & spread[] // Spread
) {
// код зиг-зага
...
if (prev_calculated > 0 ) // дальнейший код сработает только один разreturn (rates_total);
// обработка значений зиг-загаfor ( int i = rates_total - 1 ; i >= 0 ; i--) {
if (zigZag[i] > 0 ) { // найден экстремум// сохраняем time[i] в любую удобную форму для дальнейшей работы
}
}
return (rates_total);
}
yukarıdaki döngü (sağdan sola) MQL5 içindir
MQL4 için döngü soldan sağa olacak
for ( int i = 0 ; i < rates_total; i++)
Verilen örnekler ilk başta zamanında yeni değerler vermektedir. Önce en eski değerleri almak için ArraySetAsSeries kullanın veya döngü yineleme yönünü tersine değiştirin.
Veriler, iCustom, CopyTime veya iTime'ın yanı sıra iBar'lar (rate_total yerine) kullanılarak komut dosyasından elde edilebilir.
sonra durma ve sonsuz sayıda alma hareketinin anlık bir hareketi vardır.
eğer hiçbir yerdeyse TrailingOrders(); değiştirmeyin, o zaman hiçbir şey kaydırılmaz.
Kendime iz sürme değil, dur kalk hareketinin bir/iki katını yapmayı görev edindim.
Bugün bütün gün mantıklı gelene kadar hiçbir şey "icat ediyorum".
Fiyat TP yönünde giderse iz tetiklenmeli ve fiyat geri çekilirse hiçbir şey yapmamalıdır. Bu durumda, SL seviyesi sadece TP yönünde gitmeli ve geri dönmemelidir.
anlaşılır bir şekilde. teşekkür etmek.
teşekkür etmek! bu sorun ortadan kalktı. küçük bir iz bıraktı. her sipariş kapandığında (her şeyin her zaman olması gerekiyor!) ama bazen 3-4 sipariş açsam sadece 2 yada 1 tane kapanabiliyor.kapanış bu şekilde oluyor. özel bir i-th çekine değer gibi, bana söyleyebilir misin?
Parantezleri ihmal etmeyin, bunu deneyin
2021.01.05 D' biçiminde ZZ uç noktaları nasıl elde edilir
Senaryo yok mu?
Senaryo yok mu?
Bir zikzak alıyoruz ve genellikle 0'dan büyük değerler için OnCalculace'deki arabelleğini kontrol ediyoruz (bu, arabelleğin düşük veya yüksek bir ekstremum değeri içerdiği anlamına gelir). arabellek üzerinden döngü
yukarıdaki döngü (sağdan sola) MQL5 içindir
MQL4 için döngü soldan sağa olacak
Verilen örnekler ilk başta zamanında yeni değerler vermektedir. Önce en eski değerleri almak için ArraySetAsSeries kullanın veya döngü yineleme yönünü tersine değiştirin.
Veriler, iCustom, CopyTime veya iTime'ın yanı sıra iBar'lar (rate_total yerine) kullanılarak komut dosyasından elde edilebilir.
muhtemelen bir şeyi yanlış anlıyorum
içine bir işlev eklersem
sonra durma ve sonsuz sayıda alma hareketinin anlık bir hareketi vardır.
eğer hiçbir yerdeyse TrailingOrders(); değiştirmeyin, o zaman hiçbir şey kaydırılmaz.
Kendime iz sürme değil, dur kalk hareketinin bir/iki katını yapmayı görev edindim.
Bugün bütün gün mantıklı gelene kadar hiçbir şey "icat ediyorum".
galiba bir şeyi doğru anlamadım
içine bir işlev eklersem
sonra durma ve sonsuz sayıda alma hareketinin anlık bir hareketi vardır.
eğer hiçbir yerdeyse TrailingOrders(); değiştirmeyin, o zaman hiçbir şey kaydırılmaz.
Kendime iz sürme değil, dur kalk hareketinin bir/iki katını yapmayı görev edindim.
Bugün bütün gün mantıklı gelene kadar hiçbir şey "icat ediyorum".
Fiyat TP yönünde giderse iz tetiklenmeli ve fiyat geri çekilirse hiçbir şey yapmamalıdır. Bu durumda, SL seviyesi sadece TP yönünde gitmeli ve geri dönmemelidir.