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

 
Здравствуйте. Функция iMaOnArray использует заранее подготовленный массив данных, который в этой функции записывается без квадратных скобок. Как быть, если этот массив двумерный? (например так: Mas[4][100], т.е. 4 независимых машки по 100 точек каждая)
 

Господа программисты как сделать так чтоб высвечивались только точки мах и мin свечей одного цвета?

Декомпил удален

 

Подскажите правильно ли считается профит фактор если Hist-массив содержащий историю счета после каждой закрытой сделки.

double IndFunc2()
{
int i;
double sl,tp;
double r;
for(i=PeriodPF-1;i>0;i--){
r=Hist2[i]-Hist2[i-1];
if(r>=0){tp+=r;}
if(r<0){sl+=MathAbs(r);}
}
if(sl!=0){PF2=tp/sl;}
else{PF2=tp;}
return(0);
}
 
// < 0 - Dn
// > 0 - Up
int Signal()
{
double RSI = iRSI(NULL,15,RSIperiod,RSI_price,SignalBar);
double Stoch = iStochastic(NULL,15,Stoch_K,Stoch_D,Stoch_slowing,Stoch_method,Stoch_price,Stoch_mode,SignalBar);
double CCI = iCCI(NULL,15,CCI_period,CCI_price,SignalBar);

double MA2 = iMA(NULL,15,ma2_period,ma2_shift,ma2_method,ma2_price,SignalBar);
double IchiA = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 3, SignalBar);
double IchiB = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 4, SignalBar); 

    if(GO && SignalType_1 && RSI >= 65 && Stoch >= 80 && CCI >= 100) {GO=false; return(+1);}//запретить повторный вход (+1);
    if(GO && SignalType_2 && Bid >= MA2) {GO=false; return(+1);}//запретить повторный вход return(+1);
    if(GO && SignalType_3 && Bid >= IchiA) {GO=false; return(+1);}//запретить повторный вход (+1);
    
   
    
    if(GO && SignalType_1 && RSI <= 35 && Stoch <= 20 && CCI <= -100) {GO=false; return(-1);}//запретить повторный вход (-1);
    if(GO && SignalType_2 && Ask <= MA2) {GO=false; return(-1);}//запретить повторный вход (-1);
    if(GO && SignalType_3 && Ask <= IchiB) {GO=false; return(-1);}//запретить повторный вход (-1);
    
    if(OrdersTotal()==0)GO=true;
    
    return(0);
}

Здравствуйте Подскажите пожалуйста как разделить эти сигналы на три разных (т.е. в советнике используется три сигнала на покупку я хотел бы чтобы все три сигнала использовал советник по отдельности а не в общей куче) Я попробовал сам у меня получилось вот это

//+------------------------------------------------------------------+
//
// 1 - Dn
// 2 - Up
int Signal()
{
double RSI = iRSI(NULL,15,RSIperiod,RSI_price,SignalBar);
double Stoch = iStochastic(NULL,15,Stoch_K,Stoch_D,Stoch_slowing,Stoch_method,Stoch_price,Stoch_mode,SignalBar);
double CCI = iCCI(NULL,15,CCI_period,CCI_price,SignalBar);

if(GO && SignalType_1 && RSI >= 65 && Stoch >= 80 && CCI >= 100) {GO=false; return(+1);}//запретить повторный вход (+1);
else {
if(GO && SignalType_2 && RSI <= 35 && Stoch <= 20 && CCI <= -100) {GO=false; return(-1);}//запретить повторный вход (-1);
}
}

{
double MA2 = iMA(Symbol(), 0, 200, 0, MODE_EMA, PRICE_CLOSE, 1);


if(GO && SignalType_1 && Bid >= MA2) {GO=false; return(+1);}//запретить повторный вход (+1);

else
{
if(GO && SignalType_2 && Ask <= MA2)  {GO=false; return(-1);}//запретить повторный вход (-1);
}
}
{
double IchiA = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 3, SignalBar);
double IchiB = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 4, SignalBar); 

    
       if(GO && SignalType_1 && Bid >= IchiA ){GO=false; return(+1);}//запретить повторный вход (+1); 
  
  else{  
    
    if(GO && SignalType_2 && Ask <= IchiB ) {GO=false; return(-1);}//запретить повторный вход (-1); 
    }
    
    if(OrdersTotal()==0)GO=true;
    
    return(0);
}

И получилось что советник открывает сделки только по RSI CCI и Stoh. Что неправильно?

 
FAQ:

Милости просим. ибо старый тормозит немерянно.

Cсылка на предыдущий топ : https://www.mql5.com/ru/forum/134688


Доброго времени суток, Уважаемые Форумчане!!!

совсем недавно мне трудно было представить как вообще писать советник. А теперь, задался целью написать своего первого советника, просто голову озарила светлая идея. Ближе к делу!

одна из функций моего светника - это рысканье по истории в поисках последнего закрытого ордера, но проблема - этот ордер должен быть обязательно BUy или Sell, но никак не удалённый отложенник. Я в тупике. Ихначально у меня стояла вот такая конструкция

OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);

код простейший, вычисляет последний ордер, а если отложенник, то ступор(

Мне нужен код вида:

тра-ля-ля цикл(считывает с конца)

если попался отложенник, {то на 1 вверх},

если попался ордер типа BUY или SELL, то вуаля {какая-нибудь функция}

Надеюсь на вашу помощь, советник почти полностью написан, моё первое творение, остался только этот крупный косяк, а остальные маленькие - ерунда.

Заранее спасибо!!!
 
tyler.lexx:

Доброго времени суток, Уважаемые Форумчане!!!

совсем недавно мне трудно было представить как вообще писать советник. А теперь, задался целью написать своего первого советника, просто голову озарила светлая идея. Ближе к делу!

одна из функций моего светника - это рысканье по истории в поисках последнего закрытого ордера, но проблема - этот ордер должен быть обязательно BUy или Sell, но никак не удалённый отложенник. Я в тупике. Ихначально у меня стояла вот такая конструкция

OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);

код простейший, вычисляет последний ордер, а если отложенник, то ступор(

Мне нужен код вида:

тра-ля-ля цикл(считывает с конца)

если попался отложенник, {то на 1 вверх},

если попался ордер типа BUY или SELL, то вуаля {какая-нибудь функция}

Надеюсь на вашу помощь, советник почти полностью написан, моё первое творение, остался только этот крупный косяк, а остальные маленькие - ерунда.

Заранее спасибо!!!

Спамим? Повторится - в бан
 
Vinin:

Спамим? Повторится - в бан
Раз такой умный, то лучше бы помог, нежели пугать концом света!я реально обратился за помощью!
 
есть список чисел, хотелось бы построить плотность распределения с помощью какой нибудь простой бесплатной программы, так как сам не математик, подскажите, где нарыть такую можно.
 
Импорт истории больше не работает что ли? Билд 434.
 

Доброго времени суток. Вопрос следующего содержания: почему среди идентификаторов запроса функции MarketInfo есть параметр MODE_MARGINREQUIRED для определения количества свободных средств, необходимых для открытия 1 лота на покупку, но нет параметра для определения количества свободных средств, необходимых для открытия 1 лота на продажу? И как в таком случае определить, сколько надо иметь свободных средств, чтобы открыть 1 лот на продажу в том или ином ДЦ?

P.S. Чтобы не захламлять форум, заранее благодарю за ответ.

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