[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 212
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Издержки опыта работы в VB, однако.
Добрый день.
Написал Скрипты-помогальщики для открытия ордеров с одновременным выставлением Защиты в виде отложенного ордера.
Вот код для СЕЛЛ.
//+------------------------------------------------------------------+
//| OpenSELL_Lok.mq4 |
//| KarkadilGENA |
//| http://forum.fibo-forex.ru/ |
//+------------------------------------------------------------------+
#property copyright "KarkadilGENA"
#property link "http://forum.fibo-forex.ru/"
#property show_inputs
//--------------------------------------------------------------------
extern double MARTIN = 1; // Коэффициент увеличения лота ( счет колен )
extern int stoploss = 20, //уровень выставления SL, если 0, то SL не выставляется
takeprofit = 40, //уровень выставления TP, если 0, то TP не выставляется
Magic = 345; //уникальный номер ордера
extern double Lot = 0.01; //объем ордера
//+------------------------------------------------------------------+
int start()
{
//----
double lots, SL, TP;
int ticket.sell=-1;
while(ticket.sell<0)
{
RefreshRates();
Lot=NormalizeDouble(Lot,2);
lots = Lot * MARTIN;
TP = NormalizeDouble(Bid - takeprofit*Point,Digits);
ticket.sell=OrderSend(Symbol(),OP_SELL,lots,Bid,3,0,TP,NULL,Magic,0,CLR_NONE);
if(ticket.sell<0)
Alert ("Ошибка при открытии позиции ");
return;
}
int ticket_BUYSTOP=-1;
while(ticket_BUYSTOP<0)
{
RefreshRates();
Lot=NormalizeDouble(Lot,2);
lots = Lot * MARTIN;
SL = NormalizeDouble(Bid + stoploss*Point,Digits);
ticket_BUYSTOP=OrderSend(Symbol(),OP_BUYSTOP,lots,SL,3,0,0,NULL,Magic,0,CLR_NONE);
if(ticket_BUYSTOP<0)
Alert ("Ошибка при открытии позиции ");
return;
}
return(0);
}
//+------------------------------------------------------------------+
Первое открытие проходит Штатно, но при втором ( при имеющихся открытых позициях ),
Открываются две Защиты. И Стоп и Лимит. В коде у меня прописано Только Один, Стоп.
При открытии Третьего, выставляет несколько Защитных ордеров.
ПОДСКАЖИТЕ, как заставить Сова, открывать Только Одну Защиту, невзирая на к-во Уже Открытых позиций.
Спасибо.
Спасибо за ответ вчера.
Как взять current price?
Добрый день.
У меня советник берет значение с индикатора, в котором линией соединяются два верхних или нижних фрактала.
Как можно в самом советнике получить (или построить) эти линии, чтобы не обращаться к индикатору ?
Из учебника:
Существует возможность передавать параметры по ссылке. В этом случае модификация таких параметров отразится на соответствующих переменных в вызываемой функции, переданных по ссылке. Нельзя передавать по ссылке элементы массивов. Параметры по ссылке можно передавать только в пределах одного модуля
Что имеется ввиду под словом "модуль" ?
Добрый день.
У меня советник берет значение с индикатора, в котором линией соединяются два верхних или нижних фрактала.
Как можно в самом советнике получить (или построить) эти линии, чтобы не обращаться к индикатору ?
Прописываете по аналогии формулы линий с индика + в сове рисуете эти линии объектами.
Прописываете по аналогии формулы линий с индика + в сове рисуете эти линии объектами.
Здравствуйте, есть функция, которая сигналит покупать или продавать. Если ставишь просто
If(sig1) SetOrder(….) ;
То он открывается множество раз.
Внимание вопрос!) А как сделать так, чтоб он открылся один раз за (sig1) при этом может быть так sig1-открываем BAY, следующая команда, sig0-допустим вкл. трал (не важно), следующая команда опять, sig1-открываем второй BAY.
Можно запоминать предыдущее значение sig1 и открывать ордер только тогда, когда при наличии разрешающего текущего значения предыдущее было запрещающим.