Уроки по программированию на языке MQL4 от eevviill

Bill Vill

Новичок форума
)))Хорошо)Да вот просто есть скрипты отличные ,хотел их на Нинзю ,но..Там C# вот и спрашиваю ,хотя ладно поищю может кто имеет что то подобное для Нинзи .
 
Последнее редактирование:

Bill Vill

Новичок форума
eevviill подскажите пожалуйста как вот в этом скрипте добавить Magic номер чтоб закрывать те которые идут по номеру 1 и 2 .Вот код поправте пожалуйста

#property copyright ""
#include <WinUser32.mqh>
void start()
{
string title="";
string msg="";
int slippage=3;
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUYLIMIT ) OrderDelete(OrderTicket());

}
}
// End


Просто добавить в код Magic
 
Последнее редактирование:

eevviill

Заблокирован
eevviill подскажите пожалуйста как вот в этом скрипте добавить Magic номер чтоб закрывать те которые идут по номеру 1 и 2 .Вот код поправте пожалуйста

#property copyright ""
#include <WinUser32.mqh>
void start()
{
string title="";
string msg="";
int slippage=3;
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUYLIMIT ) OrderDelete(OrderTicket());

}
}
// End


Просто добавить в код Magic
if(OrderMagicNumber()==здесь пишете меджик с котрым вы открывали ордер)
это надо вставить после строчки
if (OrderType()==OP_BUYLIMIT ) OrderDelete(OrderTicket());

А вообще обидно что вы просто зашли спросить не прочитав уроки.
 

Bill Vill

Новичок форума
eevviill Ну не обижайтесь на меня ))))Кстати вот читал ваши уроки и вы знаете хочу вам сказать вы обьясняете добротно по человечески просто ,вам спасибо .
 

Bill Vill

Новичок форума
eevviill Я вот сделал еще вот так чтоб лишний раз в код не лазить ,посмотрите будет так работать ?
#property copyright ""
#property show_inputs
extern int Magic = 0;
#include <WinUser32.mqh>

void start()
{
string title="";
string msg="";
int slippage=3;
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUYLIMIT ) OrderDelete(OrderTicket());
if(OrderMagicNumber()== 0);
}
}
// End
 

eevviill

Заблокирован
eevviill Я вот сделал еще вот так чтоб лишний раз в код не лазить ,посмотрите будет так работать ?
#property copyright ""
#property show_inputs
extern int Magic = 0;
#include <WinUser32.mqh>

void start()
{
string title="";
string msg="";
int slippage=3;
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUYLIMIT ) OrderDelete(OrderTicket());
if(OrderMagicNumber()== 0);
}
}
// End
Ошибочка вышла и у меня и у вас.
Думаю так пойдёт. Будет удалять отложеные ордера байлимит открытые вручную.

#property copyright ""
#property show_inputs
extern int Magic = 0;

int start()
{
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if(OrderMagicNumber()== Magic);
if (OrderType()==OP_BUYLIMIT ) OrderDelete(OrderTicket());
return(0);
}
}
 

cfifcfif

Элитный участник
Уважаемый eevviill чесно сказать большое спасибо вам заветку на самом деле сечас занят немного другим просто как-то не удобно получаетса в первых постах паумнечал и пропал в дольнейшем все равно вернусь сюда.
 
Последнее редактирование:

Bill Vill

Новичок форума
eevviill А можно вас спросить ,при компиляции все вроде норма ошибок нет ,но есть как бы треугольничек желтенький и надпись возле него написано так.;-semisolon unexpected
надеюсь ниче такого страшного нет?Работать будет?
 

KrasKosha

Активный участник
По моему разумению:

extern int Magic = (число);
// Если Magic = 0, то это все равно, что его и не назначить
// Magic считается равным 0 по умолчанию...

int start()
{
======= ====== =====
if (OrderType()==OP_BUYLIMIT && OrderMagicNumber()== Magic) OrderDelete(OrderTicket());
======= ====== =====

если ( тип_ордера совпал И магик совпал)...
 

KrasKosha

Активный участник
eevviill А можно вас спросить ,при компиляции все вроде норма ошибок нет ,но есть как бы треугольничек желтенький и надпись возле него написано так.;-semisolon unexpected
надеюсь ниче такого страшного нет?Работать будет?

.;-semisolon unexpected залез в яндекс-перевод,
получил: Неожиданная Точка С Запятой
ИМХО, ищите лишнюю :)
 

SilverKZ

Элитный участник
...
4) Попробовал оформить комментарий в предлагаемом варианте - действительно
получилась ерунда... :(

В расширенном режиме вставка php, сохраняется форматирование

PHP:
//--------------------------------------------------------------------
extern double  TakeProfit  = 100;
extern double  StopLoss    = 50;
extern int     LevelWLoss  = 0;     // Уровень безубытка
extern int     LevelProfit = 40;    // Уровень профита
extern double  Lot         = 0.1;     
//--------------------------------------------------------------------
 

eevviill

Заблокирован
По моему разумению:

extern int Magic = (число);
// Если Magic = 0, то это все равно, что его и не назначить
// Magic считается равным 0 по умолчанию...

int start()
{
======= ====== =====
if (OrderType()==OP_BUYLIMIT && OrderMagicNumber()== Magic) OrderDelete(OrderTicket());
======= ====== =====

если ( тип_ордера совпал И магик совпал)...
Это тоже самое. Только у меня в 2 строках, а у вас в одной.
 

eevviill

Заблокирован
eevviill А можно вас спросить ,при компиляции все вроде норма ошибок нет ,но есть как бы треугольничек желтенький и надпись возле него написано так.;-semisolon unexpected
надеюсь ниче такого страшного нет?Работать будет?
Точно так.
#property copyright ""
#property show_inputs
extern int Magic = 0;
int start()
{
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if(OrderMagicNumber()== Magic)
if (OrderType()==OP_BUYLIMIT ) OrderDelete(OrderTicket());
}
return(0);
}

P.S. Больше отвечать на вопросы которые были в прошлых уроках не буду.
 

skalper2011

Декомпилятор
Последнее редактирование модератором:
Верх