Тестер: not enough money for ...

 
Сразу после запуска тестирования в журнале идут сообщения:

2006.05.25 09:50:53 2006.01.23 06:15 Tester: PrevBalance: 10000.00, PrevPL: 0.00, PrevEquity 10000.00, PrevMargin: 0.00, NewMargin: 1, FreeMargin: -1. #J
2006.05.25 09:50:53 2006.01.23 06:15 Tester: not enough money for buy 1.00 EURUSD at 1.2235 sl: 1.2185 tp: 1.2435 [2006.01.23 06:15]
2006.05.25 09:50:50 2006.01.18 21:50 Tester: PrevBalance: 10000.00, PrevPL: 0.00, PrevEquity 10000.00, PrevMargin: 0.00, NewMargin: 1, FreeMargin: -1. #J
2006.05.25 09:50:50 2006.01.18 21:50 Tester: not enough money for sell 1.00 EURUSD at 1.2104 sl: 1.2154 tp: 1.1904 [2006.01.18 21:50]

Начальный баланс как был так и есть $10000. Но ни одних торгов не осуществляется.

Подозрение такое, что проблема в том, что
в терминале открыт демо-счет с нулевым балансом.

Но какая тут связь? Поясните, пожалуйста.

Win XP, MT4 Build 193
 
А с каким плечом открыт счет? Будем проверять.
Одну из ошибок расчета маржи при последовательном друг-за другом открытии позиций на одном тике мы уже исправили. Скоро выложим обновленный билд.
 
Добрый день,

У меня похожая проблема. В процессе тестирования на графике M5 открылась и закрылась убыточная позиция:

2005.02.10 16:45 My_Expert EURUSD,M5: open #27 buy 8.80 EURUSD at 1.2883 sl: 1.2838 ok
2005.02.11 02:15 My_Expert EURUSD,M5: close #27 buy 8.80 EURUSD at 1.2883 sl: 1. 2838 at price 1.2865

После этого при попытке открыть позицию, тестер выдаёт следующее:

2005.02.22 05:20 Tester: not enough money for buy 12.10 EURUSD at 1.3153 sl: 1.3108 tp: 0.0000 [2005.02.22 05:20]
2005.02.22 05:20 Tester: PrevBalance: 15282.77, PrevPL: 0.00, PrevEquity 15282. 77, PrevMargin: 0.00, NewMargin: 15913, FreeMargin: -629.94

И так далее для следующих 20-ти попыток открыть такой же ордер в разные стороны в течении 3-х месяцев. При этом FreeMargin то увеличивается, то уменьшается. И в какой-то момент времени после этого, ордер принимается. Использую сервер Alpari, MetaTrader Build 200. Баланс демо счёта 51.15 $, открытых позиций нет.
 
Все верно. Как Вы собираетесь открыть 12.10 лотов при балансе в 15282 ?

12.10 * 1315 = ~ 15913 USD, а баланс всего 15282. Терминал явно пишет, что FreeMargin после этой сделки будет 15282 - 15913 = -629 USD
Все абсолютно верно.
 
Renat писал (а):
Все верно. Как Вы собираетесь открыть 12.10 лотов при балансе в 15282 ?

12.10 * 1315 = ~ 15913 USD, а баланс всего 15282. Терминал явно пишет, что FreeMargin после этой сделки будет 15282 - 15913 = -629 USD
Все абсолютно верно.

А... Ну да. Не обратил внимания, что лот здесь измеряется в евро. Спасибо большое.
 
Добрый день всем!
У меня очередной вопрос к специалистам:
Мне написали 2 индикатора , один(prusax_v8) показывает разницу покупателе и продавцов(его написал Sashken), 
а второй индикатор(Q(VolumeNorm)) использует тиковый объём. Если в первом всё предельно ясно, то во втором не совсем. 
Я их разместил рядом, один над другим. Под основным графиком я разместил 8 маленьких графиков с таймфреймом начиная с 1-минутки и кончая 
неделькой(попробую прицепить картинку). Так вот что я заметил: очевидно при поступлении крупных ордеров на индикаторе(Q(VolumeNorm)), 
который так же находится на этих 8-ми графиках, вечером 5 июля, где то в районе 19:00 на паре USDCHF были резкие движения вверх 
на семи из восьми графиков, но фиксации этого резкого движения не произошло, что он зафиксировал я так и не понял. 
Исходя из этого сигнала я решил открыть сделку на покупку. И когда утром опять включил терминал, то моя открытая позиция была уже в плюсе. Потом в районе 6:30-7:40 так же было резкое движение, но только на 15 минутке. К сожалению движение вниз я не зафиксировал, потому, что надо было на время уйти, а когда пришёл, то цена уже пола вниз. У меня вопрос  такой: возможно ли делать фиксирование вот этих резких движений, которые как я понимаю отображает тиковый объём? И как я понимаю этот индикатор(Q(VolumeNorm))  отображает эти резкие колебания вверх(крупные ордера на покупку) и вниз(крупные ордера на продажу) .
Индикатор я прицеплю, а вот картинку не знаю как цеплять.
Вот этот индикатор:
//+------------------------------------------------------------------+
//| Web:                                           Q(VolumeNorm).mq4 |
//|                                                           MNS777 |
//|                                                mns777.ru@mail.ru |
//+------------------------------------------------------------------+
#property copyright "MNS777"
#property link      "Web:" 
//---- отрисовка индикатора в отдельном окне
#property  indicator_separate_window
//---- количество индикаторных буфферов
#property  indicator_buffers 4
//---- цвета индикатора 
#property  indicator_color1  Black
#property  indicator_color2  Lime
#property  indicator_color3  Red
#property  indicator_color4  Blue
//---- толщина индикаторных линий
#property indicator_width1 1
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 2
 
//---- ВХОДНЫЕ ПАРАМЕТРЫ ИНДИКАТОРА ююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююжж+
extern int PeriodMA = 24;
extern int ShiftMA = 0;
extern int ModeMA = 0;
extern double K = 1000;
extern int MaxBars = 1000 ; // баров истории
extern string autor="Mns777.ru@mail.ru";
//---- жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+
 
//---- индикаторные буфферы
double     ExtBuffer0[];
double     ExtBuffer1[];
double     ExtBuffer2[];
double   SignalBuffer[];
 
//+------------------------------------------------------------------+
//|        indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   //---- стили изображения индикатора
   SetIndexStyle(0,DRAW_NONE);
   SetIndexStyle(1,DRAW_HISTOGRAM);
   SetIndexStyle(2,DRAW_HISTOGRAM);
   SetIndexStyle(3,DRAW_LINE);
   //---- точность
   IndicatorDigits(Digits+1);
   SetIndexDrawBegin(0,Digits);
   SetIndexDrawBegin(1,Digits);
   SetIndexDrawBegin(2,Digits);
   SetIndexDrawBegin(3,Digits);
//---- 3 индикаторных буффера использованы для счёта.
   SetIndexBuffer(0,ExtBuffer0);
   SetIndexBuffer(1,ExtBuffer1);
   SetIndexBuffer(2,ExtBuffer2);
   SetIndexBuffer(3,SignalBuffer);
//---- имена для окон данных и лэйбы для субъокон.
   IndicatorShortName("Q(VolumeNorm)");
   SetIndexLabel(1,NULL);
   SetIndexLabel(2,NULL);
   SetIndexLabel(3,"MA");
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int    limit;
   int    counted_bars=IndicatorCounted();
   double prev,current;
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=MaxBars;
//---- macd
   for(int i=0; i<limit; i++)
      ExtBuffer0[i]= ((Close[i] - Open[i])*K)/ Volume[i];
      
      //---- signal line counted in the 2-nd buffer
   for(i=0; i<limit; i++)
      SignalBuffer[i]=iMAOnArray(ExtBuffer0,Bars,PeriodMA,ShiftMA,ModeMA,i);
    
     
     
     
     
     
     
     
    
      
//---- dispatch values between 2 buffers
   bool up=true;
   for(i=limit-1; i>=0; i--)
     {
      current=ExtBuffer0[i];
     
      if(current>0) up=true;
      if(current<0) up=false;
      if(!up)
        {
         ExtBuffer2[i]=current;
         ExtBuffer1[i]=0.0;
        }
      else
        {
         ExtBuffer1[i]=current;
         ExtBuffer2[i]=0.0;
        }
     }
//---- done
   return(0);
  }
//+------------------------------------------------------------------+
 
Добрый день форумчане! Подскажите пожалуйста, вот у меня депозит 100 000 рублей на демо-счете при запуске тестерования любого советника на паре GBP/USD пишет not enough money, плечо как я понял 1:0, не меняется, лот 0.1 по умолчанию. Как исправить сею ошибку?
 
Денис Семенов:
Добрый день форумчане! Подскажите пожалуйста, вот у меня депозит 100 000 рублей на демо-счете при запуске тестерования любого советника на паре GBP/USD пишет not enough money, плечо как я понял 1:0, не меняется, лот 0.1 по умолчанию. Как исправить сею ошибку?


Какое-такое плечо 1:0??? Может 1:1?

 При плече 1:1 покупка 0,1 лота GBP/USD требует залога примерно 12500 долларов, в рубли переведите сами. Так что только добавить средств на счёт, или увеличить плечо.