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

 

Научился вставлять в эксперта Alert (GetLastError());  помучавшись поисправлял ошибки,а вот с ошибкой 130 справиться немогу!!!! Ошибка-это неправильные стопы.Щитаю их так -

 Ask-stoploss*Point при ордере буй, здесь из нижней цены вычитаю стоплосс умноженный на пойнт,что дает количество пунктов вниз,

при ордере селл точно наоборот Bid+stoploss*Point      Все совершенно верно и правильно!!!!!!!!

         И в функкции стоплосс на своем месте точно,я уж и с зади и спереди считал!! И разме   разный пробовал!!

 Я В ТУПИКЕ!!!!!

 

                       Помогите!!!!!!!!!! 

 
//+------------------------------------------------------------------+
//| Границы Димона .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 ;
int init()
{
//----

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

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{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);
//----
newres=Close[i]-Average;
sum=newres*newres;


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

}


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

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

}
return(0);
}
//+------------------------------------------------------------------+
 
Вообще,аски и биды менял как угодно-все то же-130 !!!
 
Dimka-novitsek:
Вообще,аски и биды менял как угодно-все то же-130 !!!

А еще надо и на СтопЛевел проверять.
 
А что это????
 
Vinin:
 IndicatorShortName("");
   SetIndexLabel(0, "");
   SetIndexLabel(1, "");
   SetIndexLabel(5, "");
   SetIndexLabel(6, "");

Спасибо большое, на 90% помогло - остались еще нули, но они в общем не мешают и сильно не перекрывают индикатор!!!


 
Dimka-novitsek:
А что это????

double MarketInfo( string symbol, int type)

Возвращает различную информацию о финансовых инструментах, перечисленных в окне "Обзор рынка". Часть информации о текущем финансовом инструменте хранится в предопределенных переменных.

MODE_STOPLEVEL 14 Минимально допустимый уровень стоп-лосса/тейк-профита в пунктах

 
Конечно же,я задавал его и 10 пунктов,и 20,и 30,и 50.
 
Dimka-novitsek:
А что это????

у вас :ticket=OrderSend(Symbol(),OP_BUY,Lots,Bid,3,Ask-stoploss*Point,Bid+TakeProfit*Point,"macd sample",16384,0,Green);

надо: ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Ask+TakeProfit*Point,"macd sample",16384,0,Green);

и тут поменять: ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+stoploss*Point,Bid-TakeProfit*Point,"macd sample",16384,0,Red);

 
Спасибо!! Надо же,как!Прямо смешно!
Причина обращения: