change close to open. If it starts counting by open, then dig in this direction how to change this value. I can't run beta terminal now to look through its editor.
Change the value here beforehand:
//--- counting from 0 to rates_totalArraySetAsSeries(ExtLineBuffer,false);
ArraySetAsSeries(close,false);
//--- first calculation or number of bars was changed
There is no point in changing Close to Open, there will be little change. It is easier not to bother with such nonsense, but to take data from the formed bar.
I wrote an EA, but it doesn't work at all)))) or it doesn't work correctly. i've been poking around, fixing many things, but nevertheless, the EA doesn't work.
here is a fragment of the calculation of trading decisions based on the RSI indicator :
int Ticket1_RSI=-1, Ticket2_RSI=-1; // Номера открытых ордеровexterndouble Lot=0.01; // Объем лотаint RSI() // Функция RSI
{
double T, P;
double RSI_0, RSI_1, RSI_2; // Значения индикатора RSI//------------------Значения индикатора---------------------------------------
RSI_0=iRSI(Symbol(), 0, 14, PRICE_CLOSE, 0); // Получаем данные от RSI
RSI_1=iRSI(Symbol(), 0, 14, PRICE_CLOSE, 1); // Получаем данные от RSI
RSI_2=iRSI(Symbol(), 0, 14, PRICE_CLOSE, 2); // Получаем данные от RSI //------------------Условие на продажу--------------------------------- if (RSI_1 > RSI_0 > 70 && RSI_1 > RSI_2) // Если индикатор превышает значение 70 и виден поворот вниз
{
if (Ticket2_RSI > 0) // Если имеется ордер на покупку
OrderClose(Ticket2_RSI, OrderLots(), Bid, 0, 0); // Закрытие ордера на покупкуif (Ticket1_RSI <= 0) // Если ордера на продажу нет
{
Ticket1_RSI=OrderSend(Symbol(), OP_SELL, Lot, Bid, 2, 0, 0); // Открытие ордера на продажуif (OrderSelect(Ticket1_RSI, SELECT_BY_TICKET)==true)
{
T=OrderOpenTime();
P=OrderOpenPrice();
ObjectCreate("Arrow", 22, 0, T, P); // Создание индикатора ордера
ObjectSet("Arrow", OBJPROP_COLOR, IndianRed); // Изменение цвета в мутно-красноватый
ObjectSet("Arrow", OBJPROP_ARROWCODE, 242); // Направление стрелки внизObjectCreate("Text", 21, 0, T, P); // Создание текстового объекта
ObjectSetText("Text", "Open sell-order by RSI", 6, "Times New Roman", Navy); // Текст, шрифт, стиль, цвет
}
}
}
//-------------------Условие на покупку-------------------------------- if (RSI_1 < RSI_0 < 30 && RSI_1 < RSI_2) // Если индикатор ниже значения 30 и виден поворот вверх
{
if (Ticket1_RSI > 0) // Если имеется ордер на продажу
OrderClose(Ticket1_RSI, OrderLots(), Ask, 0, 0); // Закрытие ордера на продажуif (Ticket2_RSI <= 0) // Если ордера на продажу нет
{
Ticket2_RSI=OrderSend(Symbol(), OP_BUY, Lot, Ask, 2, 0, 0); // Открытие ордера на покупкуif (OrderSelect(Ticket2_RSI, SELECT_BY_TICKET)==true)
{
T=OrderOpenTime();
P=OrderOpenPrice();
ObjectCreate("Arrow", 22, 0, T, P); // Создание индикатора ордера
ObjectSet("Arrow", OBJPROP_COLOR, LawnGreen); // Изменение цвета в ярко-зеленый
ObjectSet("Arrow", OBJPROP_ARROWCODE, 241); // Направление стрелки вверхObjectCreate("Text", 21, 0, T, P); // Создание текстового объекта
ObjectSetText("Text", "Open buy-order by RSI", 6, "Times New Roman", Navy); // Текст, шрифт, стиль, цвет
}
}
}
//-------------------------------------------------------------------- return;
}
The thing is, the EA immediately opens a buy order, despite the value of the indicator, and does not want to close it. Objects like text and arrows do not appear.
I wrote an EA, but it doesn't work at all)))) or it doesn't work correctly. i've been poking around, fixing many things, but nevertheless, the EA doesn't work.
here is a fragment of the calculation of trading decisions based on the RSI indicator :
The thing is, the EA immediately opens a buy order, despite the value of the indicator, and does not want to close it. Objects like text and arrows do not appear.
Help me figure this out)) just new to this myself
if (RSI_1 > RSI_0 && RSI_0 > 70 && RSI_1 > RSI_2) // Если индикатор превышает значение 70 и виден поворот вниз
So you have to write each inequality separately in the conditions? If you generalise somehow, it will be seen as an error? Then why does the program say there are no errors when compiling?
So you have to write each inequality separately in the conditions? If you generalize it somehow, it will be perceived as an error? Then why does the program say that there is no error when compiling?
There is no error, you just don't get the result you are expecting.
...How do you look for a cause in a situation like this?
Purely by accident I stumbled across it. You need to simplify things. Comment everything out, uncomment the first import, compile, call functions, etc.
Integer: There is no point in changing Close to Open, there will be little change. It is easier not to bother with such nonsense, but take the data from the formed bar.
There is no error, you just do not get the result you were expecting.
I figured it out)) one order was opened immediately without any further changes, because I had to write NULL instead of Symbol() in the line:
RSI_1=iRSI(Symbol(), 0, 14, PRICE_CLOSE, 1); // Получаем данные от RSI
You have to write NULL instead of Symbol(), because there is a discrepancy in the variable types. Because of this, I saw RSI as a null value, so I immediately opened it, because the condition worked.
I have now fixed it and everything is fine.
The only problem is that the objects are only created once on the first trade.
That's the thing, there's no free price in the code, you can't just replace it(((
Try here
change close to open. If it starts counting by open, then dig in this direction how to change this value. I can't run beta terminal now to look through its editor.
Change the value here beforehand:
Greetings all))
I wrote an EA, but it doesn't work at all)))) or it doesn't work correctly. i've been poking around, fixing many things, but nevertheless, the EA doesn't work.
here is a fragment of the calculation of trading decisions based on the RSI indicator :
//--------------------Данные------------------------------------
The thing is, the EA immediately opens a buy order, despite the value of the indicator, and does not want to close it. Objects like text and arrows do not appear.
Help me figure this out)) just new to this myself
Greetings all))
I wrote an EA, but it doesn't work at all)))) or it doesn't work correctly. i've been poking around, fixing many things, but nevertheless, the EA doesn't work.
here is a fragment of the calculation of trading decisions based on the RSI indicator :
//--------------------Данные------------------------------------
The thing is, the EA immediately opens a buy order, despite the value of the indicator, and does not want to close it. Objects like text and arrows do not appear.
Help me figure this out)) just new to this myself
So you have to write each inequality separately in the conditions? If you generalise somehow, it will be seen as an error? Then why does the program say there are no errors when compiling?
So you have to write each inequality separately in the conditions? If you generalize it somehow, it will be perceived as an error? Then why does the program say that there is no error when compiling?
There is no error, you just don't get the result you are expecting.
...How do you look for a cause in a situation like this?
Purely by accident I stumbled across it. You need to simplify things. Comment everything out, uncomment the first import, compile, call functions, etc.
There is no point in changing Close to Open, there will be little change. It is easier not to bother with such nonsense, but take the data from the formed bar.
There is no error, you just do not get the result you were expecting.
I figured it out)) one order was opened immediately without any further changes, because I had to write NULL instead of Symbol() in the line:
You have to write NULL instead of Symbol(), because there is a discrepancy in the variable types. Because of this, I saw RSI as a null value, so I immediately opened it, because the condition worked.
I have now fixed it and everything is fine.
The only problem is that the objects are only created once on the first trade.
ouch ouch ouch... I'm an idiot))))))
I create objects all with the same name, so I get the error that the object already exists)))))))