[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 932

 
gheka:

все равно туплю и не доходит до меня, не пойму откуда берется уникальный порядковый номер, везде на примерах все по разному,

если я не ошибаюсь не я его создаю, например


Номер тикета (ордера) присваивает ДЦ.
 
gheka:

все равно туплю и не доходит до меня, не пойму откуда берется уникальный порядковый номер, везде на примерах все по разному,

если я не ошибаюсь не я его создаю, например

ДЦ ему присваивает. Для вас это так сильно важно откуда именно и почему?

Главное, что он есть и по нему вы можете ордер ваш выбрать. Только не забывайте о ситуации когда в конце дня ордера переоткрываются с присвоением уже нового тикета. Поэтому, если о том не знать и не учитывать, то при выборе позы по тикету, вы её можете и потерять.

 
Улыбается!Включил,конечно.
 
 
Вот,а депозит на месте.
 
artmedia70:

ДЦ ему присваивает. Для вас это так сильно важно откуда именно и почему?

Главное, что он есть и по нему вы можете ордер ваш выбрать. Только не забывайте о ситуации когда в конце дня ордера переоткрываются с присвоением уже нового тикета. Поэтому, если о том не знать и не учитывать, то при выборе позы по тикету, вы её можете и потерять.

хорошо допустим мне не надо знать откуда берется,тогда ""Главное, что он есть и по нему вы можете ордер ваш выбрать"" как могу выбрать если даже не знаю номера?

 
Dimka-novitsek:
Вот,а депозит на месте.

Надо смотреть регламент ДЦ. Может автоторговля запрещена (хотя в регламенте этого может и не быть), надо уточнить у техподдрежки. А может просто надо смотреть код эксперта. Проверить его на другом ДЦ
 
gheka:

хорошо допустим мне не надо знать откуда берется,тогда ""Главное, что он есть и по нему вы можете ордер ваш выбрать"" как могу выбрать если даже не знаю номера?


На этот вопрос можно ответить только зная при каких условиях вы его хотите выбрать и для чего. Если хотите запомнить в переменной или в массиве ордеров (например в функции учёта ордеров советника) тикет открытого ордера, то сразу после открытия позиции воспользуйтесь функцией OrderTicket(); - она вам вернёт номер выбранного ордера.
 
Есть потребность в советнике сгладить волатильность (вот такую величину: High[iHighest(NULL, 0, MODE_HIGH, 30, 1)] - Low[iLowest(NULL, 0, MODE_LOW, 30, 1)] ) экспоненциальной скользящей средней. Насколько я понимаю, стандартной iMA этого не сделать и для этого нужно писать функцию? Кто-нибудь может помочь кодом?
 

Вот он

 

//+------------------------------------------------------------------+
//| Границы Димона .mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
extern int BandsPeriod=20,i=1 ;extern int BandsShift=0;
extern double BandsDeviations=2.0;
extern double Lots=0.1,TakeProfit=50,stoploss=10 ;double PointX;
int init()
{ if(Digits==5 || Digits==3) PointX = Point * 10; // Корректировка Point под трёх- пятизнак
if(Digits==4 || Digits==2) PointX = Point;
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{ int total=OrdersTotal();// Comment(" total ",total); Alert (" total ",total);
if ( total !=0 ){return;}

double Average,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,sum,deviation;
string text; int ticket; int err;
text="macd sample";
Average=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
int k,counted_bars=IndicatorCounted();

//----
//----
for( k = 0; k<BandsPeriod; k++)
{ newres=Close[k]-Average;//Alert (" Average ",Average);
sum+=((newres*100)*(newres*100))/10000;//Alert (" newres ",newres);
}




deviation=BandsDeviations*MathSqrt(sum/BandsPeriod);
Verhnyayaghranytsa=Average+deviation;
Nyzhnyayaghranytsa=Average-deviation;//Alert (" sum ",sum);
// Alert (" deviation ",deviation);
//----
if (Verhnyayaghranytsa<Close[i])
{ Comment(" буй! ",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX,"macd sample",16384,0,Green);

}


if (Nyzhnyayaghranytsa>Close[i])
{ Comment(" селл! ",Nyzhnyayaghranytsa );

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+stoploss*PointX,Bid-TakeProfit*PointX,"macd sample",16384,0,Red);
Alert (GetLastError());

}
return(0);
}
//+------------------------------------------------------------------+
 

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