[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 453
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день!
Как сделать, если сработал отложенный скриптом ордер, чтобы этот скрипт отсоединить от окна инструмента?
Заранее благодарен.
НЕТ
Скрипт при исполнении делает файл с историей в папку ексерт\филес\ имя файла (это номер счета)
Все очень просто скрипт на 3 терминалах исполняется скажем в 6 утра автоматомЗначит нам не надо открывать терминалы - отрываем базу и новые данные уже в ней подхвачены готовые к анализу (это уже реализовано)
% деятельности с посчитанными свопами, сводными таблицами и графиками и т.д.
Ни один скрипт не может открыть терминал!
Поэтому если вам надо, чтоб он сработал - то он должен стоять на открытом и подключенном в нету терминале. Сработает он в требуемое время и запишет данные. Но терминалы должны быть включены обязательно.
Добрый день!
Как сделать, если сработал отложенный скриптом ордер, чтобы этот скрипт отсоединить от окна инструмента?
Заранее благодарен.
скрипт выполняется на графике один раз и не требует ручного отсоединения.
скрипт выполняется на графике один раз и не требует ручного отсоединения.
К сожалению, если его не отсоединить от окна, при закрытии прежнего ордера он открывает следующий ордер.
Вот его код
Сдвигает отложенный ордер при изменении цены
//--------------------------------------------------------------------
extern double OTSTUP_BUY = 7;
extern double TakeProfit = 100;
//extern double BuyStop = 0;
//extern double StopLoss = 0;
extern double Lots = 0.01;
//extern double TrailingStop = 21;
double min =100000;
double
lmax, // Пороговая цена, после преодоления
// которой рассматриваем продажу(абс)
lmin, // То же для покупки
Lot;
int Count=0;
int total=0;
int Ticket=0; // Глобальная перемен.
//--------------------------------------------------------------------
int init() // Спец. ф-ия init()
{
int total=OrdersTotal(); // только открытые ордера
string Symbol1=Symbol();
double metka=0;
for(int pos=0;pos<total;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) continue;
{
if(OrderSymbol()==Symbol())
{
metka=1;
Alert("Открыт ордер #", OrderTicket(), " в ", OrderSymbol());
}
else
{
}
}
}
if(metka==0 )
// if(metka==0 && UROVEN>=Ask)
{
double bid =MarketInfo(Symbol(),MODE_BID); // Запрос значения Bid
double ask =MarketInfo(Symbol(),MODE_ASK); // Запрос значения Ask
double min =MarketInfo(Symbol(),MODE_ASK); // Запрос значения Ask
double point =MarketInfo(Symbol(),MODE_POINT);//Запрос Point
OrderSend(Symbol(),OP_BUYSTOP,Lots,bid+OTSTUP_BUY*Point,3,bid-1*Point,bid+TakeProfit*Point);
int Ticket=OrderTicket();
//OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyStop,3,StopLoss,TakeProfit,"Bye Stop 1");
Alert (Ticket); // Сообщение об ошибке
// Alert (Symbol()," ",OP_BUYSTOP," ",0.01," ",ask+10*Point," ",3," ",ask-35*Point," ",ask+35*Point);
Alert (GetLastError());
}
return; // Выход из init()
}
//--------------------------------------------------------------------
int start() // Спец. ф-ия start()
{
if (min>Bid) min=Bid;
{ // Считаем миним цену
int total=OrdersTotal(); // только открытые ордера
string Symbol1=Symbol();
for(int pos=0;pos<total;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) continue;
{
if(OrderSymbol()==Symbol())
{
Alert("Открыт ордер #", OrderTicket(), " в ", OrderSymbol());
Alert (min);
OrderModify(OrderTicket(),min+OTSTUP_BUY*Point,min-1*Point,min+TakeProfit*Point,0);//Модиф
Alert (GetLastError());
Alert (Symbol()," ",OrderTicket()," ",min+OTSTUP_BUY*Point," ",min-1*Point," ",min+TakeProfit*Point," ",0);
}
}
}
}
return; // Выход из init()
}
//--------------------------------------------------------------------
int deinit() // Спец. ф-ия deinit()
{
// Alert ("Сработала ф-ия deinit() при выгрузке"); // Сообщение
return; // Выход из deinit()
}
//--------------------------------------------------------------------
string iii[];
iii[0] = "1";
iii[1] = "2";
iii[2] = "3";
MessageBox(iii[0]);
MessageBox(iii[1]);
MessageBox(iii[2]);
три раза выдаёт цифру 3! вместо положенных 1, 2, 3.... ВТФ?
спасибо!
догадываюсьчто проблема в том что я не указал кол-во элементов в массиве. а что делать если кол-во элементов изначально неизвесно и массив заполняется в цикле? (в моём случае при чтении из файла)
ArrayResize