[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 212

 
Думаю, что здесь под модулем подразумевается одна программа.
Издержки опыта работы в 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?

 

Добрый день.

У меня советник берет значение с индикатора, в котором линией соединяются два верхних или нижних фрактала.

Как можно в самом советнике получить (или построить) эти линии, чтобы не обращаться к индикатору ?

 
AndEv:

Из учебника:

Существует возможность передавать параметры по ссылке. В этом случае модификация таких параметров отразится на соответствующих переменных в вызываемой функции, переданных по ссылке. Нельзя передавать по ссылке элементы массивов. Параметры по ссылке можно передавать только в пределах одного модуля

Что имеется ввиду под словом "модуль" ?

Значит, что например в ex4-библиотеку нельзя
 
Stells:

Добрый день.

У меня советник берет значение с индикатора, в котором линией соединяются два верхних или нижних фрактала.

Как можно в самом советнике получить (или построить) эти линии, чтобы не обращаться к индикатору ?


Прописываете по аналогии формулы линий с индика + в сове рисуете эти линии объектами.
 
Roman.:

Прописываете по аналогии формулы линий с индика + в сове рисуете эти линии объектами.
Я еще как-то, развлекаясь, делал индикатор, который берет значения для буферов из глобальных переменных. А сами значения пересылаются из советника вместе с цветом и стилем отрисовки.
 

Здравствуйте, есть функция, которая сигналит покупать или продавать. Если ставишь просто

If(sig1) SetOrder(….) ;

То он открывается множество раз.

Внимание вопрос!) А как сделать так, чтоб он открылся один раз за (sig1) при этом может быть так sig1-открываем BAY, следующая команда, sig0-допустим вкл. трал (не важно), следующая команда опять, sig1-открываем второй BAY.

 
Можно запоминать предыдущее значение sig1 и открывать ордер только тогда, когда при наличии разрешающего текущего значения предыдущее было запрещающим.
 
MikeM:
Можно запоминать предыдущее значение sig1 и открывать ордер только тогда, когда при наличии разрешающего текущего значения предыдущее было запрещающим.
чет не догнал.
Причина обращения: