0
На Камчатке уже солнце село.
Что бы стоять на месте, нужно бежать.
А что бы двигаться, нужно бежать в два раза быстрее.

avatar

axe44

  • 20 августа 2020, 06:15
0
Салют новому робовладельцу!
avatar

axe44

  • 19 августа 2020, 23:29
0
file.sampo.ru/5q7vt3/
Abzal0799, Вы победили. Просьба дать мне номер Вашего счёта, что бы я Вам отправил файл
avatar

axe44

  • 19 августа 2020, 23:26
0
«Нибудь» пишется слитно. Для торговли нужно всего 300 долларов. И потом защитано *spokuha* 
avatar

axe44

  • 19 августа 2020, 14:11
0
Сегодня подведу итоги желающих получить робота и составлю список. Список получился не сильно большим и у каждого получить подарок шанс чуть более 5%.
Скажем, устроиться работать по профессии, о которой мечтали в детстве, равен практически нулю. Чуть побольше, около одного процентов населения, имеет 80% всех денег со всего Мира. Куда выше шансов (около 2%) у американцев за всю жизнь просто оказаться за границей и это при том, что им можно безвизово оказаться практически везде. Представляете, что большинство американцев вообще даже не покидали свой штат ни разу и это при их уровне жизни? И это жизнь. Шанс есть у всех, но не все им пользуются, а ещё меньше могут стать победителями. А 5% не так уж и плохо, к тому же робота можно купить. 100 долларов не таки уже и большие деньги.
Конечно, по всем правилам робота нужно протестировать около полугода на демо счёте, потом нужно протестировать на реальном центовом счёте ещё пол-года, а только потом можно, но не обязательно, потихоньку докладывать деньги на счёт и рассматривать это как инвестиции лет на 5-10 лет, что бы потом ни в чём себе не отказывать, ну или почти во ни в чём.
Только вот кто эти правила придумал?
Всё просто — тот кто ими пользуется безукоснительно. Это хедж-фоны.
Тут нужно сразу поянить, что помимо этих правил, там есть и затраты.
Простой пример:
— Нанимается специалист с 10-20 годами опыта и получивший огромную сумму с рынка, что бы перенять у него опыт за хорошие деньги. Для справки: всего несколько брошюр на 5 страниц, описывающих механизм движения цены в канале с аукциона прябо на площадке биржи продали по 100ооо долларов за штуку. И Да, от желающих отбивались.
— Потом нанимают группу программистов с почасовой оплатой в 250 долларов в час. Это нормальная и даже средняя оплата программиста в Америке. И пишут программу. Потом тестируют. Потом исправляют. И так по кругу. Для справки: программисту из России в Америке за торговую платформу (написание и обслуживание) платили по 2 ооо ооо долларов в год. Вот полная одна история таких отношениий xakep.ru/2015/02/16/aleynikov-fbi/ Занятная статья.
— Потом вступают те правила о которых вы уже знаете. Пол-года там, потом торгуем пол-года здесь… Ну и так далее…

Ну, как? Нормально?
И такиих предложений хоть отбавляй. Вот вам парочка: рускоязычный РичИнвестГрупп из Питера и немецкий ВаренГод банк. Причём в последнем выучили русский перед тем как мне позвонить. Тут небольшой намёк шаману кто ему действительно заплатит денег просто за то что его робот у него будет работать, причём ещё и оклад платить станут.

Так что, если хотите, можете тестировать робота как вам угодно: хоть по году, хоть по два, но и оплачивать специалистов то же нужно. Всё всем и бесплатно навсегда не бывает.
Поэтому цену в 100 долларов за торговую идею, которая не сильно хорошо и долго тестировалась, но пока приносила деньги, я не считаю большой или затратной, и по большому счёту считаю подарком для всех форумчан.
Пользуйтесь вашим шансом, пока робот продаётся, так как по закону спроса, если товар не продаётся, его снимают с рынка и начинают предлагать другой товар, например памм счёт с комиссией управляющему. А это, как вам известно, не всегда удобно и менее интересно, по сравнению с техникой без затрат на обслуживания.
avatar

axe44

  • 19 августа 2020, 06:04
0


Если хотите прибыльного робота, то завтра последний день на регистрацию розыгрыша.

Удачи!
avatar

axe44

  • 18 августа 2020, 10:43
0

Как капают деньги на счёт, можно смотреть долго
avatar

axe44

  • 18 августа 2020, 08:10
0
*hi* 
На текущий день около 30% прибыли на счёте в этом месяце. Немного помогли сделки руками по золоту, но на общую картину особо не влияли. Так же хочу напомнить, что в прошлом месяце была прибыль в размере 2о%, но на демо.
Маленькие раки вчера и бесплатно, но сейчас большие и за деньги, зато вчера были маленькие, но бесплатно, зато маленькие, поэтому и бесплатно, зато сейчас большие, но уже за деньги

Через два дня подвожу итоги по розыгрышу робота в одни руки бесплатно. Зато остальные могут за деньги и сразу…

Как то так…
Где открыть памм счёт ещё думаю.
Удачи всем!
avatar

axe44

  • 17 августа 2020, 16:58
0
Кажеться код готов.
Единственный минус в атолоте. Он выставляет ордер в любом случае, даже если нету денег на минимальный лот.
Для начала два вспомогательных кода. Встречайте!
Автолот:


//+------------------------------------------------------------------+
//| расчёт лота                                                      |
//+------------------------------------------------------------------+
double MoneyManagement()
  {
   double DynamicLot=0;
   double Free_Equity=MathMax( AccountEquity(),AccountBalance());
   if(Free_Equity<=0)return(0);
   double TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);
   double LotStep=MarketInfo(Symbol(),MODE_LOTSTEP);
   double MinLot=MarketInfo(Symbol(),MODE_MINLOT);
   double MxLot=MarketInfo(Symbol(),MODE_MAXLOT);
   if (TickValue*LotStep!=0) DynamicLot=MathFloor((Free_Equity*MathMin(AutoLot/100,100)/100000)/TickValue/LotStep)*LotStep; 
   //Print(DynamicLot,"DynamicLot");
   if(DynamicLot<MinLot)DynamicLot=MinLot;
   if(DynamicLot>MxLot)DynamicLot=MxLot;
   return(DynamicLot);
  }


Проверка на наличие ордеров

//+------------------------------------------------------------------
//| Смотрим историю
//+------------------------------------------------------------------
  
bool Histori(int year,int month, int day, int hour)//
{    
   
   for ( i = OrdersTotal()-1; i>=0; i--)
   {
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
         {
         if(year==TimeYear(OrderOpenTime()))
          {
            if(month==TimeMonth(OrderOpenTime()))
             {
               if(day==TimeDay(OrderOpenTime()))
                {
                  if(hour==TimeHour(OrderOpenTime()))
                   {
                     return(true);
                   }
                }
             } 
          }
        }
      }        
   }  
   return(false);
}
  


Ну и сам код выставления ордеров



//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type, double price, double stoploss, double takeprofit, double Alot)
  {
   int r=0,co=0;
   color clr=Green;
   double sl=0,tp=0;
   

   if(type==1 || type==3 || type==5)
     {//устанавливаем параметры для ордеров
      clr=Red;
      if(stoploss>0) sl=NormalizeDouble(price+stoploss*Point,Digits);
      if(takeprofit>0) tp=NormalizeDouble(price-takeprofit*Point,Digits);
     }

   if(type==0 || type==2 || type==4)
     {//устанавливаем параметры для ордеров
      clr=Blue;
      if(stoploss>0) sl=NormalizeDouble(price-stoploss*Point,Digits);
      if(takeprofit>0) tp=NormalizeDouble(price+takeprofit*Point,Digits);
     }
     
   if(Alot==0)//Проверяем А-лот. Если А-лот больше нуля, то ордер не выставился в первый раз. Если А-лот равен нулю, значит выставляем ордер в первый раз и нужно задать параметр автолота.
   {
   if(AutoLot<=0){lot=Lots;}
   if(AutoLot>0){lot=MoneyManagement();}
   
   up=CountOrders(0);
   dn=CountOrders(1);
   
   //закрываем ордера, ставим множитель по мартингейлу
   if(type==0&&dn>0){lot=NormalizeDouble(lot*Klot*dn,Digits);CloseAll(1);}
   if(type==1&&up>0){lot=NormalizeDouble(lot*Klot*up,Digits);CloseAll(0);}
   if(lot<MarketInfo(Symbol(),MODE_MINLOT))lot=MarketInfo(Symbol(),MODE_MINLOT);
   if(lot>MarketInfo(Symbol(),MODE_MAXLOT))lot=MarketInfo(Symbol(),MODE_MAXLOT);
   Sleep(10000);
   
   
   //всё хорошо, все ордера закрылись, теперь запоминаем размер А-лота на всякий случай
   Alot=lot;
   }
   
   //На всякий случай А-лот запомнили не зря
   else 
   {
   lot=Alot;
   
   
   //закрываем ордера, ставим множитель по мартингейлу
   if(type==0&&dn>0){lot=NormalizeDouble(lot*Klot*dn,Digits);CloseAll(1);}
   if(type==1&&up>0){lot=NormalizeDouble(lot*Klot*up,Digits);CloseAll(0);}
   if(lot<MarketInfo(Symbol(),MODE_MINLOT))lot=MarketInfo(Symbol(),MODE_MINLOT);
   if(lot>MarketInfo(Symbol(),MODE_MAXLOT))lot=MarketInfo(Symbol(),MODE_MAXLOT);
   Sleep(10000);
   
   //всё хорошо, все ордера закрылись, теперь запоминаем размер А-лота на всякий случай
   if(Alot<lot)Alot=lot;
   }
   
   //если ордера остались, то повторяем цикл через выставление ордера без выставления ордера
   up=CountOrders(0);
   dn=CountOrders(1);
   if(type==0&&dn>0)PutOrder(type,price, stoploss, takeprofit, Alot);
   if(type==1&&up>0)PutOrder(type,price, stoploss, takeprofit, Alot);
   
   
   
   
   r=OrderSend(NULL,type,lot,NormalizeDouble(price,Digits),Slip,sl,tp," Момент ",Magic,TimeCurrent()+Expir*60*60,clr);//
   Sleep (10000);//ждём 10 секунд
   
   co=GetLastError();//тут проверяем есть ли ошибка
   if (co==0)Alot=0;
   if (r==0)//если ордера нету и есть ошибка, пробуем выставлять ордер повторно
   {if ( co==4||co==6||co==129||co==128||co==135||co==136||co==137||co==138||co==141||co==145||co==146||co==4107)
   PutOrder(type,price, stoploss, takeprofit, Alot);
   }
   
   //выводим на экран номер ошибки и номер робота по меджик номеру
   if(co!=0)Alert("Текущая ошибка ", co,"\r\n" ,", Модель: ",Magic);
   
   //последний аванпост по защите сделки
   Sleep (1000*60*5);//на всякий случай ждём 5 минут, проверяем терминал на наличие выставленого ордера и если его нет , то выставляем ордер
   if(Histori(Year(),Month(),Day(),Hour())==false)PutOrder(type,price, stoploss, takeprofit, Alot);
   
   //Ура! Ордер есть ! Продолжаем работу!
   return;
  }
avatar

axe44

  • 15 августа 2020, 09:58
0
Один вопрос на 3о баксов. Просто это стандартная цена на твоём сайте, на сколько я помню. Арбитражник сможешь написать? Есть ли стоящие решения?
avatar

axe44

  • 14 августа 2020, 19:37
0


Какой то кошмар с копироваением сделок в инвест портвель у Робофорекса. Сделки копируются местами, счёт стабильно идёт в минус, хотя на текущий момент всего 2%, а по инвест портфелю -30%.
Короче, вы как хотите, можете работать с робофорексом или нет, а мне это не нужно. Закрою сегодня счёт. Буду думать где открыть ещё.
Рекомендуйте.
avatar

axe44

  • 14 августа 2020, 17:21
0

За период отсутсвия интернета на этой неделе, сделки открытые роботом закрылись в плюс, а по публичной статистики почему то минус… Странно…
avatar

axe44

  • 12 августа 2020, 09:09
0
Подошла неделя к концу и вижу посадку по счёту.
В пятницу добавил обзор счёта в инфо о себе.
К сожалению пятница была всегда на сюрпризы богата. Я получил по итогам лося.
Ну, прибыль, без убытков не бывает и я смотрю с оптимизмом на будущее.

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

Смотрю, что дальше
avatar

axe44

  • 9 августа 2020, 00:03
0
Можно ко мне обратиться, ценник в инфо
avatar

axe44

  • 6 августа 2020, 11:12
0
Я именно об этом и говорю. Открываем последний ордер, узнаём время и сравниваем с текущим.
avatar

axe44

  • 5 августа 2020, 21:38
0
OrderOpenTime(); Показывает время в от года до секунды. Нужно вынять номер часа и что бы он совпадал с текущим часом. После, думаю, нужно проверять условия повторно. Ну, хотя бы потому, что рынок может быть закрыт.
Спасибо конечно, но просто взять OrderOpenTime(); не вариант. Нужно его ещё и сравнить.
Если сравнивать с Тайм Корент() получим опять вариант в секундах. Ну может кому то и вариант… Я считаю, что в часах сравнивать проще.
В любом случае кода пока нет
avatar

axe44

  • 5 августа 2020, 19:07
0
По истории лучше перебирать ордера с конца
<code>for (int i=OrdersTotal(); i>OrdersTotal()-1; i--) </code>

Потом функции err пока ничего не присвоено
Спамить попытками выставить ордер пока предыдущий обрабатывается, может привести к открытию всех заявок.

Проще сделать паузу, потом по истории выцепить последний ордер и проверить его время открытия, например час открытия с текущим, и если ордера нету, повторить попытку.

Я пока обдумываю как проще
avatar

axe44

  • 5 августа 2020, 16:41