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

 
Roger:

У меня почему-то, все правильно выводит (не считая кириллицу)

 

Разве правильно? Тут такой же глюк как и у меня

 

Да, значит глюк.

Нашел ошибку. В библиотеке для данной функции в строке

double DecimalArray[17]={ 1.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0,  10000000.0, 100000000.0,
                             1000000000.0, 10000000000.0, 100000000000.0, 10000000000000.0, 100000000000000.0,
                             1000000000000000.0, 1000000000000000.0, 10000000000000000.0 };
надо удалить по нулю в 13, 14 и 15 числе.


Теперь правильно

2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 15 çíàêàìè ðàâíî 0.201304150854320
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 14 çíàêàìè ðàâíî 0.20130415085432
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 13 çíàêàìè ðàâíî 0.2013041508543
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 12 çíàêàìè ðàâíî 0.201304150854
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 11 çíàêàìè ðàâíî 0.20130415085
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 10 çíàêàìè ðàâíî 0.2013041509
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 09 çíàêàìè ðàâíî 0.201304151
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 08 çíàêàìè ðàâíî 0.20130415
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 07 çíàêàìè ðàâíî 0.2013042
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 06 çíàêàìè ðàâíî 0.201304
2013.04.14 22:54:33     stdlib GBPUSD,H1: loaded successfully
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé SS = 32
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé MM = 54
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé HH = 8
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DD = 15
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé MN = 4
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé YY = 2013
 
Roger спасибо огромное!!! Всё получилось! Теперь работает как надо
 

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

 

Здравствуйте. Я не силен в программировании, не могу найти ошибку, советник прогоняется на тестере, но не открывается ни одна сделка. Почему?? Помогите пожалуйста.

 

//---- input parameters
extern int       MA1=85;
extern int       MA2=75;
extern int       MA3=5;
extern int fastema=15;
extern int lowema=26;
extern int sl=15;
extern int tp=15;

/*
extern int vltbars=10;//количество баров для подсчета волатильности
extern double deliter=1.5; //делитель текущей волатильности
extern double stoppercent=0.50; // от 1 до 99

extern bool timecontrol=false;
extern string starttime = "07:00:00";
extern string stoptime = "17:00:00";
*/

extern double Lots=0.1;

int startb,starts;

double stoplevel;
int init()
{
 stoplevel=MarketInfo(Symbol(),MODE_SPREAD)+MarketInfo(Symbol(),MODE_STOPLEVEL);
}

  

int start()
  {int buy,sell;

  
    buy=0;sell=0;
     for(int  i=0;i<OrdersTotal();i++)
         {
           OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
           if(OrderType()==OP_BUY){buy=1;}
           if(OrderType()==OP_SELL){sell=1;}
         }  
         

         
double wma1 =iMA(NULL,0,MA1,0,MODE_LWMA,PRICE_LOW,1);
double wma2 =iMA(NULL,0,MA2,0,MODE_LWMA,PRICE_LOW,1);
double ema1 =iMA(NULL,0,MA3,0,MODE_EMA,PRICE_CLOSE,1);

   double macdcurr =iMACD(NULL,0,fastema,lowema,1,PRICE_CLOSE,MODE_MAIN,1);
   double macdlast =iMACD(NULL,0,fastema,lowema,1,PRICE_CLOSE,MODE_MAIN,2);


 if(ema1<wma1 && ema1<wma2)startb=1;
 if(ema1>wma1 && ema1>wma2)starts=1;

 if(ema1>wma1 && ema1>wma2 && startb==1 && (macdcurr>0 || macdcurr>macdlast) && buy==0)
 {
  
 Print("BUY Bid: "+Bid+" sl: "+sl+" TakeProfit: "+tp);
 OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-sl*Point,Ask+tp*Point,"FORTRADER.RU",0,0,Red);
 
 startb=0;
 }
 
  if(ema1<wma1 && ema1<wma2 && starts==1 && (macdcurr<0 || macdcurr<macdlast)&& sell==0)
 {
  
  Print("SELL Bid: "+Bid+" sl: "+sl+" TakeProfit: "+tp);
 OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+sl*Point,Bid-tp*Point,"FORTRADER.RU",0,0,Red);
 
 starts=0;
 }
  
  

   return(0);
  }


 
qwert2:

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

В папку с экспертами переложите.
 
Zhunko:
В папку с экспертами переложите.

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

 
qwert2:

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

Не понял. Это к чему? Это вопрос?
 
Zhunko:
Не понял. Это к чему? Это вопрос?

Это я написал что происходит если скрипт просто переложить в папку с экспертами. Он работает но не так как нужно. Скрипт создаёт 8 отложенных ордеров а если его просто сохранить в папке с экспертами то он создаёт 8 отложенных ордеров после каждого тика. А мне нужно что бы он откладывал новые 8 ордеров только после закрытия старых.
 
qwert2:
Это я написал что происходит если скрипт просто переложить в папку с экспертами. Он работает но не так как нужно. Скрипт создаёт 8 отложенных ордеров а если его просто сохранить в папке с экспертами то он создаёт 8 отложенных ордеров после каждого тика. А мне нужно что бы он откладывал новые 8 ордеров только после закрытия старых.
А Вы ничего не перепутали - может курица ЛУЧШЕ подойдёт (для откладывания)? :)))