Помогите пожалуйста, обьясните по человечески алгоритм действий.
Это механизм открытия сделки: if ((total < MaxOrders || MaxOrders == 0)) // если количество открытых ордеров меньше разрешенных, или количество ордеров не лимитируется { if ((iRSI(NULL,0,Test,PRICE_CLOSE,0) < BuyOp) && (iRSI(NULL,0,Test,PRICE_CLOSE,0) > iRSI(NULL,0,Test,PRICE_CLOSE,1))// если значение индикатора меньше BuyOp и больше
{ // предыдущего значения индикатора if (Open[0]>Open[1]) //если цена больше предыдущей {OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"RSI_Buy",magicnumber,0,Green);} // покупаем } if ((iRSI(NULL,0,Test,PRICE_CLOSE,0) > SellOp) && (iRSI(NULL,0,Test,PRICE_CLOSE,0) < iRSI(NULL,0,Test,PRICE_CLOSE,1)))// а тут все наоборот { if (Open[0]<Open[1]) {OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"RSI_Sell",magicnumber,0,Red);} }
Запуск функции трейлинга:
int i=0; int total = OrdersTotal(); for(i = 0; i <= total; i++) { if(TrailingStop>0) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderMagicNumber() == magicnumber) //ищем наши ордера { TrailingStairs(OrderTicket(),TrailingStop,TrailingStop);//запускаем функцию трейлинга } } } насчет автооптимизатора читаем тут Автоматическая оптимизация торгового робота в процессе реальной торговли.
в параметрах нет количества лотов и TakeProfit. если правильно понял лоты вычисляются автоматически, но хотелось бы ставить в ручную. напишите вариант кода.
Temnyj: в параметрах нет количества лотов и TakeProfit. если правильно понял лоты вычисляются автоматически, но хотелось бы ставить в ручную. напишите вариант кода.
Это механизм открытия сделки: if ((total < MaxOrders || MaxOrders == 0)) // если количество открытых ордеров меньше разрешенных, или количество ордеров не лимитируется { if ((iRSI(NULL,0,Test,PRICE_CLOSE,0) < BuyOp) && (iRSI(NULL,0,Test,PRICE_CLOSE,0) > iRSI(NULL,0,Test,PRICE_CLOSE,1))// если значение индикатора меньше BuyOp и больше
{ // предыдущего значения индикатора if (Open[0]>Open[1]) //если цена больше предыдущей {OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"RSI_Buy",magicnumber,0,Green);} // покупаем } if ((iRSI(NULL,0,Test,PRICE_CLOSE,0) > SellOp) && (iRSI(NULL,0,Test,PRICE_CLOSE,0) < iRSI(NULL,0,Test,PRICE_CLOSE,1)))// а тут все наоборот { if (Open[0]<Open[1]) {OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"RSI_Sell",magicnumber,0,Red);} }
Lots - это размер лота,
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"RSI_Buy",magicnumber,0,Green);//вместо второго 0
extern double RiskPercentage = 10; // риск - величина лота в процентах от депозита
extern int TrailingStop = 50; // трейлинг стоп - при профите ставит стоп-лосс на отметке в +- 50 пунктов от цены покупки, тем самым обеспечивает минимальный профит
"насчет автооптимизатора читаем тут Автоматическая оптимизация торгового робота в процессе реальной торговли.
Кроме того оптимизатор не запускается в тестере."
Не понимаю, а где его тогда запускать и нужно ли проделывать все эти операции с копированием "папки с клиентом"?
Сделал все как в статье, но в условленное время нечего не происходит (тестер не запускается, а следовательно не обновляются данные).
И еще, в тестере должен лежать откопелированный советник, тоесть файл auto_optimization.mqh должен и присутствовать в папке "include" тестера?
string PuthTester = "D:\Forex\Metatrader1";//Путь к тестеру - а в этой строке путь указали до тестера? кроме того в тестере надо первоначально прогнать оптимизацию вручную и создать set-файл с параметрами оптимизации название которого нужно указать в строке string NameFileSet = "rsi_test.set"; //Имя Set файла с установками Если не меняли время зауска то оптимизато должен запуститься в 00.05(2.05 по Москве)
"насчет автооптимизатора читаем тут Автоматическая оптимизация торгового робота в процессе реальной торговли.
Кроме того оптимизатор не запускается в тестере."
Не понимаю, а где его тогда запускать и нужно ли проделывать все эти операции с копированием "папки с клиентом"?
Сделал все как в статье, но в условленное время нечего не происходит (тестер не запускается, а следовательно не обновляются данные).
И еще, в тестере должен лежать откопелированный советник, тоесть файл auto_optimization.mqh должен и присутствовать в папке "include" тестера?
string PuthTester = "D:\Forex\Metatrader1";//Путь к тестеру - а в этой строке путь указали до тестера? кроме того в тестере надо первоначально прогнать оптимизацию вручную и создать set-файл с параметрами оптимизации название которого нужно указать в строке string NameFileSet = "rsi_test.set"; //Имя Set файла с установками Если не меняли время зауска то оптимизато должен запуститься в 00.05(2.05 по Москве)
Спасибо, разобрался, но теперь другая проблема, когда прогоняю оптимизацию вручную нет ни одной сделки.
"насчет автооптимизатора читаем тут Автоматическая оптимизация торгового робота в процессе реальной торговли.
Кроме того оптимизатор не запускается в тестере."
Не понимаю, а где его тогда запускать и нужно ли проделывать все эти операции с копированием "папки с клиентом"?
Сделал все как в статье, но в условленное время нечего не происходит (тестер не запускается, а следовательно не обновляются данные).
И еще, в тестере должен лежать откопелированный советник, тоесть файл auto_optimization.mqh должен и присутствовать в папке "include" тестера?
string PuthTester = "D:\Forex\Metatrader1";//Путь к тестеру - а в этой строке путь указали до тестера? кроме того в тестере надо первоначально прогнать оптимизацию вручную и создать set-файл с параметрами оптимизации название которого нужно указать в строке string NameFileSet = "rsi_test.set"; //Имя Set файла с установками Если не меняли время зауска то оптимизато должен запуститься в 00.05(2.05 по Москве)
Спасибо, разобрался, но теперь другая проблема, когда прогоняю оптимизацию вручную нет ни одной сделки.
какие диапазоны ставишь? у меня в оптимизации BuyOp 20-60 SellOp 70-100 Test 1-25 все с шагом 1
Anzhik: Похоже без толкового FAQа этот советник никогда не заработает....
по оптимизатору статья очень подробная и толковая, та все расписано, сам советник простой, работает на одном индикаторе, раньше в комментариях я его уже описывал.
Добрый день, уважаемый zerkmax! Заставить работать всё не очень просто. У меня возникли следующие трудности:
1) когда советник запущен, в правом углу графика, как и положено, смайлик лыбится, но в левом углу изменяемые переменные все с нулями и как бы я не настраивал их - всё равно нули.
2) во время оптимизации в заданное время пишет "попытка № 0 (1,2 и т.д.) записать файл отчета", но записать у него не получается. Видимо, отчёт не создаётся, как это проверить?
Блин я себе мозх сломал...
Ничего не понятно и не работает.
Помогите пожалуйста, обьясните по человечески алгоритм действий.
Это механизм открытия сделки:
if ((total < MaxOrders || MaxOrders == 0)) // если количество открытых ордеров меньше разрешенных, или количество ордеров не лимитируется
{
if ((iRSI(NULL,0,Test,PRICE_CLOSE,0) < BuyOp) && (iRSI(NULL,0,Test,PRICE_CLOSE,0) > iRSI(NULL,0,Test,PRICE_CLOSE,1))// если значение индикатора меньше BuyOp и больше
{ // предыдущего значения индикатора
if (Open[0]>Open[1]) //если цена больше предыдущей
{OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"RSI_Buy",magicnumber,0,Green);} // покупаем
}
if ((iRSI(NULL,0,Test,PRICE_CLOSE,0) > SellOp) && (iRSI(NULL,0,Test,PRICE_CLOSE,0) < iRSI(NULL,0,Test,PRICE_CLOSE,1)))// а тут все наоборот
{
if (Open[0]<Open[1])
{OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"RSI_Sell",magicnumber,0,Red);}
}
Запуск функции трейлинга:
int i=0;
int total = OrdersTotal();
for(i = 0; i <= total; i++)
{
if(TrailingStop>0)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber() == magicnumber) //ищем наши ордера
{
TrailingStairs(OrderTicket(),TrailingStop,TrailingStop);//запускаем функцию трейлинга
}
}
}
насчет автооптимизатора читаем тут Автоматическая оптимизация торгового робота в процессе реальной торговли.
Кроме того оптимизатор не запускается в тестере.
По переменным все расписано в коде
"насчет автооптимизатора читаем тут Автоматическая оптимизация торгового робота в процессе реальной торговли.
Кроме того оптимизатор не запускается в тестере."
Не понимаю, а где его тогда запускать и нужно ли проделывать все эти операции с копированием "папки с клиентом"?
Сделал все как в статье, но в условленное время нечего не происходит (тестер не запускается, а следовательно не обновляются данные).
И еще, в тестере должен лежать откопелированный советник, тоесть файл auto_optimization.mqh должен и присутствовать в папке "include" тестера?
в параметрах нет количества лотов и TakeProfit. если правильно понял лоты вычисляются автоматически, но хотелось бы ставить в ручную. напишите вариант кода.
Это механизм открытия сделки:
if ((total < MaxOrders || MaxOrders == 0)) // если количество открытых ордеров меньше разрешенных, или количество ордеров не лимитируется
{
if ((iRSI(NULL,0,Test,PRICE_CLOSE,0) < BuyOp) && (iRSI(NULL,0,Test,PRICE_CLOSE,0) > iRSI(NULL,0,Test,PRICE_CLOSE,1))// если значение индикатора меньше BuyOp и больше
{ // предыдущего значения индикатора
if (Open[0]>Open[1]) //если цена больше предыдущей
{OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"RSI_Buy",magicnumber,0,Green);} // покупаем
}
if ((iRSI(NULL,0,Test,PRICE_CLOSE,0) > SellOp) && (iRSI(NULL,0,Test,PRICE_CLOSE,0) < iRSI(NULL,0,Test,PRICE_CLOSE,1)))// а тут все наоборот
{
if (Open[0]<Open[1])
{OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"RSI_Sell",magicnumber,0,Red);}
}
Lots - это размер лота,
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"RSI_Buy",magicnumber,0,Green);//вместо второго 0
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"RSI_Sell",magicnumber,0,Red);//ставим TakeProfit
кроме того в коде есть переменные:
extern double RiskPercentage = 10; // риск - величина лота в процентах от депозита
extern int TrailingStop = 50; // трейлинг стоп - при профите ставит стоп-лосс на отметке в +- 50 пунктов от цены покупки, тем самым обеспечивает минимальный профит
"насчет автооптимизатора читаем тут Автоматическая оптимизация торгового робота в процессе реальной торговли.
Кроме того оптимизатор не запускается в тестере."
Не понимаю, а где его тогда запускать и нужно ли проделывать все эти операции с копированием "папки с клиентом"?
Сделал все как в статье, но в условленное время нечего не происходит (тестер не запускается, а следовательно не обновляются данные).
И еще, в тестере должен лежать откопелированный советник, тоесть файл auto_optimization.mqh должен и присутствовать в папке "include" тестера?
Если не меняли время зауска то оптимизато должен запуститься в 00.05(2.05 по Москве)
"насчет автооптимизатора читаем тут Автоматическая оптимизация торгового робота в процессе реальной торговли.
Кроме того оптимизатор не запускается в тестере."
Не понимаю, а где его тогда запускать и нужно ли проделывать все эти операции с копированием "папки с клиентом"?
Сделал все как в статье, но в условленное время нечего не происходит (тестер не запускается, а следовательно не обновляются данные).
И еще, в тестере должен лежать откопелированный советник, тоесть файл auto_optimization.mqh должен и присутствовать в папке "include" тестера?
Если не меняли время зауска то оптимизато должен запуститься в 00.05(2.05 по Москве)
"насчет автооптимизатора читаем тут Автоматическая оптимизация торгового робота в процессе реальной торговли.
Кроме того оптимизатор не запускается в тестере."
Не понимаю, а где его тогда запускать и нужно ли проделывать все эти операции с копированием "папки с клиентом"?
Сделал все как в статье, но в условленное время нечего не происходит (тестер не запускается, а следовательно не обновляются данные).
И еще, в тестере должен лежать откопелированный советник, тоесть файл auto_optimization.mqh должен и присутствовать в папке "include" тестера?
Если не меняли время зауска то оптимизато должен запуститься в 00.05(2.05 по Москве)
Похоже без толкового FAQа этот советник никогда не заработает....
Добрый день, уважаемый zerkmax! Заставить работать всё не очень просто. У меня возникли следующие трудности:
1) когда советник запущен, в правом углу графика, как и положено, смайлик лыбится, но в левом углу изменяемые переменные все с нулями и как бы я не настраивал их - всё равно нули.
2) во время оптимизации в заданное время пишет "попытка № 0 (1,2 и т.д.) записать файл отчета", но записать у него не получается. Видимо, отчёт не создаётся, как это проверить?
Заранее спасибо! Буду оч признателен!