Basit bir darbe uygulamaya çalışıyorum. Durma konumuna ulaşıldığında --> tersini açın. Bunu, tam tersinin bir kez açılması ve başka hiçbir şeyin açılmaması için yapmak imkansızdır. Lütfen söyle.
Bunu aşağıdaki gibi uyguladım - bu koşul, bir önceki pozisyonu zararda kapatırken, ardından karşı pozisyonu açarken ... .kimiv.ru/ bir emrin kapanmasını kesin olarak zararı durdur ile belirleyen bir fonksiyon var. Yani bu fonksiyonu bağlayarak stoploss'a ulaşıldığında pozisyonun kapanıp kapanmadığını, evet ise tersini açmanın koşulunu belirtirsiniz...
Not: Stoploss ile pozisyon kapatma fonksiyonunun bu kodunun birkaç sayfa önce bu başlıkta sunulduğunu hatırladım... Bak.
//---Поиск последнего отработавшего ордера для открытия очередной позиции ---for (orderIndex = (OrdersHistoryTotal() - 1 ); orderIndex >= 0 ; orderIndex--)
{
if (! OrderSelect (orderIndex, SELECT_BY_POS, MODE_HISTORY))
{
Print ( "Ошибка при доступе к исторической базе (" , GetLastError (), ")" );
continue ;
}
if ((OrderSymbol() != Symbol ()) || (OrderMagicNumber() != MagicNumber))
{
continue ;
}
//-------------------------Принимаем в расчет только ордер, закрытый недавно-----------------------if (OrderCloseTime() >= iTime( NULL , 0 , 1 ))
{
int lastType = OrderType();
double lastLots = OrderLots();
double lastProfit = OrderProfit() + OrderSwap();
// Print ("lastProfit = ", NormalizeDouble(lastProfit, 1));// Анализ только что закрывшегося ордераif (lastProfit < 0.0 )
{
//---Ордер закрылся с убытком открываемся в ОБРАТНОМ направлении// ---------НОРМАЛИЗУЕМ НОВЫЕ РАСЧЕТНЫЕ ЛОТЫ И ОТКРЫВАЕМ ОЧЕРЕДНУЮ ПОЗИЦИЮ... // -----если предыдущий ордер был бай, то открываем очередной ордер
lots = NormalizeLots(lots);
if (lastType == OP_SELL) OrderSend ( Symbol (), OP_BUY, lots,...);
if (lastType == OP_BUY) OrderSend ( Symbol (), OP_SELL, lots, ...);
}
return ( 0 );
}
// Найден закрытый ордер, но он старыйbreak ;
}
Basit bir darbe uygulamaya çalışıyorum. Durma konumuna ulaşıldığında --> tersini açın. Bunu, tam tersinin bir kez açılması ve başka hiçbir şeyin açılmaması için yapmak imkansızdır. Lütfen söyle.
https://www.mql5.com/ru/forum/105952
Teşekkürler ama hatanın nerede olduğunu çözemedim...
İyi insanlar, lütfen söyleyin, TrailingStop'u uygulamak için bir KOD'a ihtiyacım var!?
İnternette bulduğum çalışmıyor (ileri geri sürün)
İyi insanlar, lütfen söyleyin, TrailingStop'u uygulamak için bir KOD'a ihtiyacım var!?
İnternette bulduğum çalışmıyor (ileri geri sürün)
Teşekkürler ama hatanın nerede olduğunu çözemedim...
tam göstergeye ihtiyaç var
tam göstergeye ihtiyaç var
Teşekkür ederim
İlk başlangıçta, ArrayMaximum ve ArrayMinimum işlev dizisinde bir taşma oldu
İlk başlangıçta, ArrayMaximum ve ArrayMinimum işlevlerinden oluşan bir dizi taşma oldu.
Basit bir darbe uygulamaya çalışıyorum. Durma konumuna ulaşıldığında --> tersini açın. Bunu, tam tersinin bir kez açılması ve başka hiçbir şeyin açılmaması için yapmak imkansızdır. Lütfen söyle.
Bunu aşağıdaki gibi uyguladım - bu koşul, bir önceki pozisyonu zararda kapatırken, ardından karşı pozisyonu açarken ... .kimiv.ru/ bir emrin kapanmasını kesin olarak zararı durdur ile belirleyen bir fonksiyon var. Yani bu fonksiyonu bağlayarak stoploss'a ulaşıldığında pozisyonun kapanıp kapanmadığını, evet ise tersini açmanın koşulunu belirtirsiniz...
Not: Stoploss ile pozisyon kapatma fonksiyonunun bu kodunun birkaç sayfa önce bu başlıkta sunulduğunu hatırladım... Bak.
Basit bir darbe uygulamaya çalışıyorum. Durma konumuna ulaşıldığında --> tersini açın. Bunu, tam tersinin bir kez açılması ve başka hiçbir şeyin açılmaması için yapmak imkansızdır. Lütfen söyle.