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

 

Всем добрый день,

Подскажите почему не срабатывает отложенный ордер, все параметры верны, пишет не верные стопы, если стопы ставлю понулям открывает, если прописываю выдает ошибку 130, но ошибки в написании нет, в чем проблема?????? всем спасибо!!!


int OrdSen_1;
int start()

{
 OrdSen_1=OrderSend(Symbol(), OP_BUYSTOP, 0.01, Ask+25, 3, Bid+(25-40)*Point, Ask+(25+40)*Point);

 
Aleksandr_8:

Уважаемые, кто объяснит почему в этом коде (закрытия ордеров) сначала ордер выбирается по SELECT_BY_POS,

а затем он же по : SELECT_BY_TICKET ? как ето работает?

Print (Symbol(), " НАЧИНАЕМ ЗАКРЫТИЕ BUY ЛИНИИ");
string symbol = Symbol();int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy) {
ticketbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta);
}

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

ticketbuy=OrderTicket();

и продолжаете работу уже с тикетом.

 
merkulov.artem:

Всем добрый день,

Подскажите почему не срабатывает отложенный ордер, все параметры верны, пишет не верные стопы, если стопы ставлю понулям открывает, если прописываю выдает ошибку 130, но ошибки в написании нет, в чем проблема?????? всем спасибо!!!


int OrdSen_1;
int start()

{
OrdSen_1=OrderSend(Symbol(), OP_BUYSTOP, 0.01, Ask+25, 3, Bid+(25-40)*Point, Ask+(25+40)*Point);

}


Ask+25

Цены StopLoss и TakeProfit не могут располагаться слишком близко к рынку. Минимальное расстояние стопов в пунктах можно получить, используя функцию MarketInfo() с параметром MODE_STOPLEVEL. В случае ошибочных, а также ненормализованных стопов генерируется ошибка 130 (ERR_INVALID_STOPS).

При установке отложенного ордера цена открытия не может быть слишком близкой к рынку. Минимальное расстояние отложенной цены от текущей рыночной цены в пунктах также можно получить, используя функцию MarketInfo() с параметром MODE_STOPLEVEL. В случае неправильной цены открытия отложенного ордера будет сгенерирована ошибка 130 (ERR_INVALID_STOPS).

   double bid   =MarketInfo("GBPUSD",MODE_BID); // Запрос значения Bid
   double ask   =MarketInfo("GBPUSD",MODE_ASK); // Запрос значения Ask
   double point =MarketInfo("GBPUSD",MODE_POINT);//Запрос Point
   // Открытие BUY
   OrderSend("GBPUSD",OP_BUY,0.1,ask,3,bid-15*Point,bid+15*Point);
   Alert (GetLastError());                      // Сообщение об ошибке
 
costy_:

Ask+25

Цены StopLoss и TakeProfit не могут располагаться слишком близко к рынку. Минимальное расстояние стопов в пунктах можно получить, используя функцию MarketInfo() с параметром MODE_STOPLEVEL. В случае ошибочных, а также ненормализованных стопов генерируется ошибка 130 (ERR_INVALID_STOPS).

При установке отложенного ордера цена открытия не может быть слишком близкой к рынку. Минимальное расстояние отложенной цены от текущей рыночной цены в пунктах также можно получить, используя функцию MarketInfo() с параметром MODE_STOPLEVEL. В случае неправильной цены открытия отложенного ордера будет сгенерирована ошибка 130 (ERR_INVALID_STOPS).


Когда открываю ордер OP_BUYSTOP . OP_BUYLIMIT и т.п. все нормально даже при близком значении к рынку, но при OP_BUY не верные стопы, хотя все верно, перепробовал все комбинации и значения все допустимы, таже прочитал на другом форуме что "Демо разные есть:-demo, -ndd-demo, -ecn-demo. Если 2 или 3 вариант - то там market execution, т.е. сначала нужно открыть ордер без стопов, а следующей командой (OrderModify) устанавливать стопы." у меня обычный демо созданный через MT4 и выдает всегда один сервер, так что вариантов нет. как проверить тот ли у меня счет и в чем в итоге ошибка?????

Причем на другом компе ордер срабатыл, если мне неизменяет память, у вас срабатывает или тоже ошибка 130.??!!!

Спасибо. 

 

Здравствуйте! Не могу понять почему индюк рисует стрелки до пересечения машек. Индикатор не мой, пытаюсь "прочитать"код. Думаю, что и баг есть. У кого есть время и не затруднит, прокомментируйте, плиз)))

Файлы:
 

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

когдато я находил среднее по вертикали и среднее по горизонтали (этих точек) и проводил линию через полученную координату, но мне вроде говорили что это неправильно

 
merkulov.artem:

Когда открываю ордер OP_BUYSTOP . OP_BUYLIMIT и т.п. все нормально даже при близком значении к рынку, но при OP_BUY не верные стопы, хотя все верно, перепробовал все комбинации и значения все допустимы, таже прочитал на другом форуме что "Демо разные есть:-demo, -ndd-demo, -ecn-demo. Если 2 или 3 вариант - то там market execution, т.е. сначала нужно открыть ордер без стопов, а следующей командой (OrderModify) устанавливать стопы." у меня обычный демо созданный через MT4 и выдает всегда один сервер, так что вариантов нет. как проверить тот ли у меня счет и в чем в итоге ошибка?????

Причем на другом компе ордер срабатыл, если мне неизменяет память, у вас срабатывает или тоже ошибка 130.??!!!

Спасибо.


Откройте в МТ4 окно "Новый ордер", если при "рыночном исполнении" окна SL и TP не активны, то ваше предположение верно, ошибку 130 выдаст.
 
Galion:

Здравствуйте! Не могу понять почему индюк рисует стрелки до пересечения машек. Индикатор не мой, пытаюсь "прочитать"код. Думаю, что и баг есть. У кого есть время и не затруднит, прокомментируйте, плиз)))

Да ошибки есть. Вот модификация, проверьте.

Так же новая версия http://forexsystems.ru/indikatory/12345-pomogite-glyuchit-sidus-v-2-a.html

Файлы:
 
eddy:

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

когдато я находил среднее по вертикали и среднее по горизонтали (этих точек) и проводил линию через полученную координату, но мне вроде говорили что это неправильно

Даже не знаю (хочу назад в прошлое, на геометрии посидеть)).
 
судя по рисунку - если б было 2 точки то можн было б просто найти центр гиппотенузы, но точек множество, и их разное кол-во с обеих сторон
Причина обращения: