FOTOGRAF14: Ho due errori sulle parentesi onstart. sembra che manchi una parentesi nel ciclo for, ho messo 11 errori nel ciclo, miracolo!!!
Non pensate che aumentare il numero di errori sia sbagliato! La staffa in per è davvero necessario. È solo questo errore che deve essere risolto prima di tutto. Dopo averlo aggiustato, apparentemente ci sono più errori :)
FOTOGRAF14: Ho due errori sulle parentesi onstart. sembra che manchi una parentesi nel ciclo for, ho messo 11 errori, miracolo!!!!
I miracoli non accadono..."')' - fine inaspettata del programma'' - fine inaspettata... "'{' - parentesi sbilanciate" - parentesi scoperte... = parentesi incomplete, '{' manca o non è necessario ... bisogno di controllare attentamente il codice e aggiungere dove necessario, non solo o rimuovere un extra. ...
nel terminale - scheda notizie. come faccio a cambiare la dimensione della finestra pop-up e la dimensione del carattere al suo interno in modo che queste modifiche vengano mantenute quando esco dal terminale e poi accedo?
//| 9.1.4.5 OrderDelete.mq4 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+1
void OnStart()
{
string Symb=Symbol(); //Финансовый инструмент
double Dist=1000000.0; //Предустановка
double Price;
int Limit_Stop=-1; // Пока отложенных нет
int Tip;
double Win_Price=WindowPriceOnDropped(); //Здесь брошен скрипт
//-------------------------------------------------------------------+2
for(int i=1; i<=OrdersTotal(); i++) // Цикл выбора ордеров
{
if(OrderSelect(i-1, SELECT_BY_POS)==true) //Eсли ордер выбран
{
//------------------------------------------------------------------+3
if(OrderSymbol()!=Symb) continue //не ваш фин. инструмент
int Tip=OrderType(); //Тип ордера
if(Tip<2) continue //Рыночный ордер
//------------------------------------------------------------+4
double Price=OrderOpenPrice(); //Цена откр. отлож. ордера
if(NormalizeDouble(MathAbs(Price-Win_Price),Digits)<
NormalizeDouble(Dist,Digits))
{
Dist=MathAbs(Price-Win_Price); // Новое значение
Limit_Stop=Tip; //Есть отложенный ордер
int Ticket=OrderTicket(); // номер ордера
}
}
//+---------------------------------------------------------------+5
switch(Limit_Stop)
{
case 2: string Texst="BuyLimint ";
break;
case 3: Texst="SellLimint ";
break;
case 4 Texst="BuyStop ";
break;
case 5 Texst="SellStop ";
break;
}
//------------------------------------------------------------------+6
//ЦИКЛ ЗАКРЫТИЯ ОРДЕРА
//--------------------------------------------------------------------
while(true) // цикл закрытия ордера
{
if(Limit_Stop==-1) //если отложенных нет
{
Alert("по ",Symb,"отложенных ордеров"); //если отложенных нет
break;
}
//-----------------------------------------------------------------+7
Alert("Попытка удалить ","",Ticket,"ожидание ответа..");
bool Ans=OrderDelete(Ticket); //Удаление ордера
//---------------------------------------------------------------------
if(Ans==true)
{
Alert("Удалён ордер ",Text,"",Ticket);
break;
}
int Error=GetLastError();
switch(Error)
{
case 4:Alert("Торговый сервер занят. Пробуем ещё раз..");
Sleep(3000); //Обновим данные
continue; //На следующую итерацию
case 137:Alert("Брокер занят. Пробуем ещё раз...");
Sleep(3000);
continue;
case 146:Alert("Подсистема торговли занята. Пробуем ещё раз...");
Sleep(500);
continue; // На следующую итерацию
}
switch(Error) //Критические ошибки
{
case 2:Alert("Oбщая ошибка.");
break; //Выход из switch
case 64:Alert("Счёт заблокирован.");
break; //Выход из switch
case 133:Alert("Торговля заблакирована.");
break;
case 139:Alert(" Ордер заблакирован и уже обрабатывается.");
break;
case 145:Alert("Модификация запрещена.Ордер слишком близок к рынку");
break;
default:Alert("Возникла ошибка.",Error); //Другие варианты //Выход из switch
}
break;
}
//---------------------------------------------------------------------+
Alert("Скрипт законччил работу-----------------------.");
return;
}
Ho due errori sulle parentesi onstart. sembra che manchi una parentesi nel ciclo for, ho messo 11 errori nel ciclo, miracolo!!!
Ho due errori sulle parentesi onstart. sembra che manchi una parentesi nel ciclo for, ho messo 11 errori, miracolo!!!!
Pagine 25, 27, - manca il punto e virgola.
Pagine 44, 48, 50, 69, - Texst, il compilatore non capisce cos'è, 'Text' non è un identificatore dichiarato = deve essere trattato.
Pagine 48, 50, - operando previsto = molto probabilmente mancano i due punti.
Pagina 64 - Ticket = identificatore non dichiarato.
E così via, sistemate i vostri errori.
Sto incollando il codice come dovrebbe essere ma non lo vedo.
devi digitare qualcosa come
***
guasto del forum
Perché stai saltando l'ultimo ordine - è questa l'intenzione?
{
if(OrderSelect(i-1, SELECT_BY_POS)==true) //Eсли ордер выбран
{