Взломал чей-то труд, что ли?
Вот тут глянь самый посл. пост. Там уже предусмотрена эта опция.
'эксперты'
{ //---------проверяем условие на покупку---------------------------- if ( /*(Stochastic_1<low_lim) && (Stochastic_0>low_lim) &&*/ (StochK_1<StochD_0) && (StochK_0>StochD_0) ) { ticket=OrderSend(Symbol(),0,Lot,Ask,Slippage,Bid-SL*Point,Ask+TP*Point,NULL,0,0,CLR_NONE); if(ticket < 0) { Sleep(30000); prevtime = Time[1]; } if (ticket<0) { Print("Ошибка открытия ордера BUY #", GetLastError()); return (0); } } //--------проверяем условие на продажу------------------------------ if ( /*(Stochastic_1>up_lim) && (Stochastic_0<up_lim) && */
Убери ограничения (/* ...*/)
и во внешние параметры добавь
extern int low_lim=20; extern int up_lim=80;
Удачи !
Покупка if(iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)> lev20 && iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)< lev80 && iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)> iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_SIGNAL,0)) { Продажа if(iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)< lev80 && iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)> lev20 && iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)< iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_SIGNAL,0)) {
Вот тут глянь самый посл. пост. Там уже предусмотрена эта опция.
'эксперты'
Убери ограничения (/* ...*/)
и во внешние параметры добавь
Удачи !
Только вот ордера то у меня открываются при условии когда
g_istochastic_116= iStochastic(NULL,0,3,3,3,MODE_SMA,0,MODE_MAIN,0);
g_istochastic_124 = iStochastic(NULL,0,3,3,3,MODE_SMA,0,MODE_MAIN,1);
g_istochastic_132 = iStochastic(NULL,0,3,3,3,MODE_SMA,0,MODE_MAIN,2);
а мне бы хотелось чтобы еще плюс к этому добавить еще уровни перекупленност перепроданности (80, 20)
Конечно за ответ спасибо, но я еще не силен в прграммировании. Не могли бы если есть время написать это в код, то что пояснили RID а то тут 2 варианта. Я попробовал и что то невышло.
int GetSignal(string vSymbol)
{
double Stoch_Main_0 =iStochastic(vSymbol,60,14,3,3,MODE_SMA,0,MODE_MAIN,0);
double Stoch_Main_1 =iStochastic(vSymbol,60,14,3,3,MODE_SMA,0,MODE_MAIN,1);
double Stoch_Sign_0 =iStochastic(vSymbol,60,14,3,3,MODE_SMA,0,MODE_SIGNAL,0);
double Stoch_Sign_1 =iStochastic(vSymbol,60,14,3,3,MODE_SMA,0,MODE_SIGNAL,1);
int vSignal = 0;
if (Stoch_Main_0<20&&Stoch_Main_1<Stoch_Sign_1&&Stoch_Main_0>Stoch_Sign_0)
vSignal =+1;//up
else
if (Stoch_Main_0>80&&Stoch_Main_1>Stoch_Sign_1&&Stoch_Main_0<Stoch_Sign_0)
vSignal =-1;//down
return (vSignal);
______________________________________________________________________________
а если сделать что то в этом роде, как думаете. Только у меня 3 значения MODE_MAIN,0
MODE_MAIN,1
MODE_MAIN,2
а тут еще MODE_SIGNAL,0
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Как по стохастику в советник добавить еще уровни перекупленност перепроданности (80, 20). Чтобы советник при прохождении этих уровней продавал или покупал.
g_istochastic_116= iStochastic(NULL,0,3,3,3,MODE_SMA,0,MODE_MAIN,0);
g_istochastic_124 = iStochastic(NULL,0,3,3,3,MODE_SMA,0,MODE_MAIN,1);
g_istochastic_132 = iStochastic(NULL,0,3,3,3,MODE_SMA,0,MODE_MAIN,2);