Лауреат: подскажите пожалуйста как сделать функцию задания нужного количества ордеров ! например что б открывалось в заданное нами кол-во ордеров не более . в mql4
Konstantin Erin: if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("Открыто нужное количество ордеров"); если это использовать то открывается несколько подряд идущих ордеров ! а не ордеров если есть следующий сигнал на сделку вот как сделать так что бы открывал нужное количество ордеров если есть следующие сигналы на сделку после первого открытого ордера ! ?
Лауреат: if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("Открыто нужное количество ордеров"); если это использовать то открывается несколько подряд идущих ордеров ! а не ордеров если есть следующий сигнал на сделку вот как сделать так что бы открывал нужное количество ордеров если есть следующие сигналы на сделку после первого открытого ордера ! ?
enum Цвет // Цвет флага
{
Красный,
Зеленый
};
Цвет Флаг=Красный;
void start()
{
if(!Сигнал())Флаг=Зеленый;
if(Сигнал()>0 && Флаг==Зеленый)
{
OrderSend(Покупка...);
Флаг=Красный;
}
if(Сигнал()<0 && Флаг==Зеленый)
{
OrderSend(Продажа...);
Флаг=Красный;
}
}
int Сигнал() // Сигналы покупки и продажи
{
return ЧтоНадо;
}
ебята подскажите где найти или погомогите исправить трэйлинг стоп который работает по такой логике:
открылся например ордер на BUY с ТР = 100 и SL = 200, и когда цена прошла на BUY и прошла 50 пунктов, то SL стал по цене открытия, а ТР отодвинулся на 50 пунктов и так постоянно????
void TrailingPositions(int otype)
{
int cnt = OrdersTotal();
int lMinProfit = 0; // Мин. кол-во пунктов
int lTrailingStop = 40; // Уровень выставления трала (сколько пунктов скакнет от предыдущего расстояния SL)
int lTrailingStep = 20; // Уровень трала (пункты через которые он сработает)
for (int i=0; i<cnt; i++)
{
if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;
if (OrderSymbol() != Symbol()) continue;
if (OrderType() == OP_BUY && otype == OP_BUY) {
if (Bid-OrderOpenPrice() > lMinProfit*Point) {
if (OrderStopLoss() < Bid-(lTrailingStop+lTrailingStep-1)*Point) {
if(OrderModify(OrderTicket(), OrderOpenPrice(), Bid-lTrailingStop*Point, TP + lTrailingStop * Point, 0, Blue))
Print("Работает трейлинг");
}
}
}
if (OrderType() == OP_SELL && otype == OP_SELL) {
if (OrderOpenPrice()-Ask > lMinProfit*Point) {
if (OrderStopLoss() > Ask+(lTrailingStop+lTrailingStep-1)*Point || OrderStopLoss() == 0) {
if(OrderModify(OrderTicket(), OrderOpenPrice(), Ask+lTrailingStop*Point, TP - lTrailingStop * Point, 0, Red))
Здравствуйте товарищи! Помогите пожалуйста с установкой объекта "кнопка", мне нужно разместить код в советник, так что бы непосредственно на графике кнопка в нажатом или не нажатом состоянии возвращала значение bool. Заранее благодарю!
Arseniy Barudkin: Здравствуйте товарищи! Помогите пожалуйста с установкой объекта "кнопка", мне нужно разместить код в советник, так что бы непосредственно на графике кнопка в нажатом или не нажатом состоянии возвращала значение bool. Заранее благодарю!
Гоняю советник в тестере. При модификации ордера BUYSTOP выдаёт ошибку:
Отчего не пойму. Цена на которую предлагается передвинуться ордеру на 40 больше цены Ask, StopLevel =30. Цена нормализована, что ещё надо???
Гоняю советник в тестере. При модификации ордера BUYSTOP выдаёт ошибку:
Отчего не пойму. Цена на которую предлагается передвинуться ордеру на 40 больше цены Ask, StopLevel =30. Цена нормализована, что ещё надо???
подскажите пожалуйста как сделать функцию задания нужного количества ордеров ! например что б открывалось в заданное нами кол-во ордеров не более . в mql4
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("Открыто нужное количество ордеров"); если это использовать то открывается несколько подряд идущих ордеров ! а не ордеров если есть следующий сигнал на сделку вот как сделать так что бы открывал нужное количество ордеров если есть следующие сигналы на сделку после первого открытого ордера ! ?
а чего не кто не помогает ! пожалуйста .
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("Открыто нужное количество ордеров"); если это использовать то открывается несколько подряд идущих ордеров ! а не ордеров если есть следующий сигнал на сделку вот как сделать так что бы открывал нужное количество ордеров если есть следующие сигналы на сделку после первого открытого ордера ! ?
ебята подскажите где найти или погомогите исправить трэйлинг стоп который работает по такой логике:
открылся например ордер на BUY с ТР = 100 и SL = 200, и когда цена прошла на BUY и прошла 50 пунктов, то SL стал по цене открытия, а ТР отодвинулся на 50 пунктов и так постоянно????
int cnt = OrdersTotal();
int lMinProfit = 0; // Мин. кол-во пунктов
int lTrailingStop = 40; // Уровень выставления трала (сколько пунктов скакнет от предыдущего расстояния SL)
int lTrailingStep = 20; // Уровень трала (пункты через которые он сработает)
Можно короче строк на 5, но лень думать...
Здравствуйте товарищи! Помогите пожалуйста с установкой объекта "кнопка", мне нужно разместить код в советник, так что бы непосредственно на графике кнопка в нажатом или не нажатом состоянии возвращала значение bool. Заранее благодарю!
вот