Советники: Trade-Arbitrage - страница 42

 
Описанная ситуация с 5-ю позициями не противоречит логике, если мультивалютный хэдж сохраняется.
Все арбитражные ситуации "ведутся" независимо друг от друга. Открытые позиции в терминале - это лишь внешнее представление открытых арбитражных позиций (виртуальные, см. логи).
О int Tmp = 1 / MarketInfo(Symb, MODE_LOTSTEP) + 0.1:
Вычисления производятся с определенной точностью Например, 1 / 0.01 может быть на чуть-чуть больше 100 или на чуть-чуть меньше 100. В данном случае необходима уверенность, что получится больше 100, чтобы при отбрасывании вещественной части получить целое число 100, а не 99. 0.1 - страховка на такой случай, может быть и другим значением.
 
По поводу предыдущих вопросов, я все понял, согласен.
а как отменить кучу ордеров, которые пытаются открыться, но не открываются из-за того, что уже на счету недостаточно средств??? Советник я перекомпилировал, закрыл верхние ордера, свободные средства появились, но брокер(терминал) открыл эти ордера, которые в минусе и тут же закрыл в минусе (это вообще уже неизвестно почему)!  
Например:
2010.04.28 19:03:27 Trade-ArbitrageSvobSred NZDCAD,M1: -1 = OrderSend(EURCAD, OP_BUY, 0.04, 1.3355, 0, 0, 0) - not enough money, SlipPage = 0, Lots = 0
2010.04.28 19:03:27 Trade-ArbitrageSvobSred NZDCAD,M1: 16083400 = OrderSend(EURCAD, OP_BUY, 0.04, 1.3355, 0, 0, 0) - no error, SlipPage = 0, Lots = 0.04
  А как он этот ордер закрыл вообще только во вкладке "журналы" написано, а во вкладке "эксперты" нет:
2010.04.28 19:03:33 '143263': order #16083400 buy 0.04 EURCAD at 1.3355 sl: 0.0000 tp: 0.0000 closed at price 1.3341

  И еще - я поставил условие на запрет открытия ордеров при малом количестве свободных средств

void OpenArbitragePosition( int NumSymbol, int Variant1, int Variant2, double Vol )
{
int V;
double XPos;
int j, k;

// Ничего не делаем, если по текущему арбитражу уже открыта позиция
if (svobSredstv>AccountFreeMargin()) return;

    Но когда советник открывает серию арбитражных ситуаций, то он проходит условие " if (svobSredstv>AccountFreeMargin()) return; " один раз...! Как так? И сразу свободные средства все исчезают и не хватает даже на открытие еще 1-2 ордеров последнего арбитража. 
Вы скажете minpips больше ставить, так он и так был равен minpips=6.. Не рационально. Хотелось бы найти, где ограничение это поставить правильно
 
Уважаемый автор, - если еще свеж в памяти этот советник:
в том, что в массиве int AllSymbols[MAX_ALLSYMBOLS][MAX_VARIANTSYMBOLS] хранятся как ij так и ji пары, есть какой-то скрытый смысл, или это для упрощения алгоритма?
Т.е. если мы мониторим в AllSymbols ij пару EURUSD и все ее синтетические варианты, привнесет ли что-то новое постоянный мониторинг в AllSymbols также и пары USDEUR и ее синт. вариантов?
А то при расширении функционала начинает давать знать время вычислений.

П.С. в продолжении темы Limit ордеров в этом алгоритме:
Заметил у Альпари в регламенте:
"...Дилер вправе отклонить запрос ... если у данного Клиента в последнее время соотношение количества отданных распоряжений к совершенным сделкам стабильно превышает разумные пределы (В среднем 10 распоряжений на одну торговую операцию)"
у кого-то есть практический опыт постоянного трала Лимит-ордеров на реале? Как реагируют брокеры при систематических, скажем, одной сделке на 100 изменений лимит-ордера?
 

У меня советник нашел 4 случая с minpips почти 20, всего "получается как 80", а открыл так, что в сумме оказалось не 80, а -5..

Проверяю, сколько minpips сейчас у этих ситуаций - по прежнему +10-15. 

06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: Variant1 = EURUSD / AUDUSD (Bid = 1.415126), Variant2 = EURJPY / AUDJPY (Ask = 1.413240), Difference = 18.9 pips
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: ; SELL EURUSD(-0.02) = 1.2780 Bid; BUY AUDUSD(0.03) = 0.9031 Ask; BUY EURJPY(0.02) = 118.91 Ask; SELL AUDJPY(-0.03) = 84.14 Bid
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: svobSredstv=200 < AccountFreeMargin()=497.55
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: Variant1 = EURUSD (Bid = 1.278000), Variant2 = EURJPY / USDJPY (Ask = 1.275858), Difference = 21.4 pips
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: ; SELL EURUSD(-0.02) = 1.2780 Bid; BUY EURJPY(0.02) = 118.91 Ask; SELL USDJPY(-0.03) = 93.20 Bid
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: svobSredstv=200 < AccountFreeMargin()=497.55
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: Variant1 = EURUSD * USDJPY (Bid = 119.109600), Variant2 = EURJPY (Ask = 118.910000), Difference = 20.0 pips
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: ; SELL EURUSD(-0.02) = 1.2780 Bid; SELL USDJPY(-0.03) = 93.20 Bid; BUY EURJPY(0.02) = 118.91 Ask
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: svobSredstv=200 < AccountFreeMargin()=497.55
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: Variant1 = EURUSD / NZDUSD (Bid = 1.768124), Variant2 = EURJPY / NZDJPY (Ask = 1.766340), Difference = 17.8 pips
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: ; SELL EURUSD(-0.02) = 1.2780 Bid; BUY NZDUSD(0.04) = 0.7228 Ask; BUY EURJPY(0.02) = 118.91 Ask; SELL NZDJPY(-0.04) = 67.32 Bid
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: svobSredstv=200 < AccountFreeMargin()=497.55
06:02:39 stdlib NZDCAD,M1: loaded successfully
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: -1 = OrderSend(AUDUSD, OP_BUY, 0.03, 0.9031, 0, 0, 0) - off quotes, SlipPage = 0, Lots = 0
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: Vol = 0.03
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: -1 = OrderSend(AUDJPY, OP_SELL, 0.03, 84.14, 0, 0, 0) - off quotes, SlipPage = 0, Lots = 0
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: Vol = 0.03
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: -1 = OrderSend(EURUSD, OP_SELL, 0.08, 1.2780, 0, 0, 0) - off quotes, SlipPage = 0, Lots = 0
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: Vol = 0.08
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: open #16209280 buy 0.08 EURJPY at 118.91 ok
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: 16209280 = OrderSend(EURJPY, OP_BUY, 0.08, 118.91, 0, 0, 0) - no error, SlipPage = 0, Lots = 0.08
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: open #16209281 sell 0.05 USDJPY at 93.03 ok
06:02:39 Trade-ArbitrageSvobSred NZDCAD,M1: 16209281 = OrderSend(USDJPY, OP_SELL, 0.05, 93.03, 0, 0, 0) - no error, SlipPage = 0, Lots = 0.05
06:02:40 Trade-ArbitrageSvobSred NZDCAD,M1: open #16209282 buy 0.04 NZDUSD at 0.7217 ok
06:02:40 Trade-ArbitrageSvobSred NZDCAD,M1: 16209282 = OrderSend(NZDUSD, OP_BUY, 0.04, 0.7217, 0, 0, 0) - no error, SlipPage = 0, Lots = 0.04
06:02:40 Trade-ArbitrageSvobSred NZDCAD,M1: open #16209283 sell 0.04 NZDJPY at 67.09 ok
06:02:40 Trade-ArbitrageSvobSred NZDCAD,M1: 16209283 = OrderSend(NZDJPY, OP_SELL, 0.04, 67.09, 0, 0, 0) - no error, SlipPage = 0, Lots = 0.04
06:02:40 Trade-ArbitrageSvobSred NZDCAD,M1: MaxCountArbitrage = 1, Write Time Statistic = 0 s.
06:03:04 Trade-ArbitrageSvobSred NZDCAD,M1: open #16209285 buy 0.03 AUDUSD at 0.9024 ok
06:03:04 Trade-ArbitrageSvobSred NZDCAD,M1: 16209285 = OrderSend(AUDUSD, OP_BUY, 0.03, 0.9024, 0, 0, 0) - no error, SlipPage = 0, Lots = 0.03
06:03:04 Trade-ArbitrageSvobSred NZDCAD,M1: open #16209286 sell 0.03 AUDJPY at 83.94 ok
06:03:04 Trade-ArbitrageSvobSred NZDCAD,M1: 16209286 = OrderSend(AUDJPY, OP_SELL, 0.03, 83.94, 0, 0, 0) - no error, SlipPage = 0, Lots = 0.03
06:03:04 Trade-ArbitrageSvobSred NZDCAD,M1: open #16209287 sell 0.08 EURUSD at 1.2782 ok
06:03:04 Trade-ArbitrageSvobSred NZDCAD,M1: 16209287 = OrderSend(EURUSD, OP_SELL, 0.08, 1.2782, 0, 0, 0) - no error, SlipPage = 0, Lots = 0.08

Я уже minpips и 3-4-5-7-10-15 задавал проскальзывает на реале притом на долларовом реале, (ДЦ  быстро открывает ордера,и пинг 250мс)

Меньше всего проскальзывал вариант с lots=minlots.. Видно там проскальзывания иногда.. покрываются погрешностью задания лота. 

А советник со спрэдом что-то с большим трудом открывает позиции при spread>=0.8. И когда открывает что то то очень маленькие плюсы иль минусы в "прибыли"
 

 

Уважаемый автор, не могли бы Вы еще раз расказать о проценте вместj Minpips, не совсем понял Вашей тактики, и не нашел здесь нужной информации, хотя мне сказали что где-то Вы говорили о проценте вместо Minpips



 

Vladon:

Уважаемый автор, не могли бы Вы еще раз расказать о проценте вместj Minpips, не совсем понял Вашей тактики, и не нашел здесь нужной информации, хотя мне сказали что где-то Вы говорили о проценте вместо Minpips



О советнике trade arbitrage 2 (так автор назвал) говорилось, не так далеко, страниц 5-10 назад, с условиями арбитража BIDx - ASKy > SPREADx + SPREADy. Сам найдешь

А вот я недавно выяснил, что мой ДЦ дает в 2 раза аж меньше ответов на торговые запросы в минуту (5-20), чем например Алпари (20-50) !! Почему я тока спустя полгода об этом узнал?? Уважаемый getch, это ж чуть ли не главная причина проскальзываний...

Взял, сео, запустил советника с о строкой Print (Ask), и смотрю, выдает ответы о цене редко раз в 3-10 секунд, а на другом ДЦ чаще в тот же момент, вот те на!!..

 
Двое суток стоит советник у двух ДЦ и ничего не насобиралось (MinPips=0). я в расстройстве
 
На Алпари открылся новый счет на основе NDD технологии, говорят мгновенное исполнение ордеров. Я запустил arbitrage на нем и вижу проскальзывание на 1 й из пар - 17 старых пунктов. Что ж эт такое??.. Никак не обходятся эти проскальзывания..
 
Есть кто живой в этой ветке, или эпоха арбитра уже кончалась?
 

Похоже на то... (((

И автор про ветку забыл. Наверно есть идеи поинтереснее.