Тестер "дули крутит"

 
Уважаемые трейдеры! Не могу найти выход из ситуации: загружаю в тестер одни параметры индикаторов, а тестирует он совсем по другим параметрам. Понятно, что результат вообще никаой... Почему он такие "дули крутит" и как от этого избавиться? Пробовал на разных терминалах, результат тот же... Видимо, я что-то не так делаю... Подскажите, пожалуйста.
 
загружать не надо,
надо устанавливать!
 
Korey писал(а) >>
загружать не надо,
надо устанавливать!

Можно поподробнее? Что не надо загружать? И что надо устанавливать?

 
в окне тестера "Свойства эксперта"
эти параметры маскируют любые изменения в коде эксперта .
 
Korey писал(а) >>
в окне тестера "Свойства эксперта"
эти параметры маскируют любые изменения в коде эксперта .

Вы меня извините... вы сами поняли бы что-то из такой консультации, если бы не знали ответ заранее?)

 
Скорее всего у тебя в эксперте заданы параметры жестко. Меняй не меняй один фиг. Кидай код эксперта сюда.
 
Impeller писал(а) >>
Скорее всего у тебя в эксперте заданы параметры жестко. Меняй не меняй один фиг. Кидай код эксперта сюда поможем разобраться.

//+------------------------------------------------------------------+
//| _AnalogTWIST.mq4 |
//| Copyright © 2007, MetaQuotes Software Corp. |
//| https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link "https://www.metaquotes.net/"

extern double Lots = 0.1; // Лот
extern double TakeProfit = 50;
extern double StopLoss = 30;
extern int FastMAperiod = 5;
extern int FastMAmode = 1; // 0-4
extern int FastMAprice = 0; //0-6
extern int SlowMAperiod = 14;
extern int SlowMAmode = 1;
extern int SlowMAprice = 0;

//---------------------------------- Служебные переменные ----------------------------
int Magic = 7771; // Magic number
string TradeComment = ""; // Комментарий к открытым ордерам
string Expert = "MACROSS"; // Название эксперта
int Slippage = 4; // Проскальзывание
int PrevTime=0;


int OrdersPerSymbol=0, OrdersBUY=0, OrdersSELL=0, ticket, Operation=0, trigger=0;
double Lot, SL,TP,FastMA1,FastMA2,SlowMA1,SlowMA2,price_holder;


//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

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

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
OrdersPerSymbol=0; OrdersBUY=0; OrdersSELL=0; Operation=0; Lot=Lots; Operation=0;

if (PrevTime!=Time[0])
{
FastMA1=iMA(NULL,0,FastMAperiod,0,FastMAmode,FastMAprice,1);
FastMA2=iMA(NULL,0,FastMAperiod,0,FastMAmode,FastMAprice,2);
SlowMA1=iMA(NULL,0,SlowMAperiod+FastMAperiod,0,SlowMAmode,SlowMAprice,1);
SlowMA2=iMA(NULL,0,SlowMAperiod+FastMAperiod,0,SlowMAmode,SlowMAprice,2);

if (FastMA2>SlowMA2 && FastMA1<=SlowMA1) {trigger=-1; price_holder=Low[1];}
if (FastMA2<SlowMA2 && FastMA1>=SlowMA1) {trigger=1; price_holder=High[1];}
PrevTime=Time[0];
}

if (trigger==-1 && Bid<price_holder) Operation=11;
if (trigger==1 && Bid>price_holder) Operation=22;

int total=OrdersTotal();
for(int cnt=total-1;cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if( OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
int openticket = OrderTicket();
if(OrderType()==OP_BUY && Operation==11)
{
ticket=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slippage,Blue);
if(ticket<0)
{
Print("OrderClose of BuyOrder failed with error #",GetLastError());
Comment("OrderClose of BuyOrder failed with error #",GetLastError());
}
}
if(OrderType()==OP_SELL && Operation==22)
{
ticket = OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slippage,Red);
if(ticket<0)
{
Print("OrderClose of SellOrder failed with error #",GetLastError());
Comment("OrderClose of BuyOrder failed with error #",GetLastError());
}
}
}
}
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if( OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
OrdersPerSymbol++;
if(OrderType()==OP_BUY) OrdersBUY++;
if(OrderType()==OP_SELL) OrdersSELL++;
}
}


if (Operation==22 && OrdersBUY<1)
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage,0,0,TradeComment,Magic,Blue);
if(ticket<0)
{
Print("OrderSend failed with error #",GetLastError());
}
else {Operation=0; trigger=0;}//SendMail("from your expert", "Open BUY at "+DoubleToStr(Ask,Digits) + "; SL = " + SL + "; TP = " + TP);
}
if (Operation==11 && OrdersSELL<1 )
{
ticket=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),Slippage,0,0,TradeComment,Magic,Red);
if(ticket<0)
{
Print("OrderSend failed with error #",GetLastError());
}
else {Operation=0; trigger=0;}//SendMail("from your expert", "Open SELL at "+DoubleToStr(Ask,Digits) + "; SL = " + SL + "; TP = " + TP);}
}




Sleep(1000);
RefreshRates();
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if( OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{

if(OrderType()==OP_BUY && ((OrderStopLoss()==0 && StopLoss!=0) || (OrderTakeProfit()==0 && TakeProfit!=0)))
{
if (StopLoss==0) SL=0; else SL=NormalizeDouble(Ask-StopLoss*Point, Digits);
if (TakeProfit==0) TP=0; else TP=NormalizeDouble(Ask+TakeProfit*Point, Digits);
if (!OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0,Blue)) Print("OrderModify failed with error #",GetLastError());
}
if(OrderType()==OP_SELL && ((OrderStopLoss()==0 && StopLoss!=0) || (OrderTakeProfit()==0 && TakeProfit!=0)))
{
if (StopLoss==0) SL=0; else SL=NormalizeDouble(Bid+ StopLoss*Point, Digits);
if (TakeProfit==0) TP=0; else TP=NormalizeDouble(Bid-TakeProfit*Point, Digits);
if (!OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0,Red)) Print("OrderModify failed with error #",GetLastError());
}
}
}




return(0);

}
//+------------------------------------------------------------------+

 
Impeller писал(а) >>
Скорее всего у тебя в эксперте заданы параметры жестко. Меняй не меняй один фиг. Кидай код эксперта сюда.

Ты не только в кодах разбираешся, но и текст редактировать умеешь? А смысл?

 
Vadimus писал(а) >>
Уважаемые трейдеры! Не могу найти выход из ситуации: загружаю в тестер одни параметры индикаторов, а тестирует он совсем по другим параметрам. Понятно, что результат вообще никаой... Почему он такие "дули крутит" и как от этого избавиться? Пробовал на разных терминалах, результат тот же... Видимо, я что-то не так делаю... Подскажите, пожалуйста.

Так никто и не поможет?

 

как же бездарно написан код :)

вообще за такое дело на работе дают весомых люлей :)

ГДЕ ФОРМАТИРОВАНИЕ ? :)

 

to Vadimus

все нормально.
в окне тестера справа есть батон "Свойства Эксперта"
там те же имена параметров что в коде, там и устнавливают для тестирования, (а код не трогают не пeрекомпилируют)

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