[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 984
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо.
Можно ли в эту таблицу добавить колонки со значением индикатора? Например значение MA на данном баре. Или есть ли фрактал вверх/вниз?
Здравствуйте. Не подскажете, есть ли где-то вообще в открытом доступе история сделок (стейтмент) Л.Вильямса с его легендарной победы на чемпе 1987г ? Любопытно было бы взглянуть)
отчет нормальный прикрепи. А лучше полный отчет, там и видно будет.
Разница между М1 все тики и М30 минимльна.
День добрый!
Необходимо, чтобы данный советник работал на одном счете, но на разных парах. Но к сожалению, если открыта хотя бы одна сделка, то на других парах советники не открывают сделки, даже если есть сигнал. В чем ошибка? Помогите разобраться!
И еще вопрос, нужно ли при присоединении советника к графику в настройках менять Magic, если он уже применялся в другой паре?
вот код:
//////////////////////////////////////////////////////////////////////
// ПЕРЕСЕЧЕНИЕ МУВИНГОВ //
//////////////////////////////////////////////////////////////////////
extern string Настройки = "Главные настройки"; ////////////////////////
extern int Magic = 227 ; //Индивидуальный номер//
extern double Lots =0.1 ;
extern int Slip = 5 ; //Проскальзывание/
// данные для установки времени
extern string OpenTime = "01:05-23:05";
//------------------------------------------------------------------// //
//Индикаторы // //
//------------------------------------------------------------------// //
extern string Индикатор1 = "MA-Медленный" ; // //
extern int MAPeriod1 = 55 ; //Период //
extern int MA1_shift = 0 ;
extern string Индикатор2 = "MA-Быстрый" ; // //
extern int MAperiod2 = 13 ; //Период //
extern int MA2_shift = 0 ;
//------------------------------------------------------------------/////////////
int tiket1,tiket2,cnt;
int start()
{
//---------------------------------------------------------------------------------------------------------------//
double MA1 =iMA(NULL,0,MAPeriod1,MA1_shift,MODE_LWMA,PRICE_MEDIAN,0); //вычисляем индикатор МА //
//Print("ma1=====",MA1);
double MA2 =iMA(NULL,0,MAperiod2,MA2_shift,MODE_LWMA,PRICE_CLOSE,0); //вычисляем индикатор МА //
//Print("ma2=====",MA2);
string OTA[];
string OTI[];
split(OTA, OpenTime, ";");
datetime tm0 = CurTime();
datetime tm1, tm2;
bool cond = false;
int cnt = ArraySize(OTA);
for (int i=0; i < cnt; i++) {
split(OTI, OTA[i], "-");
if (ArraySize(OTI) != 2) continue;
tm1 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " " + OTI[0]);
tm2 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " " + OTI[1]);
cond = cond || (tm1 <= tm0 && tm0 < tm2);
}
if (cond)
{
if(OrdersTotal()==0)
{
if((MA2>MA1)&&(Close[0]>MA2))
{
tiket1=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE);
}
if((MA2<MA1)&&(Close[0]<MA2))
{
tiket2=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE);
}
}
if(OrdersTotal()==1)
{
if((MA2>MA1)&&(Close[0]>MA2 ))
{
OrderClose(tiket2,Lots,Ask,Slip,Red);
}
if((MA2<MA1)&&(Close[0]<MA2))
{
OrderClose(tiket1,Lots,Bid,Slip,Red);
}
}
}
}
void split(string& arr[], string str, string sym)
{
ArrayResize(arr, 0);
string item;
int pos, size;
int len = StringLen(str);
for (int i=0; i < len;) {
pos = StringFind(str, sym, i);
if (pos == -1) pos = len;
item = StringSubstr(str, i, pos-i);
item = StringTrimLeft(item);
item = StringTrimRight(item);
size = ArraySize(arr);
ArrayResize(arr, size+1);
arr[size] = item;
i = pos+1;
}
}
День добрый!
extern string OpenTime = "01:05-23:05";
//------------------------------------------------------------------// //
//Индикаторы // //
//------------------------------------------------------------------// //
extern string Индикатор1 = "MA-Медленный" ; // //
extern int MAPeriod1 = 55 ; //Период //
extern int MA1_shift = 0 ;
extern string Индикатор2 = "MA-Быстрый" ; // //
extern int MAperiod2 = 13 ; //Период //
extern int MA2_shift = 0 ;
//------------------------------------------------------------------/////////////
int tiket1,tiket2,cnt;
int start()
{
//---------------------------------------------------------------------------------------------------------------//
double MA1 =iMA(NULL,0,MAPeriod1,MA1_shift,MODE_LWMA,PRICE_MEDIAN,0); //вычисляем индикатор МА //
//Print("ma1=====",MA1);
double MA2 =iMA(NULL,0,MAperiod2,MA2_shift,MODE_LWMA,PRICE_CLOSE,0); //вычисляем индикатор МА //
//Print("ma2=====",MA2);
string OTA[];
string OTI[];
split(OTA, OpenTime, ";");
datetime tm0 = CurTime();
datetime tm1, tm2;
bool cond = false;
int cnt = ArraySize(OTA);
for (int i=0; i < cnt; i++) {
split(OTI, OTA[i], "-");
if (ArraySize(OTI) != 2) continue;
tm1 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " " + OTI[0]);
tm2 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " " + OTI[1]);
cond = cond || (tm1 <= tm0 && tm0 < tm2);
}
if (cond)
{
if(OrdersTotal()==0)
{
if((MA2>MA1)&&(Close[0]>MA2))
{
tiket1=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE);
}
if((MA2<MA1)&&(Close[0]<MA2))
{
tiket2=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE);
}
}
if(OrdersTotal()==1)
{
if((MA2>MA1)&&(Close[0]>MA2 ))
{
OrderClose(tiket2,Lots,Ask,Slip,Red);
}
if((MA2<MA1)&&(Close[0]<MA2))
{
OrderClose(tiket1,Lots,Bid,Slip,Red);
}
}
}
}
void split(string& arr[], string str, string sym)
{
ArrayResize(arr, 0);
string item;
int pos, size;
int len = StringLen(str);
for (int i=0; i < len;) {
pos = StringFind(str, sym, i);
if (pos == -1) pos = len;
item = StringSubstr(str, i, pos-i);
item = StringTrimLeft(item);
item = StringTrimRight(item);
size = ArraySize(arr);
ArrayResize(arr, size+1);
arr[size] = item;
i = pos+1;
}
}
Думаю там где выделенно красным.
День добрый!
Необходимо, чтобы данный советник работал на одном счете, но на разных парах. Но к сожалению, если открыта хотя бы одна сделка, то на других парах советники не открывают сделки, даже если есть сигнал. В чем ошибка? Помогите разобраться!
И еще вопрос, нужно ли при присоединении советника к графику в настройках менять Magic, если он уже применялся в другой паре?
вот код:
.......
if(OrdersTotal()==0)
Вот корень зла.
Почему то советник упорно не хочет отписываться в журнале раньше 21.45,хотя в коде вроде все верно и никаких ограничений на это нет...посмотрите в чем там может быть причина плз? upd перезагрузил комп,на первом прогоне записи были с самого начала дня,а потом опять все по новой... такое ощущение что закэшировалось что то,только вот что?
Почему то советник упорно не хочет отписываться в журнале раньше 21.45,хотя в коде вроде все верно и никаких ограничений на это нет...посмотрите в чем там может быть причина плз? upd перезагрузил комп,на первом прогоне записи были с самого начала дня,а потом опять все по новой... такое ощущение что закэшировалось что то,только вот что?
Мне кажется это из-за первого условия. Попробуй Hour()<=22.