Я написал простой пример онлайн. Даже в редактор не заходил. Александр начинающий программист и ему лишняя сложность не обязательна. Посмотрите его код выше. Но если речь о разработке мультисимвольного робота, то можно использовать SymbolInfoDouble. Кто мешает?
//+-----------------------------------------------------------------------------------------------+intOnInit()
{
Start = TimeCurrent();
MaxMartinLot = Lot*MathPow(1.4,OrdersClose);
MaxMartinLot2 = Lot*MathPow(K_Martin2,OrdersClose2);
AC = StringConcatenate(" ", AccountCurrency());
int Y = 20;
DrawLABEL("lab_Take",1,5,Y,clrLime,"LOT: ");
return(INIT_SUCCEEDED);
}
//+-----------------------------------------------------------------------------------------------+voidOnDeinit(constint reason)
{
}
//+-----------------------------------------------------------------------------------------------+voidOnTick()
{
// Получим значение индикатора
dMA = iMA(Symbol(), 0,PeriodMA, MovingShift, MODE_SMA, PRICE_CLOSE, 0); // MODE_SMA - простое усреднение , значение 0. PRICE_CLOSE- цена закрытия, значение 0.// Если нет открытых ордеров, то входим в условиеif(CountOrders()==0)
{
// Если появился сигнал на покупку, то откроем ордер на покупкуif(bSignalBuy() == true)
vOrderOpenBuy();
// Если появился сигнал на продажу, то откроем ордер на продажуif(bSignalSell() == true)
vOrderOpenSell();
}
DrawLABEL("lab_Take",1,5,0,Color(),StringConcatenate("LOT: ",DoubleToStr(LOT(),2)));
}
А слона я не заметил))) Как думаешь чему равна цена закрытия у открытого ордера?
Пробуй так сделать
Еще вопрос
вычисление профита в пунктах - это OrderProfit * Point .?
Тогда SymbolInfoDouble
Почему не сразу?
Еще вопрос
вычисление профита в пунктах - это OrderProfit * Point .?
OrderProfit Возвращает значение чистой прибыли, (те в валюте депозита)
Point - Размер пункта текущего инструмента в валюте котировки
Все из справки
OrderProfit Возвращает значение чистой прибыли, (те в валюте депозита)
Point - Размер пункта текущего инструмента в валюте котировки
Все из справки
Согласен, читаю справку.
Умножал профит на Point и получал 0,00001 и меньше.
Согласен, читаю справку.
Умножал профит на Point и получал 0,00001 и меньше.
Странное занятие
Еще вопрос
вычисление профита в пунктах - это OrderProfit * Point .?
Цена может пройти 20пп и дать 50$ профита
Может пройти 5пп, но профит будет 80$
Тоже самое касается каждого символа, с франком профит будет больше, нежели с канадцем при одном и том прохождении в пунктах
Почему не сразу?
Я написал простой пример онлайн. Даже в редактор не заходил. Александр начинающий программист и ему лишняя сложность не обязательна. Посмотрите его код выше. Но если речь о разработке мультисимвольного робота, то можно использовать SymbolInfoDouble. Кто мешает?
Функция SymbolInfoTick записывает данные тика в специальную структуру MqlTick, из полей которой их можно получить.
спасибо
еще вопрос возник
сделал надпись в углу
в желтой строчке выдает такое предупреждение:
possible loss of data due to type conversion
как будто, что то местами перепутал.
а так всё работает
если нет сделки горит одним цветом
если открылась сделка- горит другим цветом
Color() задал так:
еще вопрос возник
сделал надпись в углу
в желтой строчке выдает такое предупреждение:
possible loss of data due to type conversion
как будто, что то местами перепутал.
а так всё работает
если нет сделки горит одним цветом
если открылась сделка- горит другим цветом
Color() задал так:
Функция Color должна возвращать color а не double.
color Color() { color CL = clrRed; if(CountOrders() == 0) CL = clrYellow; return(CL); }Ссылку ту что добавил движок сайта тоже было бы не лишним изучить.