Я новичок в мире MQL4
-кода.
Я родом из C++
и пытаюсь выучить MQL4
язык и правила.
Пишу простой советник (мой первый в жизни).
Он компилируется, но при попытке его протестировать завершается безрезультатно. Я прикрепляю код, чтобы лучше проиллюстрировать, что я пытаюсь сделать:
//+------------------------------------------------------------------+
//| MyFirstExpert.mq4 |
//| Leonardo |
//| http://investinmarkets.altervista.org |
//+------------------------------------------------------------------+
#property copyright "Leonardo "
#property link "http://investinmarkets.altervista.org"
#property version "1.00"
#property strict
input int BarCount = 3;
int Ticket = 0;
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick() {
int BarCountTemp = BarCount + 1;
double bars[];
ArrayResize( bars, BarCountTemp );
for ( int i = 0; i < BarCountTemp; i++ ) {
bars[i] = Close[i + 1];
}
int i = 0;
bool is_p;
do
{
if ( bars[i] > bars[i+1] && i < BarCountTemp ) is_p = true;
else is_p = false;
i++;
}
while ( is_p );
if ( is_p == true && Ticket == 0 ) {
Ticket = OrderSend(_Symbol,OP_SELL,0.1,Bid,0,0,0,"Sell Order Custom",110);
Alert("Sell order opened to match found.");
Comment("Sell order opened #"+Ticket+".");
}
if ( Ticket != 0 ) {
bool select = OrderSelect(Ticket,SELECT_BY_TICKET);
if ( Close[1] > Close[2] ) {
bool close = OrderClose(Ticket,OrderLots(),Ask,0,clrGreen);
Alert("Sell order closed.");
Comment("Sell order closed #"+Ticket+".");
Ticket = 0;
}
}
}
//+------------------------------------------------------------------+
Я хочу просто подсчитать бары (введенные пользователем), а затем выполнить проверку: если, например. 3 бара все положительны, затем открываем ордер на продажу (на данный момент только в этом случае). Если открыт, следующий бар проверяется, остается ли он положительным, если нет, то закрываем сделку.
Я всегда получаю пустые результаты.
Заранее спасибо!