нет, так не получится.. один ордер - один лот, если отрыли ордер лотом 3, то нельзя дробить лот как вы хотите - сначала 1, потом 1 и еще потом 1 - оредер закрывается целиком, т.е.ордер закрывает тем же лотом что и открывался, нельзя закрывать ордера частями..
ошибаетесь у меня есть тралл который закрывает лот частями
hope писал(а)>>не тем же. Закрывается треть лота (по одному из условий - допустим цена достигла +150 пп). Вторая треть закроется, допустим, когда +300 пп от открытия и т.д..
нет, так не получится.. один ордер - один лот, если отрыли ордер лотом 3, то нельзя дробить лот как вы хотите - сначала 1, потом 1 и еще потом 1 - оредер закрывается целиком, т.е.ордер закрывает тем же лотом что и открывался, нельзя закрывать ордера частями..
...........................
"....нельзя дробить лот..." - почему? Технически давно реализовано, а благодаря Roger и KimIV на стр.85 ушёл от ошибки 131 нормализовав лоты. К тому же утверждение "...один ордер - один лот, если отрыли ордер лотом 3, то нельзя дробить лот как вы хотите - сначала 1, потом 1..." неправильное: ордер - он же лот - состоит из объёма: 0.03, 0.3, 3... и спокойно закрывается частями: 0.01, 0.1, 1...так?
А суть моей последней просьбы была такова: возможно ли закрыть ВСЕ позиции не прибегая к массивам, а использовав стандартные подсчёты и сплюсовав их по типу
BuyTotalOp=0;// Количество Buy ордеров
SellTotalOp=0;// Количество Sell ордеровfor(int i=1; i<=OrdersTotal(); i++)// Цикл перебора ордер{if(OrderSelect(i-1,SELECT_BY_POS)==true)// Если есть следующий{// Анализ ордеров:if(OrderSymbol()!=Symb)continue;// Не наш фин. инструмif(OrderType()>1)// Попался отложенный{Alert("Обнаружен отложенный ордер. Эксперт не работает.");return;// Выход из start()}if(OrderType()==OP_BUY){
BuyTotalOp++;// Счётчик ордеров Buy
просто у меня сейчас ощущение корабля,уставшего, проплававшего по океану и надеющегося на маяк, который подскажет, надо ли плыть в этом направлении, или свернуть и попробовать другой путь...
Помогите пожалуйста закрыть ордер по любому вам удобнаму условию а то не как неполучается
Заранее спасибо
Пояснение
Стратегия закрытия ордера неважна может быть любая Помогите с помощю функций Кима сделать закрытие ордера
int start(){//----//Print (ExpertName);if(Bars<20)return(0);if(CheckNevBar)if(!NevBar())return(0);
TradesInThisSymbol = ExistPositions(sy);if(TradesInThisSymbol >0)return(0);if(AccountFreeMargin()< MarginMin){//Print("Not enough money to trade Strategy:", ExpertName);return(0);}
sy=Symbol();
Lots = GetSizeLot( sy, LotsWayChoice, LotsPercent, LotsDeltaDepo, LotsDepoForOne, LotsMax);if(CheckForOpen_Sell())
OpenPosition(sy,OP_SELL, Lots);// Тут работаетif(CheckForOpen_Buy())
OpenPosition(sy,OP_BUY, Lots);// Тут работаетif(CheckForClose_Buy())
ClosePositions(sy,OP_BUY);// Тут у меня что то неработаетif(CheckForClose_Sell())
ClosePositions(sy,OP_SELL);// Тут у меня что то неработает//----return(0);}//------------------------bool CheckForClose_Buy(){
Indicat_Var();if(ExistPositions(sy,OP_BUY, MagicNumber)){if(VininI_fast_trend ==-1)return(true); // Тут любое условие на закрытие//if(BB_MACD_2 > 0)return(true); // Тут любое условие на закрытиеelsereturn(false);}}//------------------------bool CheckForClose_Sell(){
Indicat_Var();if(NumberOfPositions(sy,OP_SELL, MagicNumber)>0){if(VininI_fast_trend ==1)return(true);// Тут любое условие на закрытие//if(BB_MACD_1 > 0) // Тут любое условие на закрытие//return(true);elsereturn(false);}}
нет, так не получится.. один ордер - один лот, если отрыли ордер лотом 3, то нельзя дробить лот как вы хотите - сначала 1, потом 1 и еще потом 1 - оредер закрывается целиком, т.е.ордер закрывает тем же лотом что и открывался, нельзя закрывать ордера частями..
ошибаетесь у меня есть тралл который закрывает лот частями
ордеров новых, конечно, не открывает ?
нет, так не получится.. один ордер - один лот, если отрыли ордер лотом 3, то нельзя дробить лот как вы хотите - сначала 1, потом 1 и еще потом 1 - оредер закрывается целиком, т.е.ордер закрывает тем же лотом что и открывался, нельзя закрывать ордера частями..
...........................
"....нельзя дробить лот..." - почему? Технически давно реализовано, а благодаря Roger и KimIV на стр.85 ушёл от ошибки 131 нормализовав лоты. К тому же утверждение "...один ордер - один лот, если отрыли ордер лотом 3, то нельзя дробить лот как вы хотите - сначала 1, потом 1..." неправильное: ордер - он же лот - состоит из объёма: 0.03, 0.3, 3... и спокойно закрывается частями: 0.01, 0.1, 1...так?
А суть моей последней просьбы была такова: возможно ли закрыть ВСЕ позиции не прибегая к массивам, а использовав стандартные подсчёты и сплюсовав их по типу
просто у меня сейчас ощущение корабля,уставшего, проплававшего по океану и надеющегося на маяк, который подскажет, надо ли плыть в этом направлении, или свернуть и попробовать другой путь...
Игорь - мы зря дербаним твою ветку?
Закрыть все по одной паре но разношерстные, можно, например так:
б,с,с,б,б,с,б обьёмом 1,2,1,2,2,1,2 общим перекрытым обьёмом 1-2-1+2+2-1+2=3 лота
Суммируем, получаем сумлот бай 3 лота и выставляем встречный этого обьёма селл 3 лота
а затем закрываем клозе би.
*
Впрочем на вопрос: возможно ли закрыть ВСЕ позиции ?
да можно, последовательно друг за другом, скриптом это быстро, аап! и всё...
Сами скрипты или функции закрытия публиковались не раз...
Причём настроив их можно закрывать как всё разом, так и по критериям, например:
- по конкретному символу
- только баи или только селлы
- только профитные
Соответственно возможны и комбинации критериев...
Помогите пожалуйста закрыть ордер по любому вам удобнаму условию а то не как неполучается
Заранее спасибо
Закроет всё!!!
Закроет лишь открытые позы.
Пример вызова.
Скрипт закрытия полностью.
Ким Вы лучший. Снимаю перед Вами шляпу.
Изучил все Ваши функции, но вот негаразд один, или гаразд. Теперь пишу когда функции, пишу из головы, а в голове то Ваши функции :-)
Очень много функций Ваших полезныхх изучал еще на начле карьеры программиста.
Спасибо.
Помогите пожалуйста закрыть ордер по любому вам удобнаму условию а то не как неполучается
Заранее спасибо
Пояснение
Стратегия закрытия ордера неважна может быть любая Помогите с помощю функций Кима сделать закрытие ордера