Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
При каких условиях High и Low могут быть равны нулю? Или один из них становится отрицательным?
При условии, что их нет, а потому (0+0)/2=0
Спасибо.
Кстати, неплохо бы в словаре эту информацию озвучить, раз, в самом деле, нужна такая проверка на ноль. Ни в описании, ни в примере ее нет:
double High[]
Returns the highest price of the bar referenced.
int handle, bars=Bars;
handle=FileOpen("file.csv", FILE_CSV|FILE_WRITE, ';');
if(handle>0)
{
// write table columns headers
FileWrite(handle, "Time;Open;High;Low;Close;Volume");
// write data
for(int i=0; i<bars; i++)
FileWrite(handle, Time[i], Open[i], High[i], Low[i], Close[i], Volume[i]);
FileClose(handle);
}
всё это с трудом мне понятно )) но индикатор рисуется, причём одинаково, и в омеге, и в tradingsolutions, и в мт... а зеро дивайд - остался и в Рошевском и в моём варианте ((
"Сдается мне , ты что-то не договариваешь" (Муму обращаясь к Герасиму)
"Сдается мне , ты что-то не договариваешь" (Муму обращаясь к Герасиму)
(со взглядом побитой собаки)) ... вот ведь не есть вру !! просто скопировал твой код в мой индюк... и то же... но! вот вопрос, рынок поутих, и дивайдов из 4 пар остался один... ?? как это?
//+------------------------------------------------------------------+ //| _Dynamic II Expert.mq4 | //| Dark Monk | //| http://fxprog.nm.ru | //+------------------------------------------------------------------+ #property copyright "Dark Monk" #property link "http://fxprog.nm.ru" //---- input parameters extern double Lots = 0.1; extern double TakeProfit = 2000; extern double FloorLevel = 200; extern double pChange_in =1.563509821891785; extern double pChange_out =1.54465913772583; extern double KAMA_period =35; extern double EMA_Long_fast =11; extern double EMA_Long_slow =15; extern double EMA_Short_fast =11; extern double EMA_Short_slow =20; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int start() { double EMA_Lf_Cur, EMA_Lf_Prev, EMA_Ls_Cur, EMA_Ls_Prev; double EMA_Sf_Cur, EMA_Sf_Prev, EMA_Ss_Cur, EMA_Ss_Prev; double pChange_Cur, pChange_Prev, KAMAf_Cur, KAMAf_Prev; int cnt, ticket, total; if(Bars<100) { Print("bars less than 100"); return(0); } if(TakeProfit<10) { Print("TakeProfit less than 10"); return(0); // check TakeProfit } EMA_Lf_Cur=iCustom(NULL,0,"_Dynamic II EMA",EMA_Long_fast,0,1); EMA_Lf_Prev=iCustom(NULL,0,"_Dynamic II EMA",EMA_Long_fast,0,2); EMA_Ls_Cur=iCustom(NULL,0,"_Dynamic II EMA",EMA_Long_slow,0,1); EMA_Ls_Prev=iCustom(NULL,0,"_Dynamic II EMA",EMA_Long_slow,0,2); EMA_Sf_Cur=iCustom(NULL,0,"_Dynamic II EMA",EMA_Short_fast,0,1); EMA_Sf_Prev=iCustom(NULL,0,"_Dynamic II EMA",EMA_Short_fast,0,2); EMA_Ss_Cur=iCustom(NULL,0,"_Dynamic II EMA",EMA_Short_slow,0,1); EMA_Ss_Prev=iCustom(NULL,0,"_Dynamic II EMA",EMA_Short_slow,0,2); pChange_Cur=iCustom(NULL,0,"_Dynamic II %Change",0,1); pChange_Prev=iCustom(NULL,0,"_Dynamic II %Change",0,2); KAMAf_Cur=iCustom(NULL,0,"_Dynamic II RoC Kaufman AMA",KAMA_period,0,1); KAMAf_Prev=iCustom(NULL,0,"_Dynamic II RoC Kaufman AMA",KAMA_period,0,2); // Ïðîâåðêà îòêðûòûõ ïîçèöèé total=OrdersTotal(); if(total<1) { if(AccountFreeMargin()<(1000*Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } // âõîä â Ëîíã if(EMA_Lf_Cur>EMA_Ls_Cur&&EMA_Lf_Prev<EMA_Ls_Prev&&pChange_Cur>pChange_in&&pChange_Prev<pChange_in) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"in Long",16384,0,Green); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order îòêðûò : ",OrderOpenPrice()); } else Print("Íå ìîãó îòêðûòü BUY order : ",GetLastError()); return(0); } // âõîä â Øîðò if(EMA_Sf_Cur<EMA_Ss_Cur&&EMA_Sf_Prev>EMA_Ss_Prev&&pChange_Cur<-pChange_in&&pChange_Prev>-pChange_in) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"in Short",16384,0,Red); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order îòêðûò : ",OrderOpenPrice()); } else Print("Íå ìîãó îòêðûòü Sell order : ",GetLastError()); return(0); } return(0); } // Ïðîâåðêà îòêðûòûõ ïîçèöèé for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && // ýòî îòêðûòàÿ ïîçèöèÿ? OP_BUY èëè OP_SELL OrderSymbol()==Symbol()) // èíñòðóìåíò ñîâïàäàåò? { if(OrderType()==OP_BUY) // îòêðûòà äëèííàÿ ïîçèöèÿ { // ïðîâåðèì, ìîæåò óæå ïîðà çàêðûâàòüñÿ? if(KAMAf_Cur<KAMAf_Prev&&pChange_Cur<-pChange_out&&pChange_Prev>-pChange_out) { OrderClose(OrderTicket(),OrderLots(),Bid,3,LightGreen); // çàêðûâàåì ïîçèöèþ return(0); // âûõîäèì } } else // èíà÷å ýòî êîðîòêàÿ ïîçèöèÿ { if(KAMAf_Cur>KAMAf_Prev&&pChange_Cur>pChange_out&&pChange_Prev<pChange_out) { OrderClose(OrderTicket(),OrderLots(),Ask,3,LightSalmon); // çàêðûâàåì ïîçèöèþ return(0); // âûõîäèì } } } } return(0); } //+------------------------------------------------------------------+...а я блин в паб срочно, к исключительно дорогому красному вину, и индивидуалкам....
да )) я то-же заметил, извини )) the_monk@softhome.net - кинь адрес... хотя на Пау скину.. удачи!! %))
Прошлое нашей Родины непредсказуемо..:)