![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подскажите.
Как увеличить шаг трала.
Часто обращается к серверу тралит через каждый пипс.
Нужно через 50 или 100 пипсов на пятизнаке.
// +-------------------------------------------------------------------------+
// | checkTrailingStop function |
// +-------------------------------------------------------------------------+
void checkTrailingStop( int iiPos ) {
// check Trailing Stop and set it to follow the price
double ldblCurrentPrice;
double ldblCurrentSL;
double ldblNewStopLoss;
double ldblSymbolPoint;
long llDigits;
int liDigits;
MqlTradeRequest mqlTradeRequest = { 0 };
MqlTradeResult mqlTradeResult = { 0 };
MqlTradeCheckResult mqlTradeCheckResult = { 0 };
if ( STOPLOSS <= 0 ) {
return;
}
// if there is no open position leave the routine
if ( !PositionSelect( gSymbol[iiPos].gstrSymbol ) ) {
return;
}
ldblSymbolPoint = SymbolInfoDouble( gSymbol[iiPos].gstrSymbol, SYMBOL_POINT );
ldblCurrentSL = PositionGetDouble( POSITION_SL );
if ( PositionGetInteger ( POSITION_TYPE ) == POSITION_TYPE_SELL ) {
ldblCurrentPrice = SymbolInfoDouble( gSymbol[iiPos].gstrSymbol, SYMBOL_BID );
ldblNewStopLoss = ldblCurrentPrice + STOPLOSS * ldblSymbolPoint;
if ( ldblCurrentSL <= ldblNewStopLoss ) {
return;
}
} else {
ldblCurrentPrice = SymbolInfoDouble( gSymbol[iiPos].gstrSymbol, SYMBOL_ASK );
ldblNewStopLoss = ldblCurrentPrice - STOPLOSS * ldblSymbolPoint;
if ( ldblCurrentSL >= ldblNewStopLoss ) {
return;
1. Вставляйте код правильно (Ctrl+Alt+M).
2. По всей видимости, за срабатывание "трала" отвечают вот эти строчки:
В случае POSITION_TYPE_SELL "трал" срабатывает, если не выполняется условие 'ldblCurrentSL<=ldblNewStopLoss'. Попробуйте изменить его примерно вот так:
Ну и по аналогии - для покупки.
1. Вставляйте код правильно (Ctrl+Alt+M).
2. По всей видимости, за срабатывание "трала" отвечают вот эти строчки:
В случае POSITION_TYPE_SELL "трал" срабатывает, если не выполняется строчка 'ldblCurrentSL<=ldblNewStopLoss'. Попробуйте изменить её примерно вот так:
Ну и по аналогии - для покупки.
Спасибо огромное попробую.
помогите пожалуйста запустить вот это: https://www.mql5.com/ru/code/268
попробовал через визард создания советника, но в списке сигналов нет "Signals based on reversal candlestick patterns", как написано в описании
потом попробовал полностью загрузить в metatrader из codebase, эксперт появился, пытаюсь его тестировать на EUR/USD H1 с дефолтными параметрами, а он не делает никаких ордеров
Для большей универсальности можно вместо _Point поставить ldblSymbolPoint:
Скажите пожалуста, что такое папка Users? Там 76,3 % обьема диска C !!!!!!! А я ее вообще в списках не вижу... Какая ярость!! Что же там?
4,94 Гб свободно на диске C из 197,9Гб !! А как бы самый старший брат не сказал, что мол это наши платформы.. Сам танками и монстрами больше всех забивает.
4,94 Гб свободно на диске C из 197,9Гб !! А как бы самый старший брат не сказал, что мол это наши платформы.. Сам танками и монстрами больше всех забивает.
при тесте в тестере выдало Критическая ошибка OnTick() zero divade Где то поделилось на 0.
Как в здоровезном советнике найти это самое место? Вт.ч. возможно используя нотепад?