StopLoss and Take Profit Manager
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «0 - sl_and_tp_for_all_orders.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Советник предназначен для автоматической установки уровней Stop Loss и Take Profit на открытых ордерах в MetaTrader 4. При запуске он проверяет все активные ордера на текущем символе и для тех из них, у которых ещё не заданы уровни стоп-лосса и тейк-профита, устанавливает их в соответствии с параметрами StopLoss и TakeProfit.
Параметры задаются в пунктах (points) относительно цены открытия позиции. Для покупающих позиций (BUY, BUYSTOP, BUYLIMIT) стоп-лосс устанавливается ниже цены открытия, а тейк-профит — выше. Для продающих позиций (SELL, SELLSTOP, SELLLIMIT) — наоборот. Советник модифицирует ордера с помощью функции OrderModify.
Настройки программы
| Настройка | Описание |
|---|---|
| StopLoss | Уровень стоп-лосса в пунктах относительно цены открытия ордера. Если значение больше нуля, советник устанавливает стоп-лосс для подходящих ордеров; если равно нулю — стоп-лосс не задаётся. |
| TakeProfit | Уровень тейк-профита в пунктах относительно цены открытия ордера. Если значение больше нуля, советник устанавливает тейк-профит для подходящих ордеров; если равно нулю — тейк-профит не задаётся. |
Поиск по коду файла
extern int StopLoss=0;
extern int TakeProfit=0;
void start()
{
// код доступен только после оплаты
}
double SL,TP;
int i,Total;
int Dig=MarketInfo(Symbol(),MODE_DIGITS);
Total=OrdersTotal();
if(Total>0)
{
for(i=Total-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true)
{
if(OrderSymbol()==Symbol() && (OrderType()==OP_SELL || OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT) && OrderStopLoss()==0 && OrderTakeProfit()==0)
{
if(StopLoss>0)SL=OrderOpenPrice()+StopLoss*Point;else SL=0;
if(TakeProfit>0)TP=OrderOpenPrice()-TakeProfit*Point;else TP=0;
bПоказано первые 50% кода (символов: 1011)