[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 1124

 

Добрый день. Возвращаюсь к своему вопросу. Не срабатывает реверс сделки. Смотрел по сайту, но ничего не нашёл на эту тему. Подскажите что я делаю не так (продолжаю учиться языку). Требуется, чтобы это срабатывало на одной свече.

extern double TP = 70; //takeprofit
extern double SL = 0; //stoploss
extern double Lot = 0.1;

double HighLevel;
double LowLevel;
int resBuy=0;
int resSell=0;


//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
HighLevel=High[1];
LowLevel=Low[1];
return;
}

//+------------------------------------------------------------------+
//| expert function |
//+------------------------------------------------------------------+

void start()
{

if(Bars<100 && IsTradeAllowed()==false) return;


if(resBuy==0 && resSell==0 && CheckBreak()==-1)
{
resSell=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,0,Bid -TP,"",MAGICMA,0,Red);
HighLevel=LowLevel;
LowLevel=Close[1];
return;
}

if(resBuy==0 && resSell==0 && CheckBreak()==1)
{
resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP,"",MAGICMA,0,Blue);
LowLevel=HighLevel;
HighLevel=Close[1];
return;
}

if(resBuy!=0 && resSell==0 && Close[1]<LowLevel) //-------------------------------------интересует вот эта часть: закрытие и открытие на одном баре
{
bool closeBuy=OrderClose(resBuy, Lot, Bid, 2, Blue);
// while(!IsTradeAllowed()) Sleep(100);
resSell=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,0,Bid -TP,"",MAGICMA,0,Red);
HighLevel=LowLevel;
LowLevel=Close[1];
return;
}

if(resSell!=0 && resBuy==0 && Close[1]>HighLevel) //-------------------------------------интересует вот эта часть: закрытие и открытие на одном баре
{
bool closeSell=OrderClose(resSell, Lot, Ask, 0.0002, Red);
// while(!IsTradeAllowed()) Sleep(100);
resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP,"",MAGICMA,0,Blue);
LowLevel=HighLevel;
HighLevel=Close[1];
return;
}

}

//----------------------------------------------------------------- Check Low&High break (Func)

double CheckBreak()
{
double candle=Open[1]-Close[1];

if(candle>0 && Low[1]<LowLevel) return(-1);
if(candle<0 && High[1]>HighLevel) return(1);
}


 

 
Всем добрый день,

Есть проблема с массивами:

Допустим

int start (){ // Функция старт

int OrdSen_1=OrderSend(Symbol(), OP_BUY, 0.10, Ask,1, Ask-70*Point, Ask+70*Point); // Ордер на покупку
if(OrdSen_1==-1){ Alert("OrdSen_1 ",GetLastError());} // Проверка ошибки выставления ордера

double mas1[]={}; // Массив
}

Вопрос в следующем, как значения "Symbol(), OP_BUY, 0.10, Ask,1, Ask-70*Point, Ask+70*Point", которые принадлежат OrdSen_1 поместить в массим mas1[]={}, чтобы их можно было в дальнейшем использовать,брать из массива или приравнять данные значения к переменным чтобы их потом использовать. Таких ордеров может быть более, также как и массивов, главное понять принцип.

ОЧЕНЬ благодарен за помощь и объяснения, желательно развернутые :)
 
Techno:

За пределами будет удалена, потому что вы ее не используете, ну то есть не вызываете ни откуда, теперь понятно?

Дошло, спасибо :)
 
artmedia70:

Как вам такой образец? :)))))

Если вайфай прикрутить, то ничо.
 

Приветствую. Как в редакторе можно отслеживать все места в коде, где используется одна и та же переменная. функция?

 
Galion:

Приветствую. Как в редакторе можно отслеживать все места в коде, где используется одна и та же переменная. функция?


Я пользуюсь для этого программой Notepad++. В нём достаточно выделить один раз переменную,чтоб она подсветилась во всём коде.

 
Но чтоб Notepad++ подсвечивал синтаксис, нужно поднастроить его на язык MQL4. Введите в поиск этого форума Notepad++ - найдёте ссылку на уже настроенный редактор - я его тут не 1 раз выкладывал.
 
drknn:
Но чтоб Notepad++ подсвечивал синтаксис, нужно поднастроить его на язык MQL4. Введите в поиск этого форума Notepad++ - найдёте ссылку на уже настроенный редактор - я его тут не 1 раз выкладывал.

Спасибо. Установил, подсвечивает, стало веселей))
 
Galion:

Спасибо. Установил, подсвечивает, стало веселей))

Там есть очень интересная функция пометок найденных переменных. Нажмите Ctrl+F, введите имя переменной, поставьте галочки "Помечать закладкой" и "Помечать найденное". Затем нажмите кнопку "Найти все". Чтоб убрать это нажмите кнопку "Убрать все"
 
drknn:

Там есть очень интересная функция пометок найденных переменных. Нажмите Ctrl+F, введите имя переменной, поставьте галочки "Помечать закладкой" и "Помечать найденное". Затем нажмите кнопку "Найти все". Чтоб убрать это нажмите кнопку "Убрать все"

А по двойному клику переходит на фрагмент кода))) То, что нужно, спасибо)
Причина обращения: