Выявление принципиальной зависимости поведения валютных пар. - страница 3

 
Ладно спасибо всем за ликбез. Успешной торговли)
 
Всё время когда читаю заголовок этой темы, меня аж передёргивает. А если этой зависимости НЕТ???? И каждая пара ходит сама по себе, отражая свой ход на других смежных парах и так каждая из пар. ААААА???? Что тогда.....????
 
geratdc:

Да не, это понятно. Непонятно причём доллар в курсе EUR/CHF. Это же евросоюз и Швейцария нафига им доллар для выяснения курса валютной пары? "Бреттон-Вудская система" и "Ямайская валютная система" - здесь ответ наверное? Что-то как то всё извращено. Валюты евросоюза и франка котируются через кросс курс от доллара. хм. Не понятно.


Ничего в реале от Доллара не котируется в этом случае, но терминал берет чистые курсы EURUSD и USDCHF основных валют и сам пересщитует кроссы, Вам это хотели сказать, только через "пень да колоду".

В общем терминалу надо котировки EURUSD и USDCHF что бы посчитать EURCHF, потому что валюта счета у вас в USD, в реале при обмене EUR на CHF естественно USD не надо, если есть EUR.

 

Нету никакой зависимости.

Как только появится зависимость, придет дядя Сэм и порушит все зависимости и заберет себе Ваши депозиты.

 
Sergey Chalyshev:

Нету никакой зависимости.

Как только появится зависимость, придет дядя Сэм и порушит все зависимости и заберет себе Ваши депозиты.


Дядя Сэм с другом дядей Колей.)
 
khorosh:

Дядя Сэм с другом дядей Колей.)

Смешно!!!! Именно поэтому НС будут всегда актуальный на протяжении всего рынка в отличии от ТС :-) Если Вы меня понимаете. ТС может быть рабочей в лучшем случае на протяжении 3-5 лет. Максимум и в лучшем случае. НС на протяжении всех 100 лет будет актуальным. Потому как находит уникальный закон, который работает относительно не продолжительное время. Пока для дяди СЭМА дойдёт какой закон рулит, чтобы идти против него. Мы его уже поменяем. Именно поэтому НС будут всегда актуальны, по сравнению с ТС!!!!
 
Mihail Marchukajtes:
Всё время когда читаю заголовок этой темы, меня аж передёргивает. А если этой зависимости НЕТ???? И каждая пара ходит сама по себе, отражая свой ход на других смежных парах и так каждая из пар. ААААА???? Что тогда.....????

Именно так я и торговал до вчерашнего дня))
 

Внесу и свою лепту.Давно дело было-сейчас уже так не пишу.Поделюсь бессоными ночами и прибыльным в ссвоё время кодом,он не оптимизируется,но как-то выжал из него 1500 % за месяц.Что менял не помню уже,но принцип ясен...

//+------------------------------------------------------------------+
//|                                            TAASA Three Pairs.mq4 |
//|                                    Copyright 2016,Nikolay Gaylis |
//|                                             https://vk.com/taasa |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016,Nikolay Gaylis"
#property link      "https://vk.com/taasa"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string __="=========================== Настройки лота =========================";
extern double Lot=0.03;              //Размер фикированного лота
extern bool Auto_Lot=false;           //Включение автоматического расчёта лота % от депозита
extern double LS=5;                  //Размер лота в процентах от депозита
bool EURUSD_torg=true;        //Торговать EURUSD
bool GBPUSD_torg=false;       //Торговать GBPUSD
bool EURGBP_torg=false;       //Торговать EURGBP
extern int interval=1;// Максимальная разница котировок в секундах
extern int price_digits=15;//Разница котировок для сигнала в пипсах
extern int MaxSpred=15;//Максималый спред EURUSD
extern int interval_open=15;//Интервал между открытиями в секундах
extern int magic=123456789;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
enum corner
  {
   CORNER_NONE =    -1,  //Don't show info
   CORNER_LEFT_UP =  0,  //Left upper
   CORNER_RIGHT_UP = 1,  //Right upper
   CORNER_LEFT_DN =  2,  //Left lower
   CORNER_RIGHT_DN = 3,  //Right lower
  };
corner InfoCorner=CORNER_RIGHT_UP; //Positioning reviews
color up=clrRed; // Color up
color down=clrTurquoise; // Color down
string ____________="========================= Other settings ============================";
int kol_open=3;               //The number of attempts of opening and closing positions 
int pause_open=2;             //Pause between attempts in the closing seconds 
extern int slip=5;            //Slippage
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string pairs1="EURUSD"; //Pairs1

string pairs2="GBPUSD"; //Pairs2

string pairs3="EURGBP"; //Pairs3

datetime time1,time2,time3;
double price1,price2,price3;
double sred1,sred2,sred3;
double raznica1,raznica2,raznica3;
string indicatorname="TAASA Three Pairs v1.1";
double mem_pips_max1,mem_pips_max2,mem_pips_max3;
double mem_pips_min1,mem_pips_min2,mem_pips_min3;
string date_mem_min1,date_mem_min2,date_mem_min3;
string date_mem_max1,date_mem_max2,date_mem_max3;

string str1,str2,str3,str4,str5,str6,str7,str8,str9,str10,
str11,str12,str13,str14,str15,str16;
int kolpos,pos,C,t_B,t_S;
int kolpos1,kolpos2,kolpos3;
double L;
int ticket;
string com="***TAASA***";
bool torg;
double price_mem;

const long       chart_ID=0;               // ID графика 
int              sub_window=0;             // номер подокна 
int              width=400;                // ширина 
int              height=400;               // высота 
ENUM_BORDER_TYPE border=BORDER_SUNKEN;     // тип границы 
color            clr=clrRed;               // цвет плоской границы (Flat) 
ENUM_LINE_STYLE  style=STYLE_SOLID;        // стиль плоской границы 
int              line_width=1;             // толщина плоской границы 
bool             back=false;               // на заднем плане 
bool             selection=true;           // выделить для перемещений 
bool             hidden=false;             // скрыт в списке объектов 
long             z_order=1;                // приоритет на нажатие мышью 

datetime Life_Sova=D'2030.01.01 10:00:00';
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   ObjectsDeleteAll();
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   Proverka_Sroka();
   if(torg==true)
     {
      KP();
      Proverka_Close();
      Raschet_Lota();
      Proverka_Open();
      checkText();
     }
  }
//+-------------------------------Проверка срока демо---------------------------------------------
void Proverka_Sroka()
  {
   if(Life_Sova<TimeCurrent())
     {
      string fff="Это демо версия!Свяжитесь с автором vk.com/wforex";
      Alert(fff); Print(fff);Sleep(120000);torg=false;
     }
   else torg=true;
  }
//+----------------------------- Проверка на закрытие---------------------------------------------
void Proverka_Close()
  {
   if(kolpos!=0)
     {
      RefreshRates();Signal();
      for(pos=OrdersTotal()-1;pos>=0;pos--)
        {
         if(!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)){break;}
         if(OrderMagicNumber()!=magic){continue;}
         if(OrderProfit()>0)
           {
            ticket=OrderTicket();
            if(OrderType()==OP_BUY)
              {
               if(OrderSymbol()==pairs1 && raznica1<=-price_digits*Point){OC_ALL(pairs1,ticket);}
               if(OrderSymbol()==pairs2 && raznica2<=-price_digits*Point){OC_ALL(pairs2,ticket);}
               if(OrderSymbol()==pairs3 && raznica3<=-price_digits*Point){OC_ALL(pairs3,ticket);}
              }
            if(OrderType()==OP_SELL)
              {
               if(OrderSymbol()==pairs1 && raznica1>=price_digits*Point){OC_ALL(pairs1,ticket);}
               if(OrderSymbol()==pairs2 && raznica2>=price_digits*Point){OC_ALL(pairs2,ticket);}
               if(OrderSymbol()==pairs3 && raznica3>=price_digits*Point){OC_ALL(pairs3,ticket);}
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//+-----------------------------------Счётчик открытых позиций---------------------------------------------------------------------+
void KP()
  {
   kolpos1=0;
   kolpos2=0;
   kolpos3=0;
   for(kolpos=0,pos=OrdersTotal()-1;pos>=0;pos--)
     {
      if(!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)){break;}
      if(OrderMagicNumber()!=magic){continue;}
      kolpos++;
      if(OrderSymbol()==pairs1&&OrderOpenTime()>TimeCurrent()-interval_open){kolpos1=1;}
      if(OrderSymbol()==pairs2&&OrderOpenTime()>TimeCurrent()-interval_open){kolpos2=1;}
      if(OrderSymbol()==pairs3&&OrderOpenTime()>TimeCurrent()-interval_open){kolpos3=1;}
     }
  }
//+------------------------------------------------------------------+
//+--------------------------------------------Расчёт лота-----------------------------------------------------+
void Raschet_Lota()
  {

   if(Auto_Lot==TRUE)
     {
      L=((AccountBalance()/100000)*LS);
      NormalizeDouble(L,2);
        }else{L=Lot;
     }

//+------------------------------Проверка свободной маржи и макс и мин лотов-----------------------------------+

   if(AccountFreeMargin()<MarketInfo(Symbol(),MODE_MARGINREQUIRED)*L)
     {
      L=AccountFreeMargin()/MarketInfo(Symbol(),MODE_MARGINREQUIRED);
      L=L-0.01;
      Print("Лот принимает максимально допустимое значение по марже!");
     }
   if(L<MarketInfo(Symbol(),MODE_MINLOT))
     {
      L=MarketInfo(Symbol(),MODE_MINLOT);
      Print("Лот принимает минимально допустимое значение брокера!");
     }
   if(L>MarketInfo(Symbol(),MODE_MAXLOT))
     {
      L=MarketInfo(Symbol(),MODE_MAXLOT);
      Print("Лот принимает максимально допустимое значение брокера!");
     }
//-----------------------------------------------------------------------------------------------------------+
  }
//+----------------------------Проверка на разрешение открытия новых позиций-------------------------------------------------+
void Spread()
  {
   torg=true;
   RefreshRates();
   if(MarketInfo(pairs1,MODE_ASK)-MarketInfo(pairs1,MODE_BID)>MaxSpred*Point)
     {
      torg=false;
      //Print("***TAASA*** Превышен максимально-допустимый спред!!! Пара: "+pairs1);
     }
  }
//+--------------------------------------------Проверка на открытие-----------------------------------------------+
void Proverka_Open()
  {
   if(EURUSD_torg==true)
     {
      RefreshRates();Signal();
      if(raznica1<=-price_digits*Point && kolpos1==0){OS(pairs1);}
      if(raznica1>=price_digits*Point && kolpos1==0){OB(pairs1);}
     }
   if(GBPUSD_torg==true)
     {
      RefreshRates();Signal();
      if(raznica2<=-price_digits*Point && kolpos2==0){OS(pairs2);}
      if(raznica2>=price_digits*Point && kolpos2==0){OB(pairs2);}
     }
   if(EURGBP_torg==true)
     {
      RefreshRates();Signal();
      if(raznica3<=-price_digits*Point && kolpos3==0){OS(pairs3);}
      if(raznica3>=price_digits*Point && kolpos3==0){OB(pairs3);}
     }
  }
//+------------------------------------------------------------------+
void createText(string name,int x,int y,string text,string font,color colr,int _corner,int fontsize)
  {
   if(ObjectFind(name)<0)
     {
      ObjectCreate(name,OBJ_LABEL,0,0,0);
      ObjectSet(name,OBJPROP_CORNER,_corner);
      ObjectSet(name,OBJPROP_XDISTANCE,x);
      ObjectSet(name,OBJPROP_YDISTANCE,y);
      ObjectSetText(name,text,fontsize,font,colr);
      ObjectCreate(name,OBJ_RECTANGLE_LABEL,0,0,0);
     }
   else ObjectSetText(name,text,fontsize,font,colr);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void checkText()
  {
   color clr1=clrWhite;
   color clr2=clrWhite;
   color clr3=clrWhite;

   if(raznica1<0){clr1=up;}if(raznica1>0){clr1=down;}
   if(raznica2<0){clr2=up;}if(raznica2>0){clr2=down;}
   if(raznica3<0){clr3=up;}if(raznica3>0){clr3=down;}

   str1=DoubleToStr(raznica1/Point,0)+" pips";
   str2=DoubleToStr(raznica2/Point,0)+" pips";
   str3=DoubleToStr(raznica3/Point,0)+" pips";
   str4=" "+AccountInfoString(ACCOUNT_CURRENCY);
   str5=TimeToStr(time1,TIME_SECONDS);
   str6=TimeToStr(time2,TIME_SECONDS);
   str7=TimeToStr(time3,TIME_SECONDS);
   str8="";str9="";str10="";
   if(raznica1<=-price_digits*Point){str8="   BUY";}if(raznica1>=price_digits*Point){str8="   SELL";}
   if(raznica2<=-price_digits*Point){str9="   BUY";}if(raznica2>=price_digits*Point){str9="   SELL";}
   if(raznica3<=-price_digits*Point){str10="   BUY";}if(raznica3>=price_digits*Point){str10="   SELL";}

   if(raznica1<mem_pips_min1){mem_pips_min1=raznica1;str11=DoubleToStr(raznica1/Point,0)+" pips";date_mem_min1=TimeToStr(TimeCurrent(),TIME_SECONDS);}
   if(raznica1>mem_pips_max1){mem_pips_max1=raznica1;str12=DoubleToStr(raznica1/Point,0)+" pips";date_mem_max1=TimeToStr(TimeCurrent(),TIME_SECONDS);}

   if(raznica2<mem_pips_min2){mem_pips_min2=raznica2;str13=DoubleToStr(raznica2/Point,0)+" pips";date_mem_min2=TimeToStr(TimeCurrent(),TIME_SECONDS);}
   if(raznica2>mem_pips_max2){mem_pips_max2=raznica2;str14=DoubleToStr(raznica2/Point,0)+" pips";date_mem_max2=TimeToStr(TimeCurrent(),TIME_SECONDS);}

   if(raznica3<mem_pips_min3){mem_pips_min3=raznica3;str15=DoubleToStr(raznica3/Point,0)+" pips";date_mem_min3=TimeToStr(TimeCurrent(),TIME_SECONDS);}
   if(raznica3>mem_pips_max3){mem_pips_max3=raznica3;str16=DoubleToStr(raznica3/Point,0)+" pips";date_mem_max3=TimeToStr(TimeCurrent(),TIME_SECONDS);}

   if(Hour()==0 && Minute()==0){mem_pips_min1=0;mem_pips_max1=0;date_mem_min1="0:00";date_mem_max1="0:00";}

   createText(indicatorname+"1",5,24,"-----------------------------------------------------","Arial",clrDeepSkyBlue,InfoCorner,6);
   createText(indicatorname+"2",5,40,"B: "+DoubleToString(AccountBalance(),0)+str4,"Arial",clrWhite,InfoCorner,30);
   createText(indicatorname+"3",5,75,"E: "+DoubleToString(AccountEquity(),0)+str4,"Arial",clrWhite,InfoCorner,30);
   createText(indicatorname+"4",5,100,"-----------------------------------------------------","Arial",clrDeepSkyBlue,InfoCorner,6);

   if(int(str1)==0){createText(indicatorname+"25",5,120,"|","Arial",clrYellow,InfoCorner,12);}
   if(int(str1)==1){createText(indicatorname+"25",5,120,"|||","Arial",clrAquamarine,InfoCorner,12);}
   if(int(str1)==2){createText(indicatorname+"25",5,120,"|||||","Arial",clrAquamarine,InfoCorner,12);}
   if(int(str1)==3){createText(indicatorname+"25",5,120,"|||||||||","Arial",clrAquamarine,InfoCorner,12);}
   if(int(str1)==4){createText(indicatorname+"25",5,120,"||||||||||||||||","Arial",clrAquamarine,InfoCorner,12);}
   if(int(str1)==5){createText(indicatorname+"25",5,120,"||||||||||||||||||||","Arial",clrAquamarine,InfoCorner,12);}
   if(int(str1)==6){createText(indicatorname+"25",5,120,"||||||||||||||||||||||||","Arial",clrAquamarine,InfoCorner,12);}
   if(int(str1)==7){createText(indicatorname+"25",5,120,"||||||||||||||||||||||||||||","Arial",clrAquamarine,InfoCorner,12);}
   if(int(str1)==8){createText(indicatorname+"25",5,120,"||||||||||||||||||||||||||||||||","Arial",clrAquamarine,InfoCorner,12);}
   if(int(str1)==9){createText(indicatorname+"25",5,120,"||||||||||||||||||||||||||||||||||||","Arial",clrAquamarine,InfoCorner,12);}
   if(int(str1)>=10){createText(indicatorname+"25",5,120,"||||||||||||||||||||||||||||||||||||||||","Arial",clrAquamarine,InfoCorner,12);}
   if(int(str1)==-1){createText(indicatorname+"25",5,120,"|||","Arial",clrRed,InfoCorner,12);}
   if(int(str1)==-2){createText(indicatorname+"25",5,120,"|||||","Arial",clrRed,InfoCorner,12);}
   if(int(str1)==-3){createText(indicatorname+"25",5,120,"|||||||||","Arial",clrRed,InfoCorner,12);}
   if(int(str1)==-4){createText(indicatorname+"25",5,120,"||||||||||||||||","Arial",clrRed,InfoCorner,12);}
   if(int(str1)==-5){createText(indicatorname+"25",5,120,"||||||||||||||||||||","Arial",clrRed,InfoCorner,12);}
   if(int(str1)==-6){createText(indicatorname+"25",5,120,"||||||||||||||||||||||||","Arial",clrRed,InfoCorner,12);}
   if(int(str1)==-7){createText(indicatorname+"25",5,120,"||||||||||||||||||||||||||||","Arial",clrRed,InfoCorner,12);}
   if(int(str1)==-8){createText(indicatorname+"25",5,120,"||||||||||||||||||||||||||||||||","Arial",clrRed,InfoCorner,12);}
   if(int(str1)==-9){createText(indicatorname+"25",5,120,"||||||||||||||||||||||||||||||||||||","Arial",clrRed,InfoCorner,12);}
   if(int(str1)<=-10){createText(indicatorname+"25",5,120,"||||||||||||||||||||||||||||||||||||||||","Arial",clrRed,InfoCorner,12);}

   createText(indicatorname+"5",5,140,pairs1+": "+str1,"Arial",clr1,InfoCorner,12);
   createText(indicatorname+"6",5,160,"Time :"+str5+str8,"Arial",clr1,InfoCorner,12);

   createText(indicatorname+"7",5,180,"Min :"+str11+"  Time :"+date_mem_min1,"Arial",clrDeepSkyBlue,InfoCorner,8);
   createText(indicatorname+"8",5,200,"Max :"+str12+"  Time :"+date_mem_max1,"Arial",clrDeepSkyBlue,InfoCorner,8);
   createText(indicatorname+"9",5,212,"-----------------------------------------------------","Arial",clrDeepSkyBlue,InfoCorner,6);

   createText(indicatorname+"41",5,222,"-----------------------------------------------------","Arial",clrAquamarine,InfoCorner,6);
   createText(indicatorname+"42",5,232,"Min pips for trades :"+IntegerToString(price_digits),"Arial",clrAquamarine,InfoCorner,10);
   createText(indicatorname+"43",5,252,"LotSize :"+DoubleToString(L,2),"Arial",clrAquamarine,InfoCorner,10);
   createText(indicatorname+"44",5,272,"MaxSpred :"+IntegerToString(MaxSpred),"Arial",clrAquamarine,InfoCorner,10);

   createText(indicatorname+"45",5,292,"Spread :"+DoubleToString((Ask-Bid)/Point,0),"Arial",clrAquamarine,InfoCorner,10);
   createText(indicatorname+"46",5,304,"-----------------------------------------------------","Arial",clrAquamarine,InfoCorner,6);
  }
//+--------------------------------------------------------------------------------------------------------------------------------+

//+--------------------------------------------------------------------------------------------------------------------------------+
void OC_ALL(string par,int tik)
  {
   for(int h=1; h<=kol_open; h++)
     {
      if(OrderType()==OP_BUY)
        {
         C=OrderClose(tik,OrderLots(),MarketInfo(par,MODE_BID),slip,clrYellow);
        }
      if(OrderType()==OP_SELL)
        {
         C=OrderClose(tik,OrderLots(),MarketInfo(par,MODE_ASK),slip,clrYellow);
        }
      RefreshRates();
      if(C==0)
        {
         Print("Не удалось закрыть позицию, новая попытка :",h,"   __Код ошибки :",GetLastError());
         Sleep(pause_open*1000);
         RefreshRates();
        }
      else
        {
         PlaySound("money.wav");
         double last_profit=OrderProfit();
         Print("Ордер закрыт с профитом :"+DoubleToString(last_profit,2));
         break;
        }
     }
  }
//+---------------------------------------------Покупка------------------------------------------------------+
int OB(string par)
  {
   t_B=-1;
   price_mem=MarketInfo(par,MODE_ASK);
   for(int h=1; h<=kol_open; h++)
     {
      Spread();
      if(torg==true)
        {
         if(price_mem>=MarketInfo(par,MODE_ASK)){t_B=OrderSend(par,OP_BUY,L,MarketInfo(par,MODE_ASK),slip,0,0,com,magic,0,clrGreen);}
         if(t_B<0)
           {
            Print("Не удалось открыть ордер BUY.Цены поменялись!Новая попытка ",h);
            Sleep(pause_open*1000);
            RefreshRates();}else {PlaySound("ok.wav");break;
           }
           }else {Print("Не удалось открыть ордер BUY.Превышен спред!Новая попытка ",h);Sleep(pause_open*1000);
        }
     }
   return(t_B);
  }
//+----------------------------------------------------------------------------------------------------------+
//+---------------------------------------------Продажа------------------------------------------------------+
int OS(string par)
  {
   t_S=-1;
   price_mem=MarketInfo(par,MODE_BID);
   for(int h=1; h<=kol_open; h++)
     {
      Spread();
      if(torg==true)
        {
         if(price_mem<=MarketInfo(par,MODE_BID)){t_S=OrderSend(par,OP_SELL,L,MarketInfo(par,MODE_BID),slip,0,0,com,magic,0,clrRed);}
         if(t_S<0)
           {
            Print("Не удалось открыть ордер SELL.Цены поменялись!Новая попытка ",h);
            Sleep(pause_open*1000);
            RefreshRates();}else {PlaySound("ok.wav");break;
           }
           }else {Print("Не удалось открыть ордер SELL.Превышен спред!Новая попытка ",h);Sleep(pause_open*1000);
        }
     }
   return(t_S);
  }
//+----------------------------------------------------------------------------------------------------------+
void Signal()
  {
   time1=datetime(MarketInfo(pairs1,MODE_TIME));
   time2=datetime(MarketInfo(pairs2,MODE_TIME));
   time3=datetime(MarketInfo(pairs3,MODE_TIME));

   if(time1<=(time2+=interval) && time2<=(time3+=interval) && time3<=(time1+=interval))
     {

      sred1=(MarketInfo(pairs1,MODE_ASK)+MarketInfo(pairs1,MODE_BID))/2;
      sred2=(MarketInfo(pairs2,MODE_ASK)+MarketInfo(pairs2,MODE_BID))/2;
      sred3=(MarketInfo(pairs3,MODE_ASK)+MarketInfo(pairs3,MODE_BID))/2;

      if(sred3!=0 && sred2!=0)
        {
         price1=sred2*sred3;
         price2=sred1/sred3;
         price3=sred1/sred2;
        }

      raznica1=price1-sred1;
      raznica2=price2-sred2;
      raznica3=price3-sred3;

        }else{raznica1=0;raznica2=0;raznica3=0;time1=0;time2=0;time3=0;
     }
  }
//+------------------------------------------------------------------+
 
Nikolay Gaylis:

Внесу и свою лепту.Давно дело было-сейчас уже так не пишу.Поделюсь бессоными ночами и прибыльным в ссвоё время кодом,он не оптимизируется,но как-то выжал из него 1500 % за месяц.Что менял не помню уже,но принцип ясен...


Всего год назад. Арбитраж быстро стареет. Но - красиво
 
Алексей Тарабанов:

Всего год назад. Арбитраж быстро стареет. Но - красиво


От души...Было время)))после брэксита опустились руки-а так норм всё было)

https://www.mql5.com/ru/charts/5527109/eurusd-h4-alpari-limited

График EURUSD, H4, 2016.07.28 03:32 UTC, Alpari Limited, MetaTrader 4, Real
График EURUSD, H4, 2016.07.28 03:32 UTC, Alpari Limited, MetaTrader 4, Real
  • www.mql5.com
Символ: EURUSD. Период графика: H4. Брокер: Alpari Limited. Торговая платформа: MetaTrader 4. Режим торговли: Real. Дата: 2016.07.28 03:32 UTC.
Причина обращения: