alsu: скорее не "должны иметь тип double", а "хранятся в глобальной переменной в виде double". Почувствуйте
Доброго времени суток. Попытался "почувствовать разницу" и вот, что из этого вышло… Т.е. можно (с некоторой натяжкой) ОБРАЗНО определить GV-переменную следующим образом. GV-переменная – это, так сказать, "коробка", в к-ю можно положить "на хранение" переменную любого типа (кроме string, т.к. GV-переменная имеет только тип double, а по правилу приведения типов понижение типа не допускается, т.е. нельзя из stringсделать double). И эта переменная, к-ю мы вложим в GV-переменную "примет форму этой коробки" (т.е. из исходного типа будет приведена в тип double)... Вообщем как-то так?
Доброго времени суток. Вопрос следующего содержания. В книге С.К. по MQL4, в главе "Торговые операции" в разделе "Модификация ордеров" приведен пример простого скрипта, модифицирующего отложенный ордер, заявленная цена которого находится ближе к месту прикрепления скрипта, чем цены других отложенных ордеров(modifyorderprice.mq4), следующего содержания:
//--------------------------------------------------------------------// modifyorderprice.mq4 // Предназначен для использования в качестве примера в учебнике MQL4.//--------------------------------------------------------------- 1 --int start() // Спец.функция start
{
int Tral=10; // Дист. приближенияstring Symb=Symbol(); // Финанс. инструментdouble Dist=1000000.0; // Предустановкаdouble Win_Price=WindowPriceOnDropped(); // Здесь брошен скрипт//--------------------------------------------------------------- 2 --for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
{ // Анализ ордеров://------------------------------------------------------ 3 --if (OrderSymbol()!= Symb) continue; // Не наш фин.инструм.if (OrderType()<2) continue; // Рыночный ордер //------------------------------------------------------ 4 --if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits)
< NormalizeDouble(Dist,Digits)) // Выбираем ближайший
{
Dist=MathAbs(OrderOpenPrice()-Win_Price);// Новое значениеint Tip =OrderType(); // Тип выбранного орд.int Ticket=OrderTicket(); // Номер выбранн. орд.double Price =OrderOpenPrice(); // Цена выбранн. орд.double SL =OrderStopLoss(); // SL выбранного орд.double TP =OrderTakeProfit(); // TP выбранного орд.
} // Конец if
} // Конец анализа ордера
} // Конец перебора орд.//--------------------------------------------------------------- 5 --if (Tip==0) // Если отложенных нет
{
Alert("По ",Symb," отложенных ордеров нет");
return; // Выход из программы
}
//--------------------------------------------------------------- 6 --while(true) // Цикл закрытия орд.
{
Или в данном скрипте в блоке 5-6 ошибка, т.к. (как мне видится) строка
if (Tip==0) // Если отложенных нет
Должна иметь вид
if (Tip<2) // Если отложенных нет
поскольку все типы НЕотложенных (рыночных) ордеров имеют тип 0 или 1, т.е меньше 2.
Или я чего-то не так понял.
Вопрос: внесите пожалуйста ясность: если я что-то не так понял, то подскажите, что именно?
Доброго времени суток. Вопрос следующего содержания. В книге С.К. по MQL4, в главе "Торговые операции" в разделе "Модификация ордеров" приведен пример простого скрипта, модифицирующего отложенный ордер, заявленная цена которого находится ближе к месту прикрепления скрипта, чем цены других отложенных ордеров (
уважаемый... незачем такими крупными буквами тут писать... а то и глаза можно сломать :-)
и это... прежде чем вопросы задавать.. ты не пробовал в Метаедиторе СПРАВКУ прочитать? ВСЮ? для начала... чтобы не задавать глупостей насчёт типов и прочего....
===
Тип операций для функции OrderSend(). Mожет быть любым из следующих величин:
Вопрос: как запомнить Criterion, что бы он держал значение 1 или 2 (в зависимости от прохода) до наступления нового прохода а не обнулялся на последующих тиках .
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
скорее не "должны иметь тип double", а "хранятся в глобальной переменной в виде double". Почувствуйте
Доброго времени суток. Попытался "почувствовать разницу" и вот, что из этого вышло… Т.е. можно (с некоторой натяжкой) ОБРАЗНО определить GV-переменную следующим образом. GV-переменная – это, так сказать, "коробка", в к-ю можно положить "на хранение" переменную любого типа (кроме string, т.к. GV-переменная имеет только тип double, а по правилу приведения типов понижение типа не допускается, т.е. нельзя из string сделать double). И эта переменная, к-ю мы вложим в GV-переменную "примет форму этой коробки" (т.е. из исходного типа будет приведена в тип double)... Вообщем как-то так?
Заранее благодарю за ответ.Доброго времени суток. Вопрос следующего содержания. В книге С.К. по MQL4, в главе "Торговые операции" в разделе "Модификация ордеров" приведен пример простого скрипта, модифицирующего отложенный ордер, заявленная цена которого находится ближе к месту прикрепления скрипта, чем цены других отложенных ордеров (modifyorderprice.mq4), следующего содержания:
Или в данном скрипте в блоке 5-6 ошибка, т.к. (как мне видится) строка Должна иметь вид поскольку все типы НЕотложенных (рыночных) ордеров имеют тип 0 или 1, т.е меньше 2.Или я чего-то не так понял.
Вопрос: внесите пожалуйста ясность: если я что-то не так понял, то подскажите, что именно?
Заранее благодарю за ответ
Доброго времени суток. Вопрос следующего содержания. В книге С.К. по MQL4, в главе "Торговые операции" в разделе "Модификация ордеров" приведен пример простого скрипта, модифицирующего отложенный ордер, заявленная цена которого находится ближе к месту прикрепления скрипта, чем цены других отложенных ордеров (
Или в данном скрипте в блоке 5-6 ошибка, т.к. (как мне видится) строкаДолжна иметь вид
поскольку все типы НЕотложенных (рыночных) ордеров имеют тип 0 или 1, т.е меньше 2.
Или я чего-то не так понял.
Вопрос: внесите пожалуйста ясность: если я что-то не так понял, то подскажите, что именно?
Заранее благодарю за ответ
уважаемый... незачем такими крупными буквами тут писать... а то и глаза можно сломать :-)
и это... прежде чем вопросы задавать.. ты не пробовал в Метаедиторе СПРАВКУ прочитать? ВСЮ? для начала... чтобы не задавать глупостей насчёт типов и прочего....
===
Тип операций для функции OrderSend(). Mожет быть любым из следующих величин:
а по типу - там всё нормально... именно ==0 должно быть...
ибо в 3ьем блоке
рыночные ордера пропускаются...
===
а если отложки встретятся в списке ордеров - то переменная ТИП будет Не равна 0
---
Добрый день. Подскажите пожалуйста.
К примеру у нас есть критерий прохода MA через уровень Level_R и Level_S:
int Criterion; double MA_1=iMA(......,0); double MA_2=iMA(......,1); double MA_3=iMA(......,2);Вопрос: как запомнить Criterion, что бы он держал значение 1 или 2 (в зависимости от прохода) до наступления нового прохода а не обнулялся на последующих тиках .
вынеси определение переменной За пределы Start или другой функции... в глобальные переменные заделай...
а зачем тут посредники? и функция ФУН какая?
и И && не стоит вроде там где надоть...