break; // Выход из switch
case 5 : Alert("Старая версия клиентского терминала.");
break; // Выход из switch
case 64: Alert("Счет заблокирован.");
break; // Выход из switch
case 133:Alert("Торговля запрещена");
break; // Выход из switch
default: Alert("Возникла ошибка ",Error);// Другие варианты
}
break; // Выход из цикла
}
//--------------------------------------------------------------- 9 --
Alert ("Скрипт закончил работу -----------------------------");
return; // Выход из start()
}
//-------------------------------------------------------------- 10 --
Скрипт состоит из одной специальной функции start() (блоки 1-10). В блоке 1-2 заданы
значения, при которых должен быть открыт ордер. Блок 2-9 представляет цикл while (), в
котором производятся необходимые вычисления. Наличие этого цикла предполагает
возможность нескольких попыток открытия ордера. В блоке 2-3 обновляются переменные
окружения. В блоках 3-4-5-6 вычисляются значение количества лотов и заявленные цены
стоп-приказов. В блоке 7-8-9 выполняется обработка ошибок. В блоке 9-10 печатается
сообщение о завершении работы скрипта.
Рассмотрим некоторые особенности программного кода. Легко заметить, что
формирование торгового приказа осуществляется в блоке 6-7. В предшествующем блоке
3-4 вычисляется количество лотов. Учитывается вариант, при котором выделенных
свободных средств не хватит для открытия ордера даже на минимальное количество
лотов. Поэтому в блоке 3-4, после опубликования сообщения о нехватке денег,
осуществляется выход из цикла 2-9 с помощью оператора break. Управление передаётся в
блок 9-10, и скрипт заканчивает работу. Сообщение в блоке 9 не обязательно должно
присутствовать. Здесь оно указано только для того, чтобы при опробовании скрипта на
демо-счёте было легче сориентироваться - когда программа закончила работу, а когда
возникла пауза, связанная с задержками в сети или на сервере.
Если для открытия ордера свободных средств хватает, то управление передаётся в блок 4-
5 и далее в блок 5-6. В этих блоках не предусмотрен выход из цикла. Этим полагается, что
для любой минимальной дистанции, установленной брокером, найдутся соответствующие
значения стоп-приказов. В блоке 1-2 намеренно указано значение 3 пункта для TP.
Подавляющее число брокеров устанавливают минимальную дистанцию 5 пунктов. В
630