Наш опрос
Разделить Илана на буйного и сольного ?
1.
Мне фиолетово, и так всё работает, как надо 3.
Да, это уменьшит ресурсы
Всего ответов: 1
Строки-Блоки - Форум
Строки-Блоки
Dikons Дата: Вторник, 15.11.2011, 21:22 | Сообщение # 1
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
Сюда будем сливать коды готовых строк и блоков для роботов (и индюков).
Dikons Дата: Вторник, 15.11.2011, 21:31 | Сообщение # 2
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
Строки, начинающиеся с // - необязательные комментарии и терминалом игнорируются. // шапка робота //+------------------------------------------------------------------+ //| Имя_Робота.mq4 | //| © 2011 автор | //| http://www.avtor.ru | //+------------------------------------------------------------------+ #property copyright "© 2011 автор" #property link "http://www.avtor.ru" #define MAGICMA 123456789 // "опознавательный" номер ордеров робота
Dikons Дата: Вторник, 15.11.2011, 21:35 | Сообщение # 3
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
// задать параметры МА (скользящей средней)... //... имя и период МА extern int ma0_period = 69; //... смещение вперёд на кол-во свечей int ma0_shift = 0; // ... метод вычисления // 0-MODE_SMA (Simple); 1-MODE_EMA (Exponential);2-MODE_SMMA (Smoothed); 3-MODE_LWMA (Linear); int ma0_method = 3; // ... по ценам // 0-CLOSE, 1-OPEN, 2-HIGH, 3-LOW, 4-MEDIAN, 5-TYPICAL, 6-WEIGHTED int ma0_price = 3;
Dikons Дата: Воскресенье, 20.11.2011, 00:27 | Сообщение # 4
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Блок проверки на открытые ордера и свободные средства для торговли extern double Lots=0.1; ... ... if(OrdersTotal()<1) { if(AccountFreeMargin()<(1000*Lots)) { Print("У вас недостаточно денег. Свободные средства = ", AccountFreeMargin()); return(0); } }
Dikons Дата: Воскресенье, 20.11.2011, 01:27 | Сообщение # 5
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Ускоряем робота, если для работы нужны не все тики if(Minute()<5) return; // робот будет работать только в каждые 5-ь минут или if(Volume[0]>1) return; // будет работать на первом тике нового бара текущего периода
Dikons Дата: Воскресенье, 20.11.2011, 01:30 | Сообщение # 6
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Проверка на достаточное количество баров в истории //--- Блок полезен для тестирования роботов, а также и для их работы, если в них заложен алгоритм, //--- требующий большого числа данных истории, например МА с периодом 200 и более...
Dikons Дата: Воскресенье, 20.11.2011, 01:31 | Сообщение # 7
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Установка стоп-уровня в пунктах от текущей цены и открытие ордера (вверх или вниз) extern int SU= 28; ... OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-SU*Point,Ask+TakeProfit*Point,"macd sample",16384,0,Green); ... OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+SU*Point,Bid-TakeProfit*Point,"macd sample",16384,0,Red);
Dikons Дата: Среда, 21.12.2011, 15:55 | Сообщение # 8
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Автоопределение оптимального лота //--- лот увеличивается на величину StartLot при увеличении депозита на заданное число Krat
Dikons Дата: Суббота, 24.12.2011, 15:00 | Сообщение # 9
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Блок определения ордеров конкретного робота //...
Dikons Дата: Понедельник, 26.12.2011, 19:14 | Сообщение # 10
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Функция удаления своих ордеров
Dikons Дата: Воскресенье, 04.03.2012, 18:46 | Сообщение # 11
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Ждать ли роботу новый цикл ? //--- (к примеру, пересечение двух МА)
Dikons Дата: Воскресенье, 04.03.2012, 20:42 | Сообщение # 12
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Звуки на ордерах:
Dikons Дата: Воскресенье, 04.03.2012, 23:16 | Сообщение # 13
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Закрытие ордера с использованием счётчика - на случай если сервер его не закрыл с первого раза:
//---- переменные name, sell_T, res, Magic - предопределены заранее //---- если есть сделка SELL - не пора ли её закрыть ? if(sell_T>0) { if(V_3>V_4 && V_4>V_4_1 && V_5_1>=V_6_1) // зелёная больше коричневой { for(int s=OrdersTotal();s>=0;s--) { OrderSelect(s,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) { Print (name,",",Magic,": закрываем ордер SELL ",OrderTicket()); res=OrderClose(OrderTicket(),OrderLots(),Ask,90,Violet); if(res<1) { Alert(name,",",Magic,": ОШИБКА закрытия ордера SELL !");r++; // будем повторять, пока не закроем... Sleep(2000); // задержка 2 секунды RefreshRates(); // обновим ценовые данные для повтора } } } // закрывающая счётчик return; // выход из робота, отдаём управление терминалу } } // закрывающая if(sell_T)
Dikons Дата: Воскресенье, 04.03.2012, 23:35 | Сообщение # 14
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Ищем максимумы и минимумы последних 8 свечей double Maxi=High[iHighest(NULL,0,MODE_HIGH,8,1)]; double Mini=Low[iLowest(NULL,0,MODE_LOW,8,1)];
Dikons Дата: Четверг, 04.04.2013, 19:30 | Сообщение # 15
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Стандартный трал:
Dikons Дата: Воскресенье, 07.04.2013, 11:02 | Сообщение # 16
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Автокоррекция величины Point под значность ДЦ и множитель для индикаторов: double PointX, PN; if(Digits==5 || Digits==3) { PointX = Point * 10; PN=100000;} else {PointX = Point; PN=10000; }
Dikons Дата: Воскресенье, 07.04.2013, 11:07 | Сообщение # 17
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Определение макс и мин цены предыдущего дня, и 50% между ними: double Max, Min, Par; Max=iHigh(NULL,PERIOD_D1,1); Min=iLow(NULL,PERIOD_D1,1); Par=(Max-Min)/2+Min; //---- выводим построчно на экран: Comment("Макс преддня = ",Max, "\nМин преддня = ",Min, "\nПаритет = ",Par);
Dikons Дата: Четверг, 09.05.2013, 23:11 | Сообщение # 18
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
Торговые операции (типы ордеров): Константа Значение Описание OP_BUY 0 Покупка OP_SELL 1 Продажа OP_BUYLIMIT 2 Отложенный ордер BUY LIMIT OP_SELLLIMIT 3 Отложенный ордер SELL LIMIT OP_BUYSTOP 4 Отложенный ордер BUY STOP OP_SELLSTOP 5 Отложенный ордер SELL STOP
Dikons Дата: Воскресенье, 09.06.2013, 22:00 | Сообщение # 19
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
//---- Проверим триггеры в настройках робота, может они все отключены пользователем: if (!Север && !Юг && !Триггеры && !Свечи && !AC && !DF && !Период_MA && !Период_CCI && !Период_RSI) { Alert ("Ошибка: в настройках робота отключены все триггеры ! Должен быть включен хотя бы один."); return; }
Dikons Дата: Понедельник, 10.06.2013, 00:37 | Сообщение # 20
*******
Группа: Администраторы
Сообщений: 332
Статус: Отключен
Математические функции: //--- убрать ударный минус (абсолютное значение числа) Print MathAbs(-8); //--- результат: 8