Вот пример
// это в переменные extern double MaxLot = 100; // максимальный лот extern double percLots = 1; // это в функции double MM() { double lts; double Lots=NormalizeDouble((AccountFreeMargin()*percLots/100)/(MarketInfo(Symbol(), MODE_MARGINREQUIRED)),2); lts = Lots; if(lts>MaxLot) lts=MaxLot; if(lts<0.01) lts=0.01; return(lts); } // где надо вызываешь к примеру double lot = MM();
Пробуйте
если lots ставите = 0 тогда будет считаться по проценту от депозита percLots (=1 это 1% от депо)
если lots больше ноля, то берется значения лота из него - фиксированное
Пробуйте
если lots ставите = 0 тогда будет считаться по проценту от депозита percLots (=1 это 1% от депо)
если lots больше ноля, то берется значения лота из него - фиксированное
HELP,HELP,HELP
УЧУСЬ ПИСАТЬ ПРОГИ.ЕСТЬ ПРОБЛЕММА .НЕ ПОНИМАЮ ЛОГИКИ ИНИЦИАЛИЗАЦИИ ПЕРЕМЕННЫХ SL И TP
В МОЕМ ПОНИМАНИИ ЭТО ЕСЛИ ОРДЕР ВЫБРАН И ЕСТЬ ТИКЕТ.ТОГДА ORDERSTOPLOSS+SL*POINT,DIGETS
ОБЬЯСНИТЕ ПЛИЗ ЛОГИКУ АРИФМЕТИКИ.ЗНАЮ ЧТО ТАКОЕ ASK И BID
ИЗ ЭТОГО ВЫТЕКАЕТ ПРОБЛЕМА
if(Digits == 3||Digits == 5) { Slippage *= 10; TakeProfit *= 10; StopLoss *= 10; }
ЕСТЬ ПРОВЕРКА НА КОЛИЧЕСТВО ЦИФР ПОСЛЕ ЗАПЯТОЙ.
ЕСТЬ ФУНКЦИЯ ДЛЯ ИЗМЕНЕНИЯ МИНИМАЛЬНОГО SL ЕСЛИ ОН НЕ СООТВЕТСТВУЕТ
void CheckValidStop(string symbol,double price,double& sl) { if(sl==0) return; double min_stop_server = MarketInfo(symbol,MODE_STOPLEVEL)*MarketInfo(symbol,MODE_POINT); if(MathAbs(price-sl) <= min_stop_server) { if(price>sl) sl = price - min_stop_server; else sl = sl + min_stop_server; }/// if(MathAbs(price-sl) <= min_stop_server) sl = NormalizeDouble(sl,MarketInfo(symbol,MODE_DIGITS)); }//функция
КОМПЛИМАТОР ВЫДАЕТ 0 ОШИБОК А ТЕСТЕР ПИШЕТ ERROR 130,НЕ ВЕРНЫЙ СТОП ЛОС
И ВОТ ЭТО
2016.06.28 21:42:23.402 2016.06.23 00:00 торговля RSI inputs: Lots=0.1; Slippage=5; StopLoss=10; TakeProfit=30; RSIPeriod=7; Magic=1087;
КАК ОНИ ГЛОБАЛЬНО ИНИЦИИРОВАНЫ
ХОТЯ В КОДЕ Я НАПИСАЛ ТАК,ПОМИМО ФУНКЦИИ МОДИФИ
SL = NormalizeDouble( Ask - StopLoss*Point,Digits);
КУ......НАПИШИТЕ В ЛИЧКУ ПЛИЗ КТО МОЖЕТ
Здравствуйте! подскажите пожалуйста есть ли скрипт в котором я бы мог устанавливать время открытия отложенных ордеров истопы с профитами?
КУ......НАПИШИТЕ В ЛИЧКУ ПЛИЗ КТО МОЖЕТ
Caps Lock заело? )
1. Надо распечатать полученный СЛ и посмотреть, что там реально рассчиталось. И проверить, что он больше уровня STOPLEVEL. Стоплевел можно посмотреть индикатором https://www.mql5.com/ru/code/15808
2. На некоторых счетах ECN нельзя в OrderSend задавать Сл и ТП, их надо задавать через OrderModify
- голосов: 8
- 2016.06.24
- Alexey Volchanskiy
- www.mql5.com
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования