Помогите опубликовать код. - страница 3

 
Artyom Trishkin:

Скриншоты вы сами же вставили в текст. Прикреплять их уже не нужно в виде файлов.

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

Это полоски по периметру графика, визуальным размером около миллиметра?


На откреплённом графике их видно чуть лучше:


Этот бордюр так сильно мешает полноценно работать?

В МетаТрейдер нет открепления графика, его только презентовали, а дали что-то неполноценное. Откреплённый график всё-равно привязан к терминалу, и если свернуть терминал, то уходит и график.

Вот здесь откреплён:


Интересно, будет-ли когда-то полноценно работать открепление в МетаТрейдер?

 
Роман:

https://www.mql5.com/ru/code/27422

В коде функция

true - обрезает, false -возвращает 

В коде сама функция и обвязка.

Перенёс кусок в скрипт, почему-то не работает - не убирает бордюр

//+------------------------------------------------------------------+
struct SCROLLINFO
  {
   int               cbSize, fMask, nMin, nMax, nPage, nPos, nTrackPos;
  };
 
  
#import "user32.dll"
int SetWindowLongA(int hWnd,int nIndex, int dwNewLong);
int GetWindowLongA(int hWnd,int nIndex);
int GetParent(int hWnd);
int GetTopWindow(int hWnd);
int GetWindow(int hWnd, int wCmd);
int SetScrollPos(int hWnd, int  nBar, int  nPos, bool bRedraw);
bool SetScrollRange(int hWnd, int  nBar, int  nMinPos, int  nMaxPos, bool bRedraw);
bool GetScrollInfo(int hWnd, int nBar, SCROLLINFO & lpsi);
bool MoveWindow(int hWnd, int x, int y, int nWidth, int nHeight, bool bRepaint);
//bool GetWindowRect(int hWnd,int &Pos[4]);
//bool RedrawWindow(int hWnd,int &Pos[4],int &iPos[4],int flag);
int  SetWindowPos(int hWnd,int hWndInsertAfter,int X,int Y,int cx,int cy,int uFlags);
int  SendMessageW(int hWnd,int Msg,int wParam,int lParam);
int  PostMessageA(int hWnd,int Msg,int wParam,int lParam);
#import

#define GWL_STYLE         -16
#define WS_VSCROLL        0x00200000
#define nWS_VSCROLL       0xFFDFFFFF
#define SB_VERT           0x00000001
#define RDW_FRAME         1024
#define RDW_UPDATENOW     256
#define RDW_ERASE         4

#define WS_CAPTION        0x00C00000
#define WS_BORDER         0x00800000
#define WS_SIZEBOX        0x00040000
#define WS_DLGFRAME       0x00400000
#define SWP_NOSIZE        0x0001
#define SWP_NOMOVE        0x0002
#define SWP_NOZORDER      0x0004
#define SWP_NOACTIVATE    0x0010
#define SWP_FRAMECHANGED  0x0020
#define GW_CHILD          0x0005
#define GW_HWNDNEXT       0x0002
#define WM_MDIRESTORE     0x0223

//+------------------------------------------------------------------+
void OnStart()
  {
  int hWnd=GetParent((int)ChartGetInteger(ChartID(),CHART_WINDOW_HANDLE));
  ManageBorderByWindowHandle(hWnd,true);
  }

//+------------------------------------------------------------------+
void ManageBorderByWindowHandle(int hWindow,bool state)
  {
   int iNewStyle;
   if(state)
      iNewStyle=(int)(GetWindowLongA(hWindow,GWL_STYLE) &(~(WS_BORDER|WS_DLGFRAME|WS_SIZEBOX)));
   else
      iNewStyle=(int)(GetWindowLongA(hWindow,GWL_STYLE)|((WS_BORDER|WS_DLGFRAME|WS_SIZEBOX)));
   if(hWindow>0 && iNewStyle>0)
     {
      SetWindowLongA(hWindow,GWL_STYLE,iNewStyle);
      SetWindowPos(hWindow,0,0,0,0,0,SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE|SWP_FRAMECHANGED);
     }
  }
 
Vitaly Muzichenko:

Перенёс кусок в скрипт, почему-то не работает - не убирает бордюр

+

Кажись вот оно. 

++

-=

На клопку токма жмём.

Файлы:
 
Роман:


Кажись вот оно. 

Спасибо огромное, рамки убираются - графики отлично стали читаться! 

Теперь печальное: в мт4 работает, а вот в мт5 не работает, хотя компилируется.  

Как это сделать для мт5 ?

P.S. Да и не нужна кнопка, проще сделать в виде скрипта, так удобнее, при набросе: если есть бордюр - убрать, если нету - создать. Задача его убрать, и больше не видеть, так что кнопка - не в теме :)
 
Vitaly Muzichenko:

Так, Я что-то упустил!

Как сделать так, как у вас на первом скрине - как убрать эти динозавровые бордюры?

Держи скрипт. Расставляешь графики как надо, затем кидаешь на любой график, если по умолчанию dll отключены, то будет запрос на включение, включть обязательно... и всё...

И так после каждого перезапуска терминала. Не держит почему-то как было.

И второй скрипт, если надо восстановить бордюры.

Файлы:
 
Vitaly Muzichenko:

Спасибо огромное, рамки убираются - графики отлично стали читаться! 

Теперь печальное: в мт4 работает, а вот в мт5 не работает, хотя компилируется.  

Как это сделать для мт5 ?

P.S. Да и не нужна кнопка, проще сделать в виде скрипта, так удобнее, при набросе: если есть бордюр - убрать, если нету - создать. Задача его убрать, и больше не видеть, так что кнопка - не в теме :)

Рад быть Вам полезным.

Vitaly Muzichenko:

Теперь печальное: в мт4 работает, а вот в мт5 не работает, хотя компилируется.  

Как это сделать для мт5 ?

Надеюсь вопрос силами Alexey Viktorov был решён. :)

Alexey Viktorov
Alexey Viktorov
  • www.mql5.com
Выставил продукт Советник написан по стратегии из видео. Советник можно использовать как усреднения неправильно открытой позиции, так и отдельно. Параметры: Direction of trade                                 - Направление торговли Lot Выставил продукт Стратегия форекс «Гора» основана на одном довольно сложном индикаторе. С его помощью...
 
Alexey Viktorov:

Держи скрипт. Расставляешь графики как надо, затем кидаешь на любой график, если по умолчанию dll отключены, то будет запрос на включение, включть обязательно... и всё...

И так после каждого перезапуска терминала. Не держит почему-то как было.

И второй скрипт, если надо восстановить бордюры.

Та-же история, не убирает. Билд 2280

P.S. В мт4 работает отменно
 
Vitaly Muzichenko:

Та-же история, не убирает. Билд 2280

P.S. В мт4 работает отменно

Видимо что-то поломали в 2280 и 2286.


 
Alexey Viktorov:

Видимо что-то поломали в 2280 и 2286.

Там в каком-то билде совсем недавно сменили бордюры. Но они какие были, такие и остались кроме цвета, бездарно занимают кучу рабочего пространства


 
Vitaly Muzichenko:

Там в каком-то билде совсем недавно сменили бордюры. Но они какие были, такие и остались кроме цвета, бездарно занимают кучу рабочего пространства


То что я скинул, это плоды моих исправлений из скриптов на mql4, а вот исправить так, чтобы работало сейчас на новых билдах моих мозгов не хватает. Может кто подтянется и сможет исправить...