extern int K_period = 5; extern int D_period = 5; extern int Metod = 0; extern int Price = 0; extern int TimeFrame2=15; double prst,prst2; prst=iStochastic(NULL,0,K_period,D_period,1,Metod,Price,MODE_MAIN,0); prst2=iStochastic(NULL,TimeFrame2,K_period,D_period,1,Metod,Price,MODE_MAIN,0);
Slowing стохастика нужно задавать только если используешь вторую линию, а так не имеет смысла, поэтому заменил на 1. Текущий бар в большинстве случаев тоже смотреть не имеет смысла, поэтому меняй 0 в конце на 1. В этом случае актуально проверять сигнал только на каждом новом баре, ибо это лишние расчеты, для этого делай так:
int TimeS; // маркер времени, за пределам всех функций // это в функции start if (TimeS!=Time[0]) { // новый бар образовался // суда вставить расчеты TimeS=Time[0]; // запомним время нового бара }
по поводу ММ:
// за пределами функций extern int MM = 5; int LotDigits; // желательно вставить в init(), так как расчеты останутся актуальными всегда if(MarketInfo(NULL,MODE_LOTSTEP)==0.01) LotDigits=2; if(MarketInfo(NULL,MODE_LOTSTEP)==0.1) LotDigits=1; // эта часть перед выставлением ордера double Lot= NormalizeDouble( // округление до допустимого количества знаков за запятой наших расчетов (AccountBalance()*(MM/100)) // баланс умножаем на ММ/100, т.е. берем заданный процент от депозита /MarketInfo(NULL,MODE_MARGINREQUIRED) // требуемый залог на 1 лот для данной валюты ,LotDigits); // допустимое количество знаков за запятой
последнюю строчку разобрал по частям чтобы вставить комментарии, можешь собрать в одну без пробелов и переносов
Не волнуйтесь, мы все замечаем и помним. Большое Вам спасибо, что помогли новичку! Форум на этом и держится - на безвозмездной помощи одних другим.
Ну а сам новичок, надеюсь, тоже скажет Вам спасибо - когда проснется... время-то позднее.
P.S. Обычно не жду немедленной благодарности от того, кому помог. Но чаще всего ее получаю.
)) спасибо огромное) но как я для себя выяснил, мне тут еще далеко до новичка... я частью кода я разобрался и даже умудрился вставить в свой советник без ошибок...
вот открыл книгу и продолжаю изучать...
но тема еще не закрыта, так как советник еще не готов)
И писать свои вопросы желательно в сразу в тематическую ветку : https://www.mql5.com/ru/forum/134688
И еще более желательно ее предварительно перечитать, тогда боьшая часть отпадет сама собой.
Здравствуйте господа программисты!
я уже неделю убил и нечего толком сделать не смог.
либо руки не от туда растут, либо я не знаю как )))
Помогите кто сможет доделать. ПЛИЗЗЗЗЗЗ.
Нужно чтоб открылась позиция по параметрам
__1__ потом сразу же по параметрам __2__ устанавливается отложенный ордер с увеличенным лотом "LOTMM"
и ждет пока не закроется позиция, если позиция будет открыта и сработает отложеник,
нужно чтоб открылся новый отложеник с увеличенным лотом и т.д.
Котировка пятизначная "EURUSD=1.29228"
extern string __1__ = "Открыть позицию";
extern double LOT=0.01; //--- Лот открываемой позиции
extern int TP=20; //--- Тейк профит открываемой позиции
extern int SL=120; //--- Стоп лосс открываемой позиции
extern int kol=1; //--- Кол-во открываемых позиций
extern int slippage=3; //--- Проскальзывание
extern int MG =111111; //--- Номер
extern string __2__ = "Открыть лок";
extern double LOTMM=2; //--- Увеличение лота в процентах
extern int ST=30; //--- Расстояние в пунктах от открытой позиции
extern int TP1=40; //--- Тейк профит лока
extern int SL1=200; //--- Стоп лосс лока
prst приходило текущее значение с индикатора Stochastic
а в переменную prst2 приходило значение предыдущей 5, 15, 30 минутки
extern int K_period = 5; extern int D_period = 5; extern int Slow = 3; extern int Metod = 0; extern int Price = 0; double prst,prst2; prSt=iStochastic(NULL,0,K_period,D_period,Slow,Metod,Price,MODE_MAIN,0); prSt_previos=iStochastic(NULL,previos_period(),K_period,D_period,Slow,Metod,Price,MODE_MAIN,0); ... //+------- //+------------------------------------------------------------------+ //| valenok2003@mail.ru 14.06.2011 //+------------------------------------------------------------------+ //| previos_period() вычисляет нижестоящий период //+------------------------------------------------------------------+ int previos_period() { string _Function = "previos_period():"; //------------------ switch(Period()) { case PERIOD_M1: return(PERIOD_M1); case PERIOD_M5: return(PERIOD_M1); case PERIOD_M15: return(PERIOD_M5); case PERIOD_M30: return(PERIOD_M15); case PERIOD_H1: return(PERIOD_M30); case PERIOD_H4: return(PERIOD_H1); case PERIOD_D1: return(PERIOD_H4); case PERIOD_W1: return(PERIOD_D1); case PERIOD_MN1: return(PERIOD_W1); } } //+------------------------------------------------------------------+ //+-------
Не волнуйтесь, мы все замечаем и помним.
Доброго времени суток Вам!!! Обращаюсь ко всем, кто дружит с программированием дабы помогли мне в написании индикатора.
Идея: на паре EUR - USD заметил определенную тенденцию. Если цена отклоняется (в основном цена закрытия) от МА21 прим к закр (1Н) на определенное расстояние, то намечается смена/ откат цены. Лично мне это помогает в торговле (работаю на демке, т.к. только учусь).
В виду выше изложенного прошу программистов, кому не в напряг, написать индикатор в котором отражалась следующая информация:
- цена открытия/закрытия, хай/лоу свечи;
- цена на котором в тот момент находилась МА;
- разница в пипах между: цена открытия/закрытия, хай/лоу свечи - цена на котором в тот момент находилась МА за последние 3 свечи;
- желательно, что бы вышеуказанная информация располагалась на графике вверху слева.
ЗАРАНЕЕ БЛАГОДАРЕН ВСЕМ КТО ПОМОЩЕТ!!!

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
хочу написать советник, но не могу найти... подобрать...
вобщем напишу что хочу...
интервалы торговли 5 мин, 15 мин, 30 мин.
нужно что бы в переменную prst приходило текущее значение с индикатора Stochastic
а в переменную prst2 приходило значение предыдущей 5, 15, 30 минутки
также такая же история с индикатором RSI переменные prRSI и prRSI2
и с индикатором MACD, переменные prMACD и prMACD2
так же хочу поставить значение лота при автоматической сделке 5 % от текущего депозита, а как выразить это в коде непонимаю...