0
С таким пулеметом любой брокер перекроет давление на реале.
avatar

ZEYTO

  • 26 апреля 2020, 15:45
0
К этому индикатору нужен еще один LRFF-10.2 TmaSlope v.8_2.ex4.
avatar

ZEYTO

  • 16 апреля 2020, 23:41
0
Спасибо что уделил время.
avatar

ZEYTO

  • 3 ноября 2019, 12:34
0
А самому написать подобный.
avatar

ZEYTO

  • 3 ноября 2019, 03:11
0
Понял спасибо!
avatar

ZEYTO

  • 30 ноября 2018, 21:07
0
Посмотри в коде.По коду должен стрелки ставить. SetIndexStyle(0,DRAW_ARROW);
avatar

ZEYTO

  • 30 ноября 2018, 20:12
0
Я вытащил с советника панель.
avatar

ZEYTO

  • 2 сентября 2018, 12:10
0
Андрей вопрос снят я нашел другую панель.
avatar

ZEYTO

  • 2 сентября 2018, 03:27
0
Благодарю.
avatar

ZEYTO

  • 24 мая 2018, 19:04
0
2018.02.10 11:16:57.044 Medium-Term Scalper USDJPY,H1: initialized
2018.02.10 11:16:57.015 Custom indicator Medium-Term Scalper USDJPY,H1: loaded successfully
avatar

ZEYTO

  • 10 февраля 2018, 11:25
0
У меня в двух терминалах на 4 и 5 знаках пусто почему?
avatar

ZEYTO

  • 10 февраля 2018, 01:36
0
У меня вот-так.

Внешние переменные:

extern string autolot_=«Настройки автолота»;
extern double Lots=0.1; // Фиксирвоанный лот
extern bool DynamicLot=false; // Динамический лот
extern double LotBalancePcnt=20; // % от депозита
extern double MaxLot=999; // Максимальный лот при расчете

Функция:

double GetSizeLot(double ll=1) //Функция возвращает значение лотов,
{
string lotcalc;
double pr;
string Valdepo=AccountCurrency();
//если включен ММ то значение лотов,
double Lot2,MinLots,MaxLots;
int lotdig;
if(MarketInfo(Symbol(),MODE_LOTSTEP)==0.01)lotdig=2; else lotdig=1;
if(Valdepo==«USD»)
{
if(StringSubstr(Symbol(),0,3)==«USD»)Lot2=NormalizeDouble(AccountFreeMargin()*LotBalancePcnt*
AccountLeverage()/100/MarketInfo(Symbol(),MODE_LOTSIZE),lotdig);
else if(StringSubstr(Symbol(),3,3)==«USD»)Lot2=NormalizeDouble(AccountFreeMargin()*LotBalancePcnt*
AccountLeverage()/Ask/100/MarketInfo(Symbol(),MODE_LOTSIZE),lotdig);
else
{
pr=MarketInfo(StringSubstr(Symbol(),0,3)+«USD»,MODE_ASK);
if(pr!=0)Lot2=NormalizeDouble(AccountFreeMargin()*LotBalancePcnt*AccountLeverage()/pr/100/
MarketInfo(Symbol(),MODE_LOTSIZE),lotdig);
else Lot2=NormalizeDouble(AccountFreeMargin()*LotBalancePcnt*AccountLeverage()/100/
MarketInfo(Symbol(),MODE_LOTSIZE),lotdig);
}
}
if(Valdepo==«EUR»)
{
if(StringSubstr(Symbol(),0,3)==«EUR»)Lot2=NormalizeDouble(AccountFreeMargin()*LotBalancePcnt*
AccountLeverage()/100/MarketInfo(Symbol(),MODE_LOTSIZE),lotdig);
else
{
pr=MarketInfo(«EUR»+StringSubstr(Symbol(),0,3),MODE_BID);
if(pr!=0)Lot2=NormalizeDouble(AccountFreeMargin()*LotBalancePcnt*AccountLeverage()*pr/100/
MarketInfo(Symbol(),MODE_LOTSIZE),lotdig);
else Lot2=NormalizeDouble(AccountFreeMargin()*LotBalancePcnt*AccountLeverage()/100/
MarketInfo(Symbol(),MODE_LOTSIZE),lotdig);
}
}

if(Valdepo==«RUR» || Valdepo==«RUB»)
{
if(StringSubstr(Symbol(),0,3)==«USD»)Lot2=NormalizeDouble(AccountFreeMargin()/40*
LotBalancePcnt*AccountLeverage()/100/MarketInfo(Symbol(),MODE_LOTSIZE),lotdig);
else if(StringSubstr(Symbol(),3,3)==«USD»)Lot2=NormalizeDouble(AccountFreeMargin()/40*
LotBalancePcnt*AccountLeverage()/Ask/100/MarketInfo(Symbol(),MODE_LOTSIZE),lotdig);
else
{
pr=MarketInfo(StringSubstr(Symbol(),0,3)+«USD»,MODE_ASK);
if(pr!=0)Lot2=NormalizeDouble(AccountFreeMargin()/40*LotBalancePcnt*AccountLeverage()/pr/100/
MarketInfo(Symbol(),MODE_LOTSIZE),lotdig);
else Lot2=NormalizeDouble(AccountFreeMargin()/40*LotBalancePcnt*AccountLeverage()/100/
MarketInfo(Symbol(),MODE_LOTSIZE),lotdig);
}
}

MinLots=MarketInfo(Symbol(),MODE_MINLOT);
MaxLots=MaxLot;
lotcalc=" Autolot="+Lot2;
if(!DynamicLot)Lot2=Lots;
if(Lot2 < MinLots) Lot2 = MinLots;
if(Lot2 > MaxLots) Lot2 = MaxLots;
lotcalc=lotcalc+" MinLots="+MinLots+" LOT="+NormalizeDouble(Lot2,lotdig);
Print(lotcalc);
return(NormalizeDouble(Lot2,lotdig));
}
avatar

ZEYTO

  • 23 августа 2017, 09:48
0
Буду ждать.
avatar

ZEYTO

  • 26 июля 2017, 17:24
0
Андрей вот нормальный.

//+------------------------------------------------------------------+
//| HullMA.mq4 |
//| Copyright © 2008, MetaQuotes Software Corp. |
//| www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright «Copyright © 2008, MetaQuotes Software Corp.»
#property link «www.metaquotes.net»

#property indicator_chart_window
//#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Yellow
//---- input parameters
extern int HMA_period=10;
extern int HMA_price=PRICE_MEDIAN;
extern int HMA_mode=MODE_LWMA;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
int draw_begin0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
IndicatorBuffers(2);
if(!SetIndexBuffer(0,ExtMapBuffer1) && !SetIndexBuffer(1,ExtMapBuffer2))
Print(«cannot set indicator buffers!»);
// ArraySetAsSeries(ind_buffer1,true);
//---- drawing settings
SetIndexStyle(0,DRAW_LINE);
draw_begin0=HMA_period+MathFloor(MathSqrt(HMA_period));
SetIndexDrawBegin(0,draw_begin0);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+1);
//---- name for DataWindow and indicator subwindow label
IndicatorShortName(«HMA(»+HMA_period+")");
SetIndexLabel(0,«Hull Moving Average»);
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
double d1;
double d2;
int limit;
//----
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(int i=0; i<limit; i++){
d1=iMA(NULL,0,HMA_period,0,HMA_mode,HMA_price,i);
d2=iMA(NULL,0,MathRound(HMA_period/2),0,HMA_mode,HMA_price,i);
ExtMapBuffer2[i]=(2*d2)-(d1);
}
for(i=0; i<limit; i++)
ExtMapBuffer1[i]=iMAOnArray(ExtMapBuffer2,0,MathSqrt(HMA_period),0,MODE_LWMA,i);
//----
return(0);
}
//+------------------------------------------------------------------+

avatar

ZEYTO

  • 26 июля 2017, 14:37
0
Логика мне не известна но вот пример.

double AMA(int FastMA = 2,int SlowMA = 30,int Range = 9,int filter = 25,int NBars = 300,int Tf1 = 0,int Chift=1){
double fAMA[];
double mAMA[];
int cb, i;
double k1, k2, Noise, ER, SSC, AMA, sdAMA, dAMA;
//-----------------------------------------------------
ArrayResize(fAMA,NBars+1);
ArrayResize(mAMA,NBars+1);
ArrayInitialize(fAMA,0);
ArrayInitialize(mAMA,0);
ArrayIsSeries(fAMA);
ArrayIsSeries(mAMA);
k1 = 2.0 / (SlowMA + 1);
k2 = 2.0 / (FastMA + 1) — k1;
AMA = iClose(Symbol(),Tf1,NBars-Range);
mAMA[NBars-Range] = iClose(Symbol(),Tf1,NBars-Range+1);
//-----------------------------------------------------
for(cb = NBars; cb >= 0; cb--){
Noise = 0;
for(i=cb;i<=cb+Range-1;i++){Noise=Noise+MathAbs(iClose(Symbol(),Tf1,i)-iClose(Symbol(),Tf1,i+1));}
if(Noise!=0){ER = MathAbs(iClose(Symbol(),Tf1,cb) — iClose(Symbol(),Tf1,cb+Range)) / Noise;}else{ER = 0;}
SSC=(ER*k2 + k1);
AMA=AMA+NormalizeDouble(SSC*SSC*(iClose(Symbol(),Tf1,cb) — AMA), 4);
mAMA[cb] = AMA;
if(filter < 1){
fAMA[cb] = mAMA[cb];
if(cb==Chift)return(fAMA[cb]);
}else{
for(i=cb;i<=cb+SlowMA-1;i++){sdAMA = sdAMA + MathAbs(mAMA[i] — mAMA[i+1]);}
dAMA=mAMA[cb]-mAMA[cb+1];
if(dAMA>=0){
if(dAMA < NormalizeDouble(filter*sdAMA / (100*SlowMA), 4) &&
iHigh(Symbol(),Tf,cb) <= iHigh(Symbol(),Tf,iHighest(NULL, 0, MODE_HIGH, 4, cb)) + 10*gd_101){
fAMA[cb] = fAMA[cb+1];
if(cb==Chift)return(fAMA[cb]);
}else{
fAMA[cb] = mAMA[cb];
if(cb==Chift)return(fAMA[cb]);
}//if(dAMA < Normaliz
}else{
if(MathAbs(dAMA) < NormalizeDouble(filter*sdAMA / (100*SlowMA), 4) &&
iLow(Symbol(),Tf1,cb) > iLow(Symbol(),Tf1,iLowest(NULL, Tf1, MODE_LOW, 4, cb)) — 10*gd_101){
fAMA[cb] = fAMA[cb+1];
if(cb==Chift)return(fAMA[cb]);
}else{
fAMA[cb] = mAMA[cb];
if(cb==Chift)return(fAMA[cb]);
}
}
sdAMA=0.0;
}//for(i=cb;i<=cb+Range-1;i++)
}//for(cb = NBars; cb >= 0; cb--){
return(fAMA[Chift]);
}
//-------------------------------------
avatar

ZEYTO

  • 25 июля 2017, 21:18
0
Благодарю!
avatar

ZEYTO

  • 23 января 2017, 20:48
0
Андрей возможно сделать советник по этому алгоритму.
avatar

ZEYTO

  • 28 ноября 2016, 20:05
0
Благодарю!
avatar

ZEYTO

  • 28 ноября 2016, 17:18
0
Компилируется но график пустой.Должно быть как на скрине.
avatar

ZEYTO

  • 3 сентября 2016, 19:48
Начать торговлю с Альпари