VOLDEMAR: Вот когда вы это на реале запустите " шаг*пункт станут > теперешнего убытка, тогда и прибудет к Вам прибыль" вы увидите как ваша прибыль становится фиксированным минусом ... Из за работы брокера ... Я не зря задался поставить тейк так как по прибыли уже проверено ..........
Странный Вы. Моё сообщение является ещё одним ответом на Ваш вопрос. Это лишь другой способ. Но он более понятен визуально.
подскажите, пожалуйста, начинающему программеру, как с помощью функции OrderSelect выбрать последнюю закрытую сделку? Я пытался так: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), но судя по всему таким образом никакой ордер не выбирается...
Moslift: подскажите, пожалуйста, начинающему программеру, как с помощью функции OrderSelect выбрать последнюю закрытую сделку? Я пытался так: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), но судя по всему таким образом никакой ордер не выбирается...
-Страница№4 GetTypeLastClosePos - Возвращает тип последней закрытой позиции или -1 GetTypeLastOpenPos - Возвращает тип последней открытой позиции или -1 isCloseLastPosByStop - Возвращает флаг закрытия последней позиции по стопу isCloseLastPosByTake - Возвращает флаг закрытия последней позиции по тейку. isLossLastPos - Возвращает флаг убыточности последней позиции. isTradeToDay - Возвращает флаг торгов сегодня NumberOfBarCloseLastPos - Возвращает номер бара закрытия последней позиции или -1. NumberOfBarOpenLastPos - Возвращает номер бара открытия последней позиции или -1. NumberOfLossPosToday - Возвращает количество убыточных позиций, закрытых сегодня. PriceCloseLastPos - Возвращает цену закрытия последней закрытой позиций.
Moslift: подскажите, пожалуйста, начинающему программеру, как с помощью функции OrderSelect выбрать последнюю закрытую сделку? Я пытался так: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), но судя по всему таким образом никакой ордер не выбирается...
Попробуйте так:
int i, j;
datetime t;
for (i=0; i<OrdersHistoryTotal(); i++) { // Цикл по закрытым ордерам терминалаif (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {// Если выбран ордер...if (OrderType()>1) continue; // ... если его тип не Buy и не Sell, переходим к следующему...if (OrderSymbol()!=Symbol()) continue; // ... если его символ не соответствует символу графика - к следующему...if (OrderMagicNumber()!=Magic) continue; // ... если его магик не соответствует магику советника (в переменной Magic) - к следующемуif (OrderCloseTime()>t) { // ... если время его закрытия больше предыдущего
t=OrderCloseTime(); // ... сохраним новое наибольшее время закрытия, ...
j=i; // ... сохраним индекс ордера в массиве закрытых ордеров
}
}
}
if (OrderSelect(j,SELECT_BY_POS,MODE_HISTORY)) // На этом этапе j содержит индекс последнего закрытого ордераPrint("Выбран последний закрытый ордер с тикетом ",OrderTicket());
Учтите, что в цикле проверяются только Бай или Селл. Надеюсь на основе сего сможете сделать выбор и остальных типов ордеров
ЗЫ... Писал "на коленке" мог ошибочку где-нить упустить какую...
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Вот когда вы это на реале запустите " шаг*пункт станут > теперешнего убытка, тогда и прибудет к Вам прибыль" вы увидите как ваша прибыль становится фиксированным минусом ... Из за работы брокера ... Я не зря задался поставить тейк так как по прибыли уже проверено ..........
Идея номер 5 ТС - Собственный Паттерн ( Образец ). Там и рисунок есть. ТС и торговые критерии простые и
много времени у хорошего программера не отнимут. Неужели никому не интересно посмотреть на результаты ?
Попробуйте открыть демосчет с таким плечом - 1:1. И тестируйте.
Может получится?
подскажите, пожалуйста, начинающему программеру, как с помощью функции OrderSelect выбрать последнюю закрытую сделку? Я пытался так: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), но судя по всему таким образом никакой ордер не выбирается...
Посмотрите вот здесь: https://www.mql5.com/ru/forum/131859
-Страница№4
GetTypeLastClosePos - Возвращает тип последней закрытой позиции или -1
GetTypeLastOpenPos - Возвращает тип последней открытой позиции или -1
isCloseLastPosByStop - Возвращает флаг закрытия последней позиции по стопу
isCloseLastPosByTake - Возвращает флаг закрытия последней позиции по тейку.
isLossLastPos - Возвращает флаг убыточности последней позиции.
isTradeToDay - Возвращает флаг торгов сегодня
NumberOfBarCloseLastPos - Возвращает номер бара закрытия последней позиции или -1.
NumberOfBarOpenLastPos - Возвращает номер бара открытия последней позиции или -1.
NumberOfLossPosToday - Возвращает количество убыточных позиций, закрытых сегодня.
PriceCloseLastPos - Возвращает цену закрытия последней закрытой позиций.
подскажите, пожалуйста, начинающему программеру, как с помощью функции OrderSelect выбрать последнюю закрытую сделку? Я пытался так: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), но судя по всему таким образом никакой ордер не выбирается...
Попробуйте так:
Учтите, что в цикле проверяются только Бай или Селл. Надеюсь на основе сего сможете сделать выбор и остальных типов ордеров
ЗЫ... Писал "на коленке" мог ошибочку где-нить упустить какую...
Скажите пожалуйста почему не работает эта функция и как сделать так чтобы работала?
nomer_sdelki=OrderSend(Symbol(),OP_SELL,1,Bid,3, Bid-10*Point,Ask+10*Point,"My order #"+1,16384,0,Green);
------------------------------------------------------------------------------------------------------------------------
А вот в таком виде работает!!!
nomer_sdelki=OrderSend(Symbol(),OP_SELL,koefficent,Bid,3,0,0,"My order #"+1,16384,0,Green);
то есть когда не заданы стопы работает.
------------------------------------------------------------------------------------------------------------------------------
Вот эта функция тоже не работает, как исправить?
OrderClose(nomer_sdelki,koefficent,Bid,3,Red);
-----------------------------------------------------------------------------------------------------------------------------------
Попробуйте открыть демосчет с таким плечом - 1:1. И тестируйте.
Может получится?
Чудеса какие-то...
Было сообщение и нетути...
Отвечу: Может так нужно?