А такой рисунок видели? - страница 139

Vladimir Gomonov
8301
Vladimir Gomonov  
bowie:
Один и тот-же советник, с одними и теми-же параметрами, на одном и том-же TF, на одном и том-же участке истории. На шестом тесте - слив. )) Использует псевдослучайные (исправил) числа для входов.
подробнее можно?
Ratibor Shokhirev
1662
Ratibor Shokhirev  
#property copyright "Copyright 2013, bowie@nm.ru"
#property link "bowie@nm.ru"
#property version "1.00"
double input maximumRisk = 0.4; //1.0 == maxlot. decrease the value of the smaller TF

double decreaseFactor = 35.0; 
int lossPeriod =54000;
int IPeriod =3;

// double eq =0;
ENUM_TIMEFRAMES TMFR[8];
input double hiLim = 35; //level max
input double lowLim= 65; //level min
bool vv= true; //
//input double diLot = 0.05; // этим объемом иногда будут открываться позиции, если dilute == true
//input bool dilute= true; // произвольно игнорировать оптимизатор объема открываемой позиции
//----------------------------------------------------------------
//---
//----------------------------------------------------------------
void AddTmFr()
{
TMFR[0]= PERIOD_M20; // 
TMFR[1] = PERIOD_H1; //
TMFR[2] = PERIOD_H3; //
TMFR[3] = PERIOD_H4; //
TMFR[4] = PERIOD_H6; //
TMFR[5] = PERIOD_H8; //
TMFR[6] = PERIOD_H12;//
TMFR[7] = PERIOD_D1; //
}
//----------------------------------------------------------
//--- init stochastic
//---------------------------------------------------------- 
int InitS(int hnd,int max)
{
int p = Rnd(3,max);
int x = Rnd(0,7);
hnd = iMyInd(Symbol(),TMFR[x],p,IPeriod);
// Print("Init: "+IntegerToString(x,2,' ')+"="+IntegerToString(hnd,3,' '));
if(hnd== INVALID_HANDLE){Error("initS: "+GetLastError());return(-1);}
return(hnd);
}
//------------------------------------------------------------
//--- deinit stochastics
//------------------------------------------------------------
void DeInitS(int &hnd)
{
IndicatorRelease(hnd);
}
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
AddTmFr();
MathSrand(GetTickCount());
// eq = AccountInfoDouble(ACCOUNT_EQUITY);
return(0);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
DeInitS();
}
//-------------------------------------------------------------------
//---check for new bar
//-------------------------------------------------------------------
bool IsNewBar(datetime newTime,datetime tt)
{
if(newTime==tt){return (false);}else{return (true);}
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
static double priceToSell =0.0;
static double priceToBuy =0.0;
static datetime trt=NULL;
static int Handle;
datetime ta[1];
ClsOnTP();
if(CopyTime(_Symbol,_Period,0,1,ta)<1)
{
Print("CopyRates of ",_Symbol," failed, no history");
return;
} 
if(IsNewBar(ta[0],trt)==true)
{
static int rndMax= 40;
int STH = Rnd(0,7);
//some code

priceToSell = BarHi(InitS(Handle,rndMax),TMFR[STH],hiLim);
priceToBuy = BarLow(InitS(Handle,rndMax),TMFR[STH],lowLim);

//some code
DeInitS(Handle);
trt=ta[0];
} 
if(BuyPrice (_Symbol,priceToBuy) ==1) {ClosePosition(); priceToBuy = CorrectBuy(priceToBuy,_Symbol);}
if(SellPrice(_Symbol,priceToSell)==1) {ClosePosition(); priceToSell = CorrectSell(priceToSell,_Symbol);} 
CheckForUpOpen(priceToBuy,priceToSell); 
CheckForDwOpen(priceToSell,priceToBuy); 
// int err=GetLastError();
// if(err>0 && err!=4753 && err!=4756){Error("OnTick: ");} 
}
//------------------------------------------------------------------- 
//--- 
//------------------------------------------------------------------- 
double CorrectBuy(double pp, string sym)
{
//some code
}
//------------------------------------------------------------------- 
//--- 
//------------------------------------------------------------------- 
double CorrectSell(double pp, string sym)
{
//some code
}
//--------------------------------------------------------------------
//--- 
//--------------------------------------------------------------------
void CheckForUpOpen(double &bPrice, double &sPrice)
{ 
//some code
} 
//--------------------------------------------------------------------
//--- 
//--------------------------------------------------------------------
void CheckForDwOpen(double &sPrice, double &bPrice)
{ 
//some code
} 
//----------------------------------------------------
//---close position
//----------------------------------------------------
void ClosePosition()
{ 
//some code
}
//------------------------------------------------------------------
//---calculate optimal lot size 
//------------------------------------------------------------------
double TradeSizeOptimized(double diLot = 0.05, bool dl=false)
{
//some code
}
//+----------------------------------------------------------------------------------+
//
//+----------------------------------------------------------------------------------+
double PosProf(bool allPos)
{ 
//some code
}
//-----------------------------------------
//--- print error
//-----------------------------------------
void Error(string n)
{
Print("Error ",n," ",GetLastError());
}
//---------------------------------------------------------------------
//---
//---------------------------------------------------------------------
double BarHi(int hndl,ENUM_TIMEFRAMES timeFrame,double hiStochLimit)
{
//some code
}
//------------------------------------------------------------------
//---
//------------------------------------------------------------------
double BarLow(int hndl,ENUM_TIMEFRAMES timeFrame,double lowStochLimit)
{ 
//some code
}
//-------------------------------------------------------------------------------------
void ClsOnTP()
{
//some code
}
//+-----------------------------------------------------------------------------------+
MqlTradeRequest mrequest;
MqlTradeResult mresult;
//-------------------------------------------------------------------+
//---check sell price
//-------------------------------------------------------------------+
int SellPrice(string sym, double price,int dev=10.0)
{
//some code
}
//--------------------------------------------------------------------+
//---check buy price
//--------------------------------------------------------------------+
int BuyPrice(string sym,double price,int dev=10.0)
{
//some code
}
//--------------------------------------------------------
//---sellnow
//-------------------------------------------------------=
int SellNow(double vol=0.01,int dev=10.0)
{
//some code
}
//--------------------------------------------------------
//---buynow
//-------------------------------------------------------=
int BuyNow(double vol=0.01,int dev=10.0)
{
//some code
}
//---------------------------------------------------------
//--- retcodes check
//---------------------------------------------------------
int RtcCheck(uint rtc)
{
//some code
}
//------------------------------------------------------
//
//------------------------------------------------------
int Rnd(int min, int max)
{ 
return (int)(MathRand() / 32768. * (max - min + 1) + min);
}
//------------------------------------------------------
//
//------------------------------------------------------


Исправил

void DeInitS(int hnd)
{
IndicatorRelease(hnd);
}


void DeInitS(int &hnd)
{
IndicatorRelease(hnd);
}
Ratibor Shokhirev
1662
Ratibor Shokhirev  
Результаты.
Файлы:
s2_4.zip 756 kb
Vladimir Pastushak
86538
Vladimir Pastushak  

7 год задаюсь вопросом КАК ?

fozi
2917
fozi  

Я вообще больше не качаю историю. Последний раз как скачал то ужаснулся. Пришлось переустановить МТ.

fozi
2917
fozi  

КРАСОТААА !! Класика

Александр
287
Александр  
fozi:

КРАСОТААА !! Класика


И какой брокер предоставляет торговлю бензином?Я что то не нашел не у фк не у фореша с рбк такой услуги,по картинке скажу,что действительно красиво,вот бы и на форексе так валютные пары ходили.)
poruchik
1921
poruchik  

ZUP 3D

fozi
2917
fozi  
Profitov:

И какой брокер предоставляет торговлю бензином?Я что то не нашел не у фк не у фореша с рбк такой услуги,по картинке скажу,что действительно красиво,вот бы и на форексе так валютные пары ходили.)


Калика финанс

Там терминал iTrader

Александр
287
Александр  
fozi:


Калика финанс

Там терминал iTrader


Ух ты здорово,нужно будет посмотреть как там действительно дела идут с бензином,а случайно предыдущий индикатор не к бензину относиться или же к форекс дела вообще не имеет,ая по моему на форуме у фреша видел такой же?