Как кодировать? - страница 290

 

...

Не уверен, что это решит вашу проблему, но взгляните на это : https://www.mql5.com/en/forum/general

Pava:
Как заставить мой компьютер правильно отображать слова на русском языке в индикаторах? ...Спасибо...
 

...

mladen:
Не уверен, что это решит вашу проблему, но взгляните на это: https: //www.mql5.com/en/forum/general

спасибо... попробую

 

...

Вот пример... Моему Mac это не нравится!:)

"

//

// VisualOrders.mq4

// Дмитрий Яковлев

// dmitry_yakovlev@rambler.ru

// ?? ???? WebMoney R865705290089

//------------------------------------------------------------------

#property copyright "Дмитрий Яковлев, Россия, Омск, WM R865705290089"

#property link "dmitry_yakovlev@rambler.ru"

#property indicator_chart_window

#import "shell32.dll" //Подключаем dll (поставляется с Windows)

int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);

#import "user32.dll"

int MessageBoxA(int hWnd,string lpText,string lpCaption,int uType);

#import

extern string _ModeProf="??????? 1-???????.,2-??????";

extern int ModeProf=2;

extern string _orders="?????????? ?????? ?? ???????:";

extern string _Type = "0 ???,-1 Продажа,1 Покупка";

extern int Type = 0;

extern bool CurOrders=true;

extern int lblSize=1;

extern bool HistOrders=true;

extern bool ShowProfits=true;

extern int ShiftProfits=0;

extern bool lShowTargets=true;

extern string _donate1="?? ???? :-) WebMoney";

extern string _donate2="R865705290089;

"

 

...

Это кириллические буквы, поэтому они не отображаются.

Если у вас есть проблемы с их отображением в метаэдиторе, сделайте следующее: в меню метаэдитора tools->options->font установите шрифт на кириллицу. Вы по-прежнему сможете видеть обычные латинские буквы + вы будете видеть и русские (вот так :

Что касается отображения в окне терминала, боюсь, что вы увидите его только если у вас установлен русский Windows

Pava:
Это пример... Моему Mac это не нравится!:)

"

//

// VisualOrders.mq4

// Дмитрий Яковлев

// dmitry_yakovlev@rambler.ru

// ?? ???? WebMoney R865705290089

//------------------------------------------------------------------

#property copyright "Дмитрий Яковлев, Россия, Омск, WM R865705290089"

#property link "dmitry_yakovlev@rambler.ru"

#property indicator_chart_window

#import "shell32.dll" //Подключаем dll (поставляется с Windows)

int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);

#import "user32.dll"

int MessageBoxA(int hWnd,string lpText,string lpCaption,int uType);

#import

extern string _ModeProf="??????? 1-???????.,2-??????";

extern int ModeProf=2;

extern string _orders="?????????? ?????? ?? ???????:";

extern string _Type = "0 ???,-1 Продажа,1 Покупка";

extern int Type = 0;

extern bool CurOrders=true;

extern int lblSize=1;

extern bool HistOrders=true;

extern bool ShowProfits=true;

extern int ShiftProfits=0;

extern bool lShowTargets=true;

extern string _donate1="?? ???? :-) WebMoney";

extern string _donate2="R865705290089";

"
Файлы:
editor.jpg  143 kb
 

...

"extern string _donate1="на пиво :-)"... спасибо... сработало

 

закрытие по MACD

Здравствуйте. Не могли бы вы помочь мне модифицировать этот выход по пересечению MACD 0. Как обычно, эта ea закрывается, если tp=x или sl=x точка.

Я пробовал, но это все еще сложно для меня...

большое спасибо... 1428maplus.mq4

Файлы:
1428maplus.mq4  30 kb
 
mladen:
Добавьте в советник что-то вроде этого в начале процедуры start() :
if (TimeDayOfWeek(TimeCurrent())==5 && TimeCurrent()>=StrToTime("22:59")) { CloseAll(); return(0); }

Добавьте это в код:

[PHP]void CloseAll()

(Весь код)

Это решит ваши пункты 2 и 3 (открытые ордера в пятницу).

Первый пункт довольно сложен в кодировании - вероятно, вам придется переопределить это правило.

Большое спасибо! Для последней части подойдет ли какой-нибудь код слушателя отслеживания событий (просто печатаю другое предложение, которое я прочитал)? Если я прав, то для увеличения тейк-профита одной сделки при закрытии другой потребуются отдельные части кодирования?

Когда две сделки открываются этим советником, это означает, что в какой-то момент одна из них заденет стоп-лосс (если только они не находятся в одной и той же области до закрытия всех сделок в определенное время), если две сделки открыты и одна закрывается с отрицательной прибылью, другая открытая сделка может отреагировать на отрицательную прибыль увеличением тейк-профита? Кстати, все это происходит пока на одном инструменте.

Проще говоря, можно ли увеличить тейк-профит одной сделки после закрытия другой, независимо от того, какова ее прибыль? Это потому, что, по моему замыслу, если две сделки открыты, а одна закрывается, то прибыль все равно будет отрицательной.

Еще раз спасибо!

 
Есть пара проблем в этом :

- поиск по списку закрытых ордеров может привести к неправильной идентификации "связанного" ордера

- из-за этого советник должен знать, какой "другой" ордер он должен отслеживать. Таким образом, каждый из ордеров должен каким-то образом знать об идентификаторе другого ордера (тикета). Но это, из-за отсутствия поля, в котором мы (пользователи) можем написать что-то, что мы хотим использовать в качестве информации, невозможно. Поле комментария может быть написано только в момент создания ордера: мы никак не можем изменить его после открытия ордера (это может сделать только брокер), поэтому у нас нет возможности добавить информацию в сам ордер.

- Если мы не можем сохранить какую-то информацию в самом ордере, мы можем забыть о каких-то модификациях. Например: как можно определить по доступным полям ордера, что он уже был модифицирован ( тейк-профит). Я уже не говорю о каких-то "глобальных переменных" (которые бесполезны в случае использования терминала даже в двух разных папках, не говоря уже о двух разных ПК) и о сохранении каких-то состояний советника (а вдруг он перестанет работать - такое случается гораздо чаще, чем они хотят признать).

Итак, насколько я понимаю, с учетом ограничений, указанных выше, такое условное "поведение" невозможно без реальной возможности ошибки где-то в процессе.

madmax3:
Спасибо большое! Что касается последней части, может ли какой-то код слушателя отслеживания событий сделать этот трюк (просто печатаю другое предложение, которое я прочитал)? Если я прав, то для увеличения тейк-профита одной сделки при закрытии другой потребуются отдельные части кодирования?

Когда две сделки открываются этим советником, это означает, что в какой-то момент одна из них заденет стоп-лосс (если только они не находятся в одной и той же области до закрытия всех сделок в определенное время), если две сделки открыты и одна закрывается с отрицательной прибылью, другая открытая сделка может отреагировать на отрицательную прибыль увеличением тейк-профита? Кстати, все это происходит пока на одном инструменте.

Проще говоря, можно ли увеличить тейк-профит одной сделки после закрытия другой, независимо от того, какова ее прибыль? Это потому, что, по моему замыслу, если две сделки открыты, а одна закрывается, то прибыль все равно будет отрицательной.

Еще раз спасибо!
 

Это кажется довольно сложной задачей, а что если поступить следующим образом: когда сделка открыта (может быть одна или две сделки), тейк-профит изменяется, как только цена достигает определенного уровня?

 

...

Почему бы тогда не использовать трейлинг-стоп?

Я имею в виду, что это будет делать почти 100% (почти) того, что делает ваша оригинальная идея, и это намного, намного проще в кодировании.

madmax3:
Это действительно кажется довольно сложной задачей, как насчет того, чтобы поступить следующим образом: когда сделка открыта (может быть одна или две сделки), тейк-профит изменяется, как только цена достигает определенного уровня?