Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 50

 
wwowwa:

Подскажите если кто знает. Советник Gepard 5.0 на Forex4you открывает некоторые сделки уже с большим минусом. Где можно подрегулировать настройки?



ну в плане подрегулировать можо по истории прогнать напротив настройки ставишь галочку указываеш настройки первоначальные шаг и конечную например настройки тейк профит ставиш начало 1 далее шаг 1 и стоп 100 далее устанавливаешь галочку оптисмизация и советник прогоняет все варианты изменяя тейк профит на 1 и далее выдает просадки и профиты

ну если вы имеете ввиду другое то необходимо уточнить что вы имеете ввиду под подрегулировать настройки

 
Не знаю как объяснить. При открытии советником нового ордера в колонке "Прибыль" сразу появляется большой минус, как будто срабатывает с большим опозданием и уходит в минус. Может в самом советнике надо настройки изменить, правда боюсь что нибудь напортить. В основном торговля идет потихоньку с прибылью.
 
ну большой это сколько вот например мой трейдер берет 2 пункта за сделку тоесть открываю позишни у меня минус 2.. а может советник убогий.. узнайте вбщем сколько трейдер берет за сделку
 
Нет в основном сделки открываются с малым минусом, а сегодня по золоту открыл с -9,58. И потом целый день добирал до плюса. Чего ему надо.
 
Merincool:


а как? ведь если определили, что индикатор оконный, как вывести стрелки на чарт? буферов использую только 4


На чарт, тогда сорри, видимо не внимательно прочитал. Хотя можно использовать второй индикатор, который использует расчеты от первого

 
Попробую повториться, подскажите, как правильно сделать, чтобы после открытия именно этой позиции код советника начинал работать с начала, когда делаю

if (ticketbuy>0)
{
return;
}

он больше ордеров не открывает по другим условиям, которые идут ниже в коде, т.е. видит этот один>0, а у меня их несколько может открываться. Спасибо.
 

Здравствуйте, господа хорошие! Проблемка,

как выставить ордер, если у него ТР должен ровняться 100?

ошибку 130 показывает по паре евро/доллар тест.

Возможно через функцию Ким CorrectingPrice, вот только вопрос, что за цена открытия/установки? Ask/Bid

И как эту функцию задействовать?

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 02.07.2013                                                     |
//|  Описание : Выполняет корректирование ценовых уровней под STOPLEVEL.       |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование торгового инструмента                                 |
//|    op - торговая операция                                                  |
//|    pp - цена открытия/установки                                            |
//|    sl - ценовой уровень StopLoss                                           |
//|    tp - ценовой уровень TakeProfit                                         |
//+----------------------------------------------------------------------------+
void CorrectingPrice(string sy, int op, double& pp, double& sl, double& tp) {
  if (sy=="" || sy=="0") sy=Symbol();
  RefreshRates();
  int    di=MarketInfo(sy, MODE_DIGITS);
  int   msl=MarketInfo(sy, MODE_STOPLEVEL);
  int    sp=MarketInfo(sy, MODE_SPREAD);
  double mp=MarketInfo(sy, MODE_POINT);
  double pa=MarketInfo(sy, MODE_ASK);
  double pb=MarketInfo(sy, MODE_BID);
  double ds=NormalizeDouble(pp-sl, di);
  double dp=NormalizeDouble(pp-tp, di);

  if (msl==0) msl=2*sp;
  switch (op) {
    case OP_BUY:
      pp=pa;
      sl=pp-ds;
      tp=NormalizeDouble(pp-dp, di);
      if (sl>pp-msl*mp) sl=pp-msl*mp;
      if (tp>0 && tp<pp+msl*mp) tp=pp+msl*mp;
      break;
    case OP_SELL:
      pp=pb;
      sl=NormalizeDouble(pp-ds, di);
      tp=pp-dp;
      if (sl>0 && sl<pp+msl*mp) sl=pp+msl*mp;
      if (tp>pp-msl*mp) tp=pp-msl*mp;
      break;
    case OP_BUYLIMIT:
      if (pp>pa-msl*mp) {
        pp=pa-msl*mp;
        sl=pp-ds;
        tp=NormalizeDouble(pp-dp, di);
      }
      if (sl>pp-msl*mp) sl=pp-msl*mp;
      if (tp>0 && tp<pp+msl*mp) tp=pp+msl*mp;
      break;
    case OP_BUYSTOP:
      if (pp<pa+msl*mp) {
        pp=pa+msl*mp;
        if (sl>0) sl=pp-ds;
        if (tp>0) tp=NormalizeDouble(pp-dp, di);
      }
      if (sl>pp-msl*mp) sl=pp-msl*mp;
      if (tp>0 && tp<pp+msl*mp) tp=pp+msl*mp;
      break;
    case OP_SELLLIMIT:
      if (pp<pb+msl*mp) {
        pp=pb+msl*mp;
        sl=NormalizeDouble(pp-ds, di);
        tp=pp-dp;
      }
      if (sl>0 && sl<pp+msl*mp) sl=pp+msl*mp;
      if (tp>pp-msl*mp) tp=pp-msl*mp;
      break;
    case OP_SELLSTOP:
      if (pp>pb-msl*mp) {
        pp=pb-msl*mp;
        sl=NormalizeDouble(pp-ds, di);
        tp=pp-dp;
      }
      if (sl>0 && sl<pp+msl*mp) sl=pp+msl*mp;
      if (tp>pp-msl*mp) tp=pp-msl*mp;
      break;
    default:
      Message("CorrectingPrice(): Неизвестная торговая операция!");
      break;
  }
}
   
 
wwowwa:
Нет в основном сделки открываются с малым минусом, а сегодня по золоту открыл с -9,58. И потом целый день добирал до плюса. Чего ему надо.

Вы посмотрите какая у золота цена одного пункта, гляньте какой спред и, надеюсь, станет всё ясно.

Подсказка: Позиция Buy открывается по цене Ask, в то время как Bid меньше Ask на размер спреда. Как только вы открываете позицию, она сразу же открывается с минусом, равным спреду. Поэтому, не советнику чего-то надо..., эт вам надо учить матчасть...

 
Top2n:

Здравствуйте, господа хорошие! Проблемка,

как выставить ордер, если у него ТР должен ровняться 100?

ошибку 130 показывает по паре евро/доллар тест.

Возможно через функцию Ким CorrectingPrice, вот только вопрос, что за цена открытия/установки? Ask/Bid

И как эту функцию задействовать?

Тейк должен равняться 100 пунктов от цены открытия, а не 100. Поэтому у вас и ошибка.

Берёте цену открытия, прибавляете (для Buy) или отнимаете (для Sell) к ней(от неё) 100 пунктов, помноженных на Point и получаете цену Тейка. Прежде, чем отправить торговый приказ на сервер, проверьте, чтобы ваш тейк укладывался в размер СтопЛевел вашего ДЦ. Ответ на последующий ваш вопрос здесь.

 
artmedia70:

Тейк должен равняться 100 пунктов от цены открытия, а не 100. Поэтому у вас и ошибка.

Берёте цену открытия, прибавляете (для Buy) или отнимаете (для Sell) к ней(от неё) 100 пунктов, помноженных на Point и получаете цену Тейка. Прежде, чем отправить торговый приказ на сервер, проверьте, чтобы ваш тейк укладывался в размер СтопЛевел вашего ДЦ. Ответ на последующий ваш вопрос здесь.



Спасибо, но я понимаю что надо через определенные вычисления получить ТР (Ask + TP * Point) это для BUY и т.п.

Вот что получается, что сразу ТР=100 пипсов не выставляется,а например на 130 работает. Но если делаешь в ручном режиме, то можно сначала выставить ордер а потом подтянуть ТР на 100 п.

У брокера СтопЛевл 0.00050.

Может при открытии ТР считает без спреда, а по заявленной цене. Хотя бред какой-то.

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