[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 440
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Может так лучше будет
Большое спасибо за помощь!!
Америка рыдает и Европа!
О будущем задумались всерьёз!
Им чудится финансовая ж--па,
и лищб России - по ... мороз!
Достанем с полки старую гармошку,
нам к кризисам таким не привыкать!
Была бы водка сало и картошка -
переживём мы всё, ядрёна мать!!!
ВСЕХ С 23 ФЕВРАЛЯ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Спасибо! Поправил в советнике на Ваш вариант. Вот допишу это чудо и выложу в Code Base как свое первое (более-менее) серьезное творение!=)) Система, по которой пишу советника называется Мутеки, только немного с моими дополнениями(по управлению позициями). Хорошо, что есть хотя бы индикатор, который построит все эти трендовые=)))
Только еще возник вопрос. Как открыть три позиции одновременно (или приблизительно по одной котировке)?Я делал следующим образом. Правильно ли, или есть другие способы? Отложенниками не получится=(( Маленькое расстояние иногда слишком:(
if(b1==0 && !IsTradeContextBusy())
{
if(Low[0]<HHL_1 && Bid>=HHL_1 && trade_buy==true)
{
ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,slippage*PointX,sl_b,BuyTarget1,"lot_1_buy",Magic,0,Lime);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("lot_1_buy order opened : ",OrderOpenPrice());
b1=1;
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
}
здесь Вы один ордер открываете. попробуйте сразу 3, быстрее наврятли получиться на данном этапе.
Сам не экспериментировал, но, возможно, если запараллелить 3 торговых терминала и открывать сделки на каждом терминале в отдельности то может и получиться что-то выгадать...
Код вроде бы такой должен быть... но не проверял...
ошибка была, через алерт вывел, показало что лот всегда получается 0.
to Necron:
нашёл ошибку в коде и убрал, но всё же вот так ругается:
to Techno:
double)
Вот как у меня в одном из советников сделано:
double lt = getLots();//эта строчка в переменных, в ордерсенд пишем lt,
double getLots() { // это или перед start или после всего кода
double minlot = MarketInfo(Symbol(), MODE_MINLOT);
double maxlot = MarketInfo(Symbol(), MODE_MAXLOT);
int round;
if(minlot==0.01)round=2;
if(minlot==0.1) round=1;
double koeff=2;
double result=Lots;
//int round = 2;
int total = OrdersHistoryTotal();
double spread = MarketInfo(Symbol(), MODE_SPREAD);
for (int i = 0; i < total; i++) {
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) {
if (OrderProfit() > 0) {
result = Lots;
} else {
result = OrderLots() * koeff;
}
}
}
result = NormalizeDouble(result, round);
if (result > maxlot) {
result = maxlot;
}
if (result < minlot) {
result = minlot;
}
RefreshRates();
return(result);
}
Techno, благодарствую за подсказку!) StatBars и Necron тоже спасибо.
но что бы уже точно мартингейл получился немного переделал код))
здесь Вы один ордер открываете. попробуйте сразу 3, быстрее наврятли получиться на данном этапе.
Сам не экспериментировал, но, возможно, если запараллелить 3 торговых терминала и открывать сделки на каждом терминале в отдельности то может и получиться что-то выгадать...
Я понимаю, у меня их таких 6=) Три для покупки и три для продажи.Попробую потом на демке проверить. В крайнем случае буду что-то пробовать делать с отложенниками.
ошибка была, через алерт вывел, показало что лот всегда получается 0.