[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 360

 
Vitya >>:

Если вы про локирование, то вы не поняли ---- я не настаиваю на этом я сам не умею этим пользоватся.

Закрыть часть убыточных позиций?------думаю вариант только ещё не пробовал.

Поторгуйте в ручную на тестере ответ найдете только там (или на демо) вот ссылка на тренажер

https://www.mql5.com/ru/code/9185

 
costy_ >>:

Поторгуйте в ручную на тестере ответ найдете только там (или на демо) вот ссылка на тренажер

https://www.mql5.com/ru/code/9185

Думаю ответ можно найти только в матиматике или с высоты опыта реальной торговли. Плохо что нету не того ни другого. А за сылку спасибо

 
Vitya >>:

Думаю ответ можно найти только в матиматике или с высоты опыта реальной торговли. Плохо что нету не того ни другого. А за сылку спасибо

Математика математикой а торговля торговлей, ни туда и ни сюда без знаний, учитесь и со временем у вас все получится!

Советую в ручной торговле начинать с CCI(55) и MA(55) на M5 GBPJPY период число Фибоначчи ну и в пределах этого числа ищите свой период (сегодня мое это 67), успехов в начинаниях!

Да, чуть не забыл, время торгов тоже очень важно, а именно открытие торг. сессии того региона валюта которой является основной (и америка...).

 
Может ли кто-нибудь проверить все ли правильно в этом модуле:
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// MOVE SL TO BE

if(Mode_Close_Part_Set_BE_1==true   &&   OrdersTotal()>0) {

      for(int cnt_BE=0; cnt_BE<OrdersTotal(); cnt_BE++) {
         OrderSelect(cnt_BE, SELECT_BY_POS);         // the next line will check for ONLY market trades, not entry orders
         Ticket = OrderTicket();

// BUY -----------------------------------------------------------------------------------------
         if(OrderType()==OP_BUY   &&   OrderSymbol()==Symbol()   &&   OrderStopLoss()<OrderOpenPrice()   &&   Ask>=(OrderOpenPrice()+ MathAbs(OrderOpenPrice()-OrderStopLoss())) ) {
                  double SL_Original_Buy   = OrderStopLoss();

                  bool AnsHalfModifySL_Buy = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
                  Sleep(Slippage*3000);

                  if(AnsHalfModifySL_Buy==true) {
                     BreakEvenStatus_Buy   = true;
                     Alert ("SL Buy which was ", SL_Original_Buy, " set to BreakEven at ", OrderStopLoss(), " for ", Symbol());
                  }

                  if(Fun_Error(GetLastError())==1) {       // Обработка ошибок
                     continue;                             // Повторная попытка
                  }

                  return;                                // Выход из start()
         } // if(OrderType() == OP_BUY  &&  OrderSymbol()==Symbol() )
// EO BUY -----------------------------------------------------------------------------------------


// SELL -----------------------------------------------------------------------------------------
         if(OrderType()==OP_SELL  &&  OrderSymbol()==Symbol()   &&   OrderStopLoss()>OrderOpenPrice()   &&   Bid<=(OrderOpenPrice()-MathAbs(OrderStopLoss()-OrderOpenPrice())) ) {
                  double SL_Original_Sell   = OrderStopLoss();

                  bool AnsHalfModifySL_Sell = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);
                  Sleep(Slippage*3000);

                  if(AnsHalfModifySL_Sell==true) {
                     BreakEvenStatus_Sell   = true;
                     Alert ("SL Sell which was ", SL_Original_Sell, " set to BreakEven at ", OrderStopLoss(), " for ", Symbol());
                  }

                  if(Fun_Error(GetLastError())==1) {       // Обработка ошибок
                     continue;                             // Повторная попытка
                  }

                  return;                                // Выход из start()
         } // if(OrderType() == OP_SELL  &&  OrderSymbol()==Symbol() )
// EO SELL -----------------------------------------------------------------------------------------

      } // for(cnt_BE=0; cnt_BE<OrdersTotal(); cnt_BE++)
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Спрашиваю, поскольку после каждого вызова появляется сообщение: "Возникла ошибка 0", хотя все вроде работает правильно (переход в безубыток).





 
chief2000 писал(а) >>
Может ли кто-нибудь проверить все ли правильно в этом модуле:

Спрашиваю, поскольку после каждого вызова появляется сообщение: "Возникла ошибка 0", хотя все вроде работает правильно (переход в безубыток).

Вернее всего попытка модификации ордера по старым ценам. Надо бы сравнивать новые и старые параметры ордера. И модифицировать только при необходимости.

 

Ошибка 0 бывает когда OrderModify на самом деле ничего не модифицирует - меняет цену на старую.

 

Вот Пример:




Открылся ордер со СЛ=1.1596. Затем СЛ изменился на 1.1570, а напоследок эта ошибка.

По второму кругу пойти не может, т.к. стоит условие:

... OrderStopLoss()>OrderOpenPrice() ...


- Что бы это могло быть?





 
chief2000 писал(а) >>

Вот Пример:

Открылся ордер со СЛ=1.1596. Затем СЛ изменился на 1.1570, а напоследок эта ошибка.

По второму кругу пойти не может, т.к. стоит условие:

- Что бы это могло быть?

Может. Логические условия проверь еще раз, но только с утра.

То что в логику заложено - позволяет это делать.

 
Vinin >>:

Может. Логические условия проверь еще раз, но только с утра.

То что в логику заложено - позволяет это делать.

Проверю. Спасибо!

 

Помогите

int start()  {
//----
Alert(Minute(),Hour());
int Minute( )
Возвращает текущую минуту (0,1,2,..59) последнего известного серверного времени на момент старта программы (в процессе выполнения программы это значение не меняется).

Замечание: при тестировании последнее известное время сервера моделируется.

Но в индикаторе, при тестировании, последнее известное время сервера не моделируется.Так и должно быть?

Причина обращения: