Ответ: Могу помочь с написанием советников
Описание скрипта bvnopen
Скрипт предназначен для быстрого и удобного открытия одного или нескольких ордеров, в т. ч. отложенных. Использовать его можно (наиболее удобно) одним из 2 способов:
1. Drag'N'Drop - перетаскивание скрипта на график (имеется 3 режима).
2. Создав и повесив на отдельные горячие клавиши две копии скрипта с заранее установленным направлением сделки BuySell: 1 - покупка, -1 - продажа.
Большинство параметров можно установить при запуске скрипта:
// Стартовый размер лота
extern double StartLot = 0.01;
// Количество ордеров
extern int OrdersNumber = 5;
// Уровень Stop Loss
extern int StopLoss = 0;
// Уровень Take Profit
extern int TakeProfit = 0;
// Расстояние между ордерами
extern int Pips = 0;
// Уровень Stop Loss для каждого ордера отдельно
extern bool StopForEach = true;
// Коэфициент умножения для размера лота последующих ордеров
extern double Magnifier = 1;
В зависимости от значения Pips ордера могут открываться как сразу все в немедленном режиме, так и в режиме, когда один ордер открывается немедленно, а остальные в виде отложенных ордеров, расположенных через расстояние Pips друг от друга.
Размер лота каждого последующего ордера умножается на Magnifier.
Уровень StopLoss может устанавливаться, как один для всех ордеров, так и для каждого свой.
В случае, если направление BuySell = 0, то направление сделки определяется режимом Drag'N'Drop, за который отвечает переменная DNDLevel.
Если она равна 0 - стандартный режим, уровень влияет только на направление сделки: выше графика - покупка, ниже - продажа.
Если 1 - то направление сделки определяется стандартно, но уровень, куда брошен скрипт, определяет размер TakeProfit.
Если -1 - то уровень определяет StopLoss, а направление выбирается с точностью до наоборот: ниже гарфика - покупка, выше - продажа.
Рекомендуется исходные значения скрипта настроить под себя при перекомпиляции, включая переменную DNDLevel, звук, проскальзывание и некоторые другие параметры.
Однако, бывают ситуации, когда некоторые параметры необходимо периодически менять, чтобы избежать повторной перекомпиляции, я вынес некоторые параметры в глобальные переменные, при чем они имеют вид либо bvnopen.ParamName, либо bvnopen.SYMBOL.ParamName, где SYMBOL - валютная пара. Переменные с указанием валютной пары имеют приоритет над переменными без нее, а также все переменные имеют приоритет над любыми входными параметрами, уазанными при запуске.
Имеются следующие глобальные переменные:
StartLot, OrdersNumber, TakeProfit, StopLoss, DnDLevel и Sound
А также имеется еще одна, не имеющая аналогов среди входных параметров скрипта - LotMagnifier (не путать с Magnifier). Предназначение ее задавать коэфициент умножения для размера всех лотов. Зачем это нужно?
Если вы привыкли вести торговлю определенным набором пропорционально увеличивающихся лотов, например, при мартингейле: 1, 2, 4, 8, 16 и т. д., то при постепенном реинвестировании, вместо перекомпиляции скрипта, можно просто задать этот коэфициент, скажем, 3 и вы, вводя, тот же набор значений, будете в результате получать ряд умноженный на 3: 3, 6, 12, 24, 48 и т. д. Особенно это может быть удобно, когда вы торгуете дробными лотами, тогда, установив коэфициент, например, в 0.01, вы получите ряд: 0.01, 0.02, 0.04, 0.08, 0.16 и т. д., при этом вы будете все также вводить 1, 2, 4, 8, 16 и т. д., что короче и быстрее.