[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 142

 
Processor_ua:
Забыл пароль на метатрейдере, как можно создать новый, кому обратиться?


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

Если удаляли - пишите в саппорт вашего ДЦ.

 
Roman.:


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

Если удаляли - пишите в саппорт вашего ДЦ.


Спасибо, почту чистил, а вот в соппроте кому именно отослать, не разбираюсь вообще, и что такое ДЦ?? это демо-счет, и 3 месяца торговал, все коту под хвост.
 
CLAIN:


самое интересное, что на тестере никаких проблем нет. С 2000 года по сегодняшний день работает без слива.

может, код поможет?

то есть у меня тут одна основная функция, а две другие просто ее дублируют. Сделал для страховки, но все равно перестает работать

if(OrderClosePrice()-OrderOpenPrice()<0)

Это, как я думаю, проверяем последнею закрытую позицию, если в + то открываемся,так.

Если так, то проверять нужно вот как

int start()
  {
//----
  double ClosePrice_biu,OpenPrice_biu,ClosePrice_sell,OpenPrice_sell;
  int i;

   for ( i=0; i<OrdersHistoryTotal(); i++)
       {
        OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
           if (OrderSymbol()==Symbol())
              {
             if(OrderType()==OP_BUY)
                 {
                ClosePrice_biu= OrderClosePrice();
                OpenPrice_biu= OrderOpenPrice();
                 }
             if(OrderType()==OP_SELL)
                 {
                ClosePrice_sell= OrderClosePrice();
                OpenPrice_sell= OrderOpenPrice();
                 }
              }
        } 
                
  Comment("\n","ClosePrice_biu = ",ClosePrice_biu,
          "\n","OpenPrice_biu = ",OpenPrice_biu,
          "\n","ClosePrice_sell = ",ClosePrice_sell,
          "\n","OpenPrice_sell = ",OpenPrice_sell);
//----
   return(0);
  }

как то так.

 
Processor_ua:

Спасибо, почту чистил, а вот в соппроте кому именно отослать, не разбираюсь вообще, и что такое ДЦ?? это демо-счет, и 3 месяца торговал, все коту под хвост.

Если демо, то никто заниматься не будет. Заводите новый счет. Не вытирайте эту строку с почты с паролями к торговому счету. ДЦ - это дилинговый центр через который вы торгуете.
 
Всем привет. Ниже выложен элементарный урывок программы, который у меня не получается довести до конца. Мне нужно сделать так, чтобы он перед тем как ставить новый ордер проверял есть ли в том месте (с такой же ценой) другой орден, если есть, то пропустить, если нету – ставить. А то он у меня наставит ордеров до заданной границы, а потом по втором, по третьем кругу выставляет. Для запуска ставите на автомат, ставите бай стоп, и увидите результат. Если кто сможет дописать, пожалуйста, не поленитесь. Когда все получится – вознаграждение обязательно!!!


extern double Lot=0.01;
extern bool Ustan_BuyStop=true;
extern bool Ustan_SellStop=true;
double Dist=10000.0;
string SMB;
double NewPrice,SL,TP;
int i,z;
int start()
{
RefreshRates();
SMB=Symbol();
if(Ustan_BuyStop || Ustan_SellStop) {UstanOtlozh();}
}
return(0);
void UstanOtlozh()
{
double OldPrice=WindowPriceOnDropped();
RefreshRates();
SMB=Symbol();
{
int i=1;
while(i<=OrdersTotal())
{
if (OrderSelect(i-1,SELECT_BY_POS)==true)
{
if (OrderSymbol()!= SMB) continue;
int Tip=OrderType();
if (Tip<2) continue;
double Price=OrderOpenPrice();
{
NewPrice=Price;
while(NewPrice<=Ask+300*Point||NewPrice>=Ask+20*Po int)
{
NewPrice=NewPrice+20*Point;
SL=NewPrice-20*Point;
TP=NewPrice+20*Point;
OrderSend(SMB,OP_BUYSTOP,Lot,NewPrice,3,SL,TP,NULL,0,CLR_NONE);
if(NewPrice>Ask+300*Point||NewPrice<Ask+20*Point)
return;
}}
}
}
}
}
 
Roman.:


"+++++++++++++++++++++++++++++++++++++++++++ и вывод на экран"

И научитесь вставлять код правильно. Ваша простынь никому не интересна...

Читайте здесь всё.


Мда уж... простыня...

Сам отыскал место сбоя. Функция

void TRENDS(string name, int PER, int n, int X, int Y, color Lab_Trend_Bull, color Lab_Trend_Bear, color Lab_Trend_Doj, int rsm)

Когда удаляю, все работает. Не понятно ПОЧЕМУ рабоатет ТОЛЬКО на паре EURUSD????????

 
nlp2311:


Мда уж... простыня...

Сам отыскал место сбоя. Функция

void TRENDS(string name, int PER, int n, int X, int Y, color Lab_Trend_Bull, color Lab_Trend_Bear, color Lab_Trend_Doj, int rsm)

Когда удаляю, все работает. Не понятно ПОЧЕМУ рабоатет ТОЛЬКО на паре EURUSD????????


Это волшебная пара, на которой всегда работают даже кривые коды, дабы быстрее слить клиента, хоть на чем-нибудь... :-)

Очередные происки Всемирного Консорциума Банков...

 
Melko:
Всем привет. Ниже выложен элементарный урывок программы, который у меня не получается довести до конца. Мне нужно сделать так, чтобы он перед тем как ставить новый ордер проверял есть ли в том месте (с такой же ценой) другой орден, если есть, то пропустить, если нету – ставить. А то он у меня наставит ордеров до заданной границы, а потом по втором, по третьем кругу выставляет. Для запуска ставите на автомат, ставите бай стоп, и увидите результат. Если кто сможет дописать, пожалуйста, не поленитесь. Когда все получится – вознаграждение обязательно!!!


extern double Lot=0.01;
extern bool Ustan_BuyStop=true;
extern bool Ustan_SellStop=true;
double Dist=10000.0;
string SMB;
double NewPrice,SL,TP;
int i,z;
int start()
{
RefreshRates();
SMB=Symbol();
if(Ustan_BuyStop || Ustan_SellStop) {UstanOtlozh();}
}
return(0);
void UstanOtlozh()
{
double OldPrice=WindowPriceOnDropped();
RefreshRates();
SMB=Symbol();
{
int i=1;
while(i<=OrdersTotal())
{
if (OrderSelect(i-1,SELECT_BY_POS)==true)
{
if (OrderSymbol()!= SMB) continue;
int Tip=OrderType();
if (Tip<2) continue;
double Price=OrderOpenPrice();
{
NewPrice=Price;
while(NewPrice<=Ask+300*Point||NewPrice>=Ask+20*Po int)
{
NewPrice=NewPrice+20*Point;
SL=NewPrice-20*Point;
TP=NewPrice+20*Point;
OrderSend(SMB,OP_BUYSTOP,Lot,NewPrice,3,SL,TP,NULL,0,CLR_NONE);
if(NewPrice>Ask+300*Point||NewPrice<Ask+20*Point)
return;
}}
}
}
}
}

при вставке кода пользуйтесь кнопочкой "SRC" в панели инструментов, появляющейся при вставке комментов

  for(cnt = 0; cnt < OrdersTotal(); cnt ++)
  {
    OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
    if(OrderMagicNumber() != MagicNumber || OrderSymbol() != Symbol()) {continue;}

    if(OrderMagicNumber() == MagicNumber && OrderSymbol() == Symbol() && OrderType() <= OP_SELL)
    {
      if(OrderType() == OP_BUY)
      {
        if(LatestBuy < OrderOpenTime())  {LatestBuy = OrderOpenTime();}
        if(NearestBuy == 0.0 || (MathAbs(ND(Bid, dgts) - ND(OrderOpenPrice(), dgts)) / Point < MathAbs(ND(Bid, dgts) - ND(NearestBuy, dgts)) / Point)) {NearestBuy = ND(ND(OrderOpenPrice(), dgts) + sprd * Point, dgts);}
      }
      else
      {
        if(LatestSell < OrderOpenTime())  {LatestSell = OrderOpenTime();}
        if(NearestSell == 0.0 || (MathAbs(ND(Ask, dgts) - ND(OrderOpenPrice(), dgts)) / Point < MathAbs(ND(Ask, dgts) - ND(NearestBuy, dgts)) / Point)) {NearestSell = ND(OrderOpenPrice(), dgts);}
      }
    }
  }
  if(ND(MathAbs(NearestBuy - ND(Bid, dgts)) / Point, 0) < MinDist)  {MMM_BuyCanOpen = false;}
  if(ND(MathAbs(ND(Ask, dgts) - NearestSell) / Point, 0) < MinDist)  {MMM_SellCanOpen = false;}
  if(TimeCurrent() - LatestBuy < MinTime * 60)  {BuyCanOpen = false;}
  if(TimeCurrent() - LatestSell < MinTime * 60)  {SellCanOpen = false;}

.....
  
  if(BuyCanOpen)
  {
отправка приказа на покупку (по рынку или отложки)
  }

  if(SellCanOpen)
  {
отправка приказа на продажу (по рынку или отложки)
  }

попробуйте как-то так ...

 

Подскажите, как построить индикатор, по другому индикатору? У меня например есть стохастик:

double sth=iStochastic(Symbol(),0,25,3,5,0,0,0,1);

Как мне по нему построить боллинджер?

 

Добрый день!

Вопрос по массивам, в данном случае в скриптах.

Оператор присваивания (=) непонятно работает, если в честве индекса массива используется переменная, а не константа (число).

Например:

//---------------------

double s[10] ;

int i = 0;

double priceOpen = 10;

while( i < 10)

{

s[i] = priceOpen; // НЕ ПРИСВАИВАЕТСЯ. Если s[5] = piceOpen; ТО ПЕРЕМЕННАЯ массива принимает новое значение..

i++;

}

Причина обращения: