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

 

Подскажите еще вот такой момент, а то я под запутался:

ticketSell = OpenPendingOrderSell(1, iLotsSell, Bid, slip, Ask, 0, 0, EAName + "-" + NumOfTradesSell, MagicNumberSell, 0, HotPink);

куда здесь правильней вставит: "EURUSD", Period_H1,

и если можно расшифровку, что тогда получится. это мне надо для понимания, могу ли я вот так делать:

extern int MagicNumber = 312;
int ticket;
bool intersectionX = FALSE,
     intersectionY = FALSE;
int start()

  { 
if  (Ask-iCustom ("EURUSD", Period_H1, "Indicator",0,0) == 0)  {
intersectionX = TRUE;
intersectionY = FALSE;
}
if  (iCustom ("EURUSD", Period_H1, "Indicator",1,0)-Bid == 0) {
intersectionY = TRUE;
intersectionX = FALSE;
}
if(intersectionY){
ticket = OpenPendingOrder("EURUSD", Period_H1, iLots, OP_BUY, 3, Ask,  0, 0, MagicNumber);
}
}
 
belck:

Подскажите еще вот такой момент, а то я под запутался:

куда здесь правильней вставит: "EURUSD", Period_H1,

и если можно расшифровку, что тогда получится. это мне надо для понимания, могу ли я вот так делать:

Сходите сюда, поучитесь на рабочих функциях. Когда всё будете понимать - свои влёгкую напишете...
 
artmedia70:
Сходите сюда, поучитесь на рабочих функциях. Когда всё будете понимать - свои влёгкую напишете...

спасибо.

я тут столкнулся с непонятным явлением: реальный сигнал на графике для советника на открытие сделки, а он не запускает и ошибок ни каких не выдает. что это может быть?

 

я вот читаю, читаю и ни как до меня не дойдет.

в

ticket=OrderSend(sy, op, ll, pp, Slippage, sl, tp, "", mn, ex, clOpen);

sy это валютный график? если да то как его правильно указать.

вот так?:

ticket=OrderSend("EURUSD", op, ll, pp, Slippage, sl, tp, "", mn, ex, clOpen);

или

ticket=OrderSend(sy"EURUSD", op, ll, pp, Slippage, sl, tp, "", mn, ex, clOpen);
 

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

и поэтому я не до пойму как его правильно.

у меня вот так:

double one = iCustom ("EURUSD", RERIOD_H1, "indicator",14,0,0);

Buy = (one < 80);

if (Buy){
ticket = // тут указывать валютную пару или нет?? вот этого я не до пойму. если да то так как я вверху из вариантов привел или как то по другому?
}
 
belck:

я вот читаю, читаю и ни как до меня не дойдет.

в

sy это валютный график? если да то как его правильно указать.

вот так?:

или

Если это к ф-ции Игоря Кима, то он же к каждой своей ф-ции даёт скрипт или описание как её вызывать.
В данном случае - sy - это переменная, передаваемая в функцию при её вызове. В самой ф-ции в начале она проверяется и, если передано NULL или "", то sy=symbol();
Остальное - по аналогии.
 
belck:

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

и поэтому я не до пойму как его правильно.

у меня вот так:

Вот это что?
Buy = (one < 80);
Это как?
 

я нашел

int start()                               // Спец. функция start
  {                                       // Открытие BUY
   OrderSend("GBPUSD",OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
   return;                                // Выход из start()
  }

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

ouble one = iCustom ("EURUSD", RERIOD_H1, "indicator",14,0,0);

Buy = (one < 80);

if (Buy){

OrderSend("GBPUSD",OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
}

или вариант только такой??:

ouble one = iCustom ("EURUSD", RERIOD_H1, "indicator",14,0,0);

Buy = (one < 80);

      PrevClBuy = iClose("EURUSD", RERIOD_H1, 2);
      CurrClBuy = iClose("EURUSD", RERIOD_H1, 1);
if (PrevClBuy > CurrClBuy)
if (Buy){

OrderSend("GBPUSD",OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
}
 
belck:

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

и поэтому я не до пойму как его правильно.

у меня вот так:

Наверное нужно так (привёл пример вызова кимовской ф-ции с проверкой на время после открытия предыдущей позы, ну и некоторые переменные из моей головы...):
double pa = MarketInfo(Symbol(),MODE_ASK);
double pb = MarketInfo(Symbol(),MODE_BID);
double po = MarketInfo(Symbol(),MODE_POINT);
double sl, tp;


double one = iCustom ("EURUSD", RERIOD_H1, "indicator",14,0,0);

if (one < 80) Buy=true;

if (Buy)
   {
      MagicB=51;                                         // Задаём магик... 5 и 1; 5 = пять минут, 1 = стратегия 1
      New_Comm="Expert";                                // Задаём комментарий для позиции
      sl = pb-StopLoss*po;
      tp = 0;
         
      if (SecondsAfterOpenLastPos(NULL, OP_BUY, MagicB)>=7*60)
          OpenPosition(NULL,OP_BUY,Lots,sl,tp,MagicB,New_Comm);
   }
 
belck:

я нашел

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

или вариант только такой??:

Всё неверно. Если вызов ф-ции Игоря Кима, то я выше привёл пример.
Причина обращения: