Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я понимаю, что контроля открытых позиций у меня нет, я просто тупо не знаю, как это реализовать. НАсчет качества открытых позиций даже приблизительного представления не имею. Поделитесь опытом...
Возможно причина ещё вот в чем.
На WHC в параметрах эксперта стопы ( и параметры трала) нужно задавать кратными количеству пунктов одного тика. Для Дакса, например, кратными 5-ти. Для Насдака, кратными 25-ти и т.п. Либо использовать в коде соотв. функции.
Иначе в журнале будут ошибки стопов и позиции в онлайне не откроются, даже при правильной реализации в условиях Market Watch (тож, кстати с сомнительным исполнением в вашем эксперте) Хотя в тестере всё будет работать!
Если я не ошибаюсь, в ветке И.Кима на 7 страничке есть пример корректной реализации Market Watch
'Полезные функции от KimIV'
У Кима модифер с отложенным ордером, а у меня модифер после каждого открытого ордера только по стопам. Вот как мне нарисовать модифер так, что бы он каждый ордер модифел, а не тупил. Дело в том, что на ДЦ WHC стопы нельзя задать при открытии ордера, поэтому приходится модифить. Вобщем мне необходима помошь в модуле модификации и необходимость изменения открытого ордера, контроль колличества открытых позиций. ПА-МА-ГИ-ТЕ!!!
Я понимаю, что контроля открытых позиций у меня нет, я просто тупо не знаю, как это реализовать. НАсчет качества открытых позиций даже приблизительного представления не имею. Поделитесь опытом...
Это бред, не работает оно. Модифит только buy к тому же без профита. Может и я накосячил ЧаГо... вот что у меня получилось ->
2008.06.01 20:27:04 2008.05.29 06:21 Бульдог EURUSD,M1: OrderModify error 1 (ERR_NO_RESULT 1 Нет ошибки, но результат неизвестен)
2008.06.01 20:27:04 2008.05.29 06:21 Бульдог EURUSD,M1: open #42 sell 0.01 EURUSD at 1.5629 ok
Вот что я вижу на 118 ордере используя свой вариант модификации....Причем все предыдущие ордера до этого были удачно закрыты по профиту...
//+------------------------------------------------------------------+
//| ЗЛАЯ СЦУКА Бульдог.mq4 |
//| Copyright © 20.05.2008, Hoper production. |
//| e-mail: bghoper@mail.ru |
//| Используется Stochastic и OsMA и индикаторы |
//+------------------------------------------------------------------+
#include <stderror.mqh> // Модуль ошибки
#include <stdlib.mqh> // туда же
//---- Параметры ввода
extern double Lots = 0.1; // Объем лотов
extern double TakeProfit = 5; // Стоп по прибыли
extern double TrailingStop = 100; //Стоп по убыткам
int ticket,i;
extern double total=9999; // Колличество открытых ордеров
//+------------------------------------------------------------------+
//| Инициализация индикаторов и выполнение функций |
//+------------------------------------------------------------------+
//Старт
void start()
{
int total=OrdersTotal();
// Вход в рынок
if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)>80 && iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0)>80 && iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)<iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0) && iOsMA(NULL,0,12,26,9,PRICE_CLOSE,0)>0.00012)
{
GetLastError();
RefreshRates();
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"Hoper",777,0,Red); // продажа без стопов (WHC гад)
if(ticket<0){Print(ErrorDescription(GetLastError()));} // запись ошибки в лог
Sleep(1000); // спать на пол секунды
}
if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)<20 && iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0)<20 && iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0) && iOsMA(NULL,0,12,26,9,PRICE_CLOSE,0)<-0.00012)
{
GetLastError();
RefreshRates();
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"Hoper",777,0,Green);
if(ticket<0){Print(ErrorDescription(GetLastError()));}
Sleep(1000);
}
// Выход из рынка
if(OrdersTotal() > 0)
{
for(i = 0; i < OrdersTotal(); i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == Symbol())
{
if(OrderType() == OP_SELL)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+TrailingStop*Point,OrderOpenPrice()-TakeProfit*Point,0,Green);
continue;
}
if(OrdersTotal() > 0)
{
for(i = 0; i < OrdersTotal(); i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == Symbol())
{
if(OrderType() == OP_BUY)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-TrailingStop*Point,OrderOpenPrice()+TakeProfit*Point,0,Green);
continue;
return(0);
}
}
}
}
}
}
}
}
/////////////////////////////////////////////////////////Конец\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
В условии на открытие позиции пропишите сколько позиций вы допускаете...
щас у вас должно открываться немеренно.. пока депо хватит...
Задача: контроль условий, позволяющих произвести модификацию открытых позиций... Приведенный кусок кода полностью это реализует...
Hoper, - решайте ваши проблемы по мере их поступления! Сначала уберите к... модификацию и проверьте, открываются ли позиции так, как надо, с нулевыми стопами. Согласно вашим условиям.
Потом лучше всего, действительно, проще и надежнее вне ф-и INT START поставить ф-ю И.КИМА для реализации Market Watch и "будет вам счастье"...
И КОД своего эксперта выкладывайте пож. в соотв. виде используя 8 кнопку меню сообщения. Иначе мало кто будет даже смотреть ваш код, и тем более вникать в него.