please coders, I tried to make mtf on this indicator. but it does not draw lines in mtf mode when I press the button. please help me make draw line in mtf mode when the button is pressed.
Attached File(s)
I will code your pivot EAs for no charge 28 replies
I will code your scalping EAs for no charge 163 replies
Oanda MT4 - Indicators and EAs not showing 2 replies
EAs and indicators relating to moutaki... 22 replies
InterbankFX has loaded its MT4 platform with custom EAs, indicators and scripts 1 reply
Disliked//+------------------------------------------------------------------+ //| GUPPY MULTI TIME MA SYSTEM EA.mq4 | //| Copyright 2025, Meta AI | //+------------------------------------------------------------------+ #property copyright "Meta AI" #property link "https://www.meta.ai" #property version "1.00" #property strict //--- input parameters input int EMA_Period_1 = 3; input int EMA_Period_2 = 60; input int Time_Frame = 15; // 15 or 30 minutes input int Retracement_Candles = 2; input int Take_Profit = 10; input...Ignored
DislikedHey, thank you for offering such a hard work to us. I send you my strategy if you want to try and code it. {image}Ignored
DislikedHello to all esteemed programmers. I'm banging my head against the wall trying to add Multi Time Frame (MTF) to this indicator, but I can't seem to do it. Would anyone be willing to give it a try? Thank you. {file}Ignored
//+------------------------------------------------------------------+
// Example of MTF another way:
//--- Check if there are enough bars to process
if (rates_total < MA_Period || (_Period > TimeFrame&&TimeFrame!=PERIOD_CURRENT))
{
ChartSetSymbolPeriod(0,_Symbol,TimeFrame);
return rates_total; // Not enough bars to calculate MA
}
datetime TimeArray[];
//--- Synchronize TimeArray with the higher timeframe
int copied = CopyTime(_Symbol, TimeFrame, 0, rates_total, TimeArray);
if (copied <= 0) {
Print("Error: Failed to copy time data for higher timeframe.");
return rates_total;
}
//--- Initialize variables
int limit = rates_total - prev_calculated;
if (prev_calculated > 0) limit++; // Adjust limit for recalculated bars
//--- Main loop to calculate indicator values
for (int i = limit - 1; i >= 0; i--) // Process bars from oldest to newest
{
// Find the corresponding index in the higher timeframe
int y = iBarShift(_Symbol, TimeFrame, time[i]);
if (y < 0) {
Print("Error: Failed to synchronize timeframes for bar ", i);
continue; // Skip this bar if synchronization fails
}
// Calculate moving averages for the higher timeframe
ExtMapBuffer1[i] = iMA(_Symbol, TimeFrame, MA_Period, 0, MA_Method_1, MA_Price_1, y);
ExtMapBuffer2[i] = iMA(_Symbol, TimeFrame, MA_Period, 0, MA_Method_2, MA_Price_2, y);
ExtMapBuffer3[i] = iMA(_Symbol, TimeFrame, MA_Period, 0, MA_Method_3, MA_Price_3, y);
}
//---
//+------------------------------------------------------------------+ Disliked{quote} //+------------------------------------------------------------------+ // Example of MTF another way: //--- Check if there are enough bars to process if (rates_total < MA_Period || (_Period > TimeFrame&&TimeFrame!=PERIOD_CURRENT)) { ChartSetSymbolPeriod(0,_Symbol,TimeFrame); return rates_total; // Not enough bars to calculate MA } datetime TimeArray[]; //--- Synchronize TimeArray with the higher timeframe int copied = CopyTime(_Symbol, TimeFrame, 0, rates_total, TimeArray); if (copied <= 0) { Print("Error: Failed to copy time data for higher...Ignored
DislikedHello to all esteemed programmers. I'm banging my head against the wall trying to add Multi Time Frame (MTF) to this indicator, but I can't seem to do it. Would anyone be willing to give it a try? Thank you. {file}Ignored
Disliked{quote} Why would I be angry? I simply could not understand why you could not use a tool I coded awhile ago to do what you needed that was all.Some body posted a request for an MT4 version of the MT5 TWR indicator but now the request post has disappeared?? So I thought it might be useful for others so I am posting it. Anyway this is about as close to the MT5 version as I can get. The MT5 version is set in a indicator separate window but it is easier to set it in the main chart when using MT4 and for some reason the MT5 version had...
Ignored
DislikedMaster please i need help with this button to work as the x and y and button window, after applying to chart the X AND Y will not move to allow applying 2 indi i changed from extern int, and compile, still the same {file}Ignored
Disliked{quote} {image} This parameter is the buttonid. So if you need two, you must change this parameter somehow. You don't need to compile anything!!! Just change the parameter in the inputs tab!Ignored
DislikedGood evening here, coders. Please add alert function to the attached Stochastics indicator. I need the alert whenever the signal lines crossed. Thank you all for your usual kindness and assistance. {file}Ignored
/*-------------------------------------------------------------------- Change-log: Stochastic Geo 6Lev_Aleters.mq4 Updated:[25-July-2025] By: MwlRCT -------------------------------------------------------------------- - Added line-crossing alert system. - Implemented configurable alert parameters. - Added inputs for Message, Sound, Email, and Mobile alerts. - Added inputs for SIGNALBAR and SoundFile. - Ensured alerts trigger once per new bar via TimeBar check. - Scaled SIGNALBAR for Multi-Timeframe (MTF) accuracy. --------------------------------------------------------------------*/
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++ Stochastic Geo +++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #property copyright ":copyright: jonjon0711, Tank, 20 June 2022, https://www.forexfactory.com" #property link "https://www.forexfactory.com/thread/post/14037762#post14037762" #property description "Stochastic oscillator compares the current close price" #property description "with the price range for the selected one time period." #property description "The indicator is represented by two lines. The main line is called *K." #property description "The second line *D is the signal moving average of the *K-line." #property description "Watch for divergences, for example when price form a series of new highs, " #property description "and Stochastic can no longer rise above its previous highs." #property description " " #property description "E-mail: [email protected]" //Почта #property version "3.37" //from "2.95" //#property strict #property indicator_separate_window #property indicator_buffers 10 //--- #property indicator_color7 clrLime //Green //DodgerBlue #property indicator_color8 clrDeepSkyBlue #property indicator_color9 clrOrangeRed #property indicator_color10 clrMagenta //Red //--- #property indicator_width7 2 #property indicator_width8 2 #property indicator_width9 2 #property indicator_width10 0 //--- #property indicator_style7 STYLE_SOLID #property indicator_style8 STYLE_SOLID #property indicator_style9 STYLE_SOLID #property indicator_style10 STYLE_DOT //--- //#property indicator_level1 15 //#property indicator_level2 35 //#property indicator_level3 50 //#property indicator_level4 65 //#property indicator_level5 85 //#property indicator_levelcolor clrDimGray //SlateGray //Silver //#property indicator_levelstyle STYLE_DOT //#property indicator_levelwidth 0 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+ + //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ enum setIntpl { Intp0,/*OFF*/ Intp1,/*HALF*/ Intp2/*FULL*/ }; //--- enum setTimFram { tfMin1 =1, // 1 Minute tfMin5 =5, // 5 Minutes tfMin15 =15, // 15 Minutes tfMin30 =30, // 30 Minutes tfHour1 =60, // 1 Hour tfHour4 =240, // 4 Hours tfDay =1440, // 1 Day }; //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+ + //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ extern int History = 4567; //288=D1/M5 //576=D2/M5; //864=D3/M5; //1152=D4/M5; //1440=D5/M5; extern ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT; extern setIntpl Interpolation = Intp0; extern int StoPeriod = 13; extern int StoSmooth = 8; extern ENUM_MA_METHOD StoMode = MODE_EMA; extern ENUM_STO_PRICE StoPrice = STO_CLOSECLOSE; extern int SignalPeriod = 3; extern ENUM_MA_METHOD SignalMode = MODE_EMA; extern int OverSold = 10; extern int OverBought = 90; extern bool AlertsMessage = true; extern bool AlertsSound = true; extern bool AlertsEmail = false; extern bool AlertsMobile = false; extern int SIGNALBAR = 1; extern string SoundFile = "alert.wav"; extern bool ShowStoValue = true; extern int StoCandle = 0; extern bool ShowClock = true; extern setTimFram ClockTF = tfMin5; extern color TextColor = clrYellow; //Blue; //Lime extern int TextSize = 12; extern color ColorDn1 = clrSkyBlue, ColorDn2 = clrSkyBlue, ColorMd1 = clrOrange, ColorMd2 = clrOrange, ColorUp1 = clrCrimson, ColorUp2 = clrCrimson; extern int LevelDn1 = 10, LevelDn2 = 20, LevelMd1 = 40, LevelMd2 = 60, LevelUp1 = 80, LevelUp2 = 90; extern ENUM_LINE_STYLE StyleDn1 = STYLE_DASH, StyleDn2 = STYLE_DOT, StyleMd1 = STYLE_SOLID, StyleMd2 = STYLE_SOLID, StyleUp1 = STYLE_DOT, StyleUp2 = STYLE_DASH; extern int WidthDn1 = 0, WidthDn2 = 0, WidthMd1 = 2, WidthMd2 = 2, WidthUp1 = 0, WidthUp2 = 0; //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+ + //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ double MAIN[], OVRSD[], OVRBT[], SIGMA[], FLAG[]; int MAX, TFK; datetime TimeBar=0; string sTFR, PREF, sName, ShortName; datetime NewTime=0; double LevDn1[], LevDn2[], LevMd1[], LevMd2[], LevUp1[], LevUp2[]; //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+ + //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ int init() { TimeFrame = fmax(TimeFrame,_Period); TFK = TimeFrame/_Period; sTFR = StringSubstr(EnumToString(TimeFrame),7); //IndikName = WindowExpertName(); //--- //cTimFrame = ClockTF; //fmax(ClockTF,_Period); //if (floor(cTimFrame/_Period)*_Period != cTimFrame) cTimFrame = _Period; //--- StoPeriod = fmax(StoPeriod,1); StoSmooth = fmax(StoSmooth,1); SignalPeriod*=TFK; SIGNALBAR*=TFK; MAX = StoPeriod+StoSmooth+SignalPeriod; //--- IndicatorBuffers(11); IndicatorDigits(0); //(Digits-Digits%2); //--- SetIndexBuffer(0,LevDn1); SetIndexLabel(0,"LevelDn1 "+(string)LevelDn1); SetIndexStyle(0,DRAW_LINE,StyleDn1,WidthDn1,ColorDn1); SetIndexBuffer(1,LevDn2); SetIndexLabel(1,"LevelDn2 "+(string)LevelDn2); SetIndexStyle(1,DRAW_LINE,StyleDn2,WidthDn2,ColorDn2); SetIndexBuffer(2,LevMd1); SetIndexLabel(2,"LevelMd1 "+(string)LevelMd1); SetIndexStyle(2,DRAW_LINE,StyleMd1,WidthMd1,ColorMd1); SetIndexBuffer(3,LevMd2); SetIndexLabel(3,"LevelMd2 "+(string)LevelMd2); SetIndexStyle(3,DRAW_LINE,StyleMd2,WidthMd2,ColorMd2); SetIndexBuffer(4,LevUp1); SetIndexLabel(4,"LevelUp1 "+(string)LevelUp1); SetIndexStyle(4,DRAW_LINE,StyleUp1,WidthUp1,ColorUp1); SetIndexBuffer(5,LevUp2); SetIndexLabel(5,"LevelUp2 "+(string)LevelUp2); SetIndexStyle(5,DRAW_LINE,StyleUp2,WidthUp2,ColorUp2); //--- SetIndexBuffer(6,MAIN); SetIndexLabel(6,"Stoch ["+(string)StoPeriod+","+(string)StoSmooth+"]"); SetIndexBuffer(7,OVRSD); SetIndexLabel(7,"OverSold "+(string)OverSold); SetIndexBuffer(8,OVRBT); SetIndexLabel(8,"OverBought "+(string)OverBought); SetIndexBuffer(9,SIGMA); SetIndexLabel(9,"Signal ["+(string)SignalPeriod+"]"); SetIndexBuffer(10,FLAG); SetIndexLabel(10,NULL); //--- for (int i=0; i<10; i++) { SetIndexStyle(i,DRAW_LINE); //--- настройка параметров отрисовки SetIndexEmptyValue(i,0.0); //--- значение 0 отображаться не будет //SetIndexShift(11,SlowShift); //--- установка сдвига линий при отрисовке if (History>MAX) SetIndexDrawBegin(i,Bars-History); //--- пропуск отрисовки первых баров if (History<=MAX) SetIndexDrawBegin(i,MAX*3); } //--- пропуск отрисовки первых баров //--- sName = "["+(string)StoPeriod+","+(string)StoSmooth+">"+(string)SignalPeriod+"]"; ShortName = sTFR+": Stochastic Geo "+sName+" "; IndicatorShortName(ShortName); //--- PREF = sTFR+":STO'GEO'"+sName; EventSetTimer(1); //------ return(0); } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+ + //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ int deinit() { EventKillTimer(); ALL_OBJ_DELETE(PREF); Comment(""); return(0); } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //******************************************************************** void ALL_OBJ_DELETE(string Pref) { string name; for (int s=ObjectsTotal()-1; s>=0; s--) { name=ObjectName(s); if (StringSubstr(name,0,StringLen(Pref))==Pref) ObjectDelete(name); } } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+ + //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ int start() { int CountedBars=IndicatorCounted(); if (CountedBars<0) return(-1); //Стандарт+Tankk+Вариант!!! if (CountedBars>0) CountedBars--; int limit=fmin(Bars-CountedBars-1+TFK,Bars-3-MAX); //+MAX*10*TFK if (History>MAX) limit=fmin(History+MAX*3,Bars-3-MAX); //Comment(limit); if (History<=MAX && NewTime!=iTime(NULL,1,0)) { ALL_OBJ_DELETE(PREF); limit=Bars-3; NewTime=iTime(NULL,1,0); } //Time[0] //--- for (int i=0; i<10; i++) { SetIndexEmptyValue(i,0.0); //--- значение 0 отображаться не будет if (History>MAX) SetIndexDrawBegin(i,Bars-History); //--- пропуск отрисовки первых баров if (History<=MAX) SetIndexDrawBegin(i,MAX*3); } //--- пропуск отрисовки первых баров //--- if (ShowClock && MarketInfo(_Symbol,MODE_TRADEALLOWED)>0) ServerTimeOffset = TimeCurrent()-TimeLocal(); //для часов... //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ for (i=limit; i>=0; i--) { int y = iBarShift(NULL,TimeFrame,Time[i],false); //--- MAIN[i]=0; MAIN[i] = iStochastic(NULL,TimeFrame,StoPeriod,1,StoSmooth,StoMode,StoPrice,MODE_MAIN,y); MAIN[i] = getINTPL(MAIN,TimeFrame,Interpolation,i,0); //--- OVRSD[i]=0; OVRBT[i]=0; //--- if (MAIN[i] < OverSold) { OVRSD[i] = MAIN[i]; OVRSD[i+1] = MAIN[i+1]; } else { OVRSD[i] = 0; if (OVRSD[i+2]==0) OVRSD[i+1] = 0; } //--- if (MAIN[i] > OverBought) { OVRBT[i] = MAIN[i]; OVRBT[i+1] = MAIN[i+1]; } else { OVRBT[i] = 0; if (OVRBT[i+2]==0) OVRBT[i+1] = 0; } //--- LevDn1[i]=0; LevDn1[i] = (LevelDn1>0 && LevelDn1<101) ? LevelDn1 : 0; LevDn2[i]=0; LevDn2[i] = (LevelDn2>0 && LevelDn2<101) ? LevelDn2 : 0; LevMd1[i]=0; LevMd1[i] = (LevelMd1>0 && LevelMd1<101) ? LevelMd1 : 0; LevMd2[i]=0; LevMd2[i] = (LevelMd2>0 && LevelMd2<101) ? LevelMd2 : 0; LevUp1[i]=0; LevUp1[i] = (LevelUp1>0 && LevelUp1<101) ? LevelUp1 : 0; LevUp2[i]=0; LevUp2[i] = (LevelUp2>0 && LevelUp2<101) ? LevelUp2 : 0; //--- } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ for (i=limit; i>=0; i--) { SIGMA[i] = SignalPeriod>0 ? iMAOnArray(MAIN,Bars,SignalPeriod,0,SignalMode,i) : 0; //--- Cross detection and flag FLAG[i]=0; if (i >= 1) { if (MAIN[i] > SIGMA[i] && MAIN[i+1] <= SIGMA[i+1]) FLAG[i]=1; // Up cross if (MAIN[i] < SIGMA[i] && MAIN[i+1] >= SIGMA[i+1]) FLAG[i]=-1; // Down cross } } //--- Alert logic mimicking reference if (AlertsMessage || AlertsSound || AlertsEmail || AlertsMobile) { if (TimeBar!=Time[0] && (FLAG[SIGNALBAR] == 1 || FLAG[SIGNALBAR] == -1)) { string sufix = ""; if (FLAG[SIGNALBAR]==1) sufix = "Stochastic cross UP >> BUY"; if (FLAG[SIGNALBAR]==-1) sufix = "Stochastic cross DN << SELL"; string message = _Symbol + ", " + sTFR + " : " + sufix; if (AlertsMessage) Alert(message); if (AlertsEmail) SendMail(_Symbol, message); if (AlertsMobile) SendNotification(message); if (AlertsSound) PlaySound(SoundFile); TimeBar=Time[0]; } } //------ return(0); } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+ + //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ double tmpBuf[][12]; //для 6 МАшек... double getINTPL(double& PrIcE[], int Mtf, int iMode, int i, int NB) { if (ArrayRange(tmpBuf,0)!=Bars) ArrayResize(tmpBuf,Bars); NB*=2; int r = Bars-i-1, k=1; int mPer = Mtf/_Period; //+_Period; //--- if (iMode>0) { tmpBuf[r][0+NB] = PrIcE[i]; double Ves1 = mPer; double Sum1 = mPer*PrIcE[i]; for (k=1; k<mPer; k++) { Ves1 += (mPer-k); Sum1 += (mPer-k)*tmpBuf[r-k][0+NB]; } } //--- tmpBuf[r][1+NB] = Ves1!=0 ? Sum1/Ves1 : PrIcE[i]; //--- if (iMode>1) { double Ves2 = mPer; double Sum2 = mPer*tmpBuf[r][1+NB]; for (k=1; k<mPer; k++) { Ves2 += (mPer-k); Sum2 += (mPer-k)*tmpBuf[r-k][1+NB]; } } //--- return( iMode<1 ? PrIcE[i] : iMode==1 ? tmpBuf[r][1+NB] : (Ves2!=0 ? Sum2/Ves2 : tmpBuf[r][1+NB]) ); } //******************************************************************** //*** Custom indicator ChartEvent function *** //******************************************************************** void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if (id==CHARTEVENT_CHART_CHANGE) MarketPrice=""; } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+ + //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ int ServerTimeOffset=0; //Смещение времени сервера относительно локального времени компьютера double curPrice=0; string strTF="", MarketPrice=""; //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ void OnTimer() { if (TextSize<5 || (int)TextColor<0) return; /*if (MarketInfo(_Symbol,MODE_TRADEALLOWED)>0) или*/ datetime servTime = TimeLocal()+ServerTimeOffset; //--- Серверное время //PercentDW()+" : "+TimeToStr(servTime,TIME_SECONDS) //P1 = Close[0] string plmn = MAIN[StoCandle]>0 ? "+" : MAIN[StoCandle]<0 ? "-" : ""; //--- if (ShowStoValue) { DrawTEXT("cmain", plmn+(int)fabs(MAIN[StoCandle])+" : ", Time[0], MAIN[StoCandle], 0, ANCHOR_RIGHT/*_LOWER*/, TextColor); //--- if (MarketPrice != DoubleToStr(Bid,Digits)) { MarketPrice = DoubleToStr(Bid,Digits); //--- color curColor = clrYellow; if (Bid > curPrice) curColor = clrWhite; if (Bid < curPrice) curColor = clrRed; curPrice = Bid; //--- DrawTEXT("cprice", MarketPrice, Time[0], MAIN[StoCandle], 0, ANCHOR_RIGHT/*_LOWER*/, curColor); } } //--- Таймеры баров if (ShowClock) { if (ClockTF<60) strTF = "M"+(string)ClockTF; else if (ClockTF>=60) strTF = "H"+(string)(ClockTF/60); else if (ClockTF==1440) strTF = "D1"; //и так далее.... //--- int divTime = servTime/ClockTF/60; datetime mulTime = divTime*ClockTF*60; datetime endTime = ClockTF*60-servTime+mulTime; //--- string timStr = TimeToStr(endTime,TIME_SECONDS); if (ClockTF<240) timStr = StringSubstr(timStr,3); //--- DrawTEXT("clock", timStr+" : "+_Symbol+","+strTF, Time[0], MAIN[StoCandle]-TextSize/2, 0, ANCHOR_RIGHT_UPPER, TextColor); //P1 = Close[0] } } //+++======================================================================+++ //+++ MACD EXTreme DA TT:tm: [x12] +++ //+++======================================================================+++ bool DrawTEXT(string Name, string Text, datetime T1, double P1, int Size, ENUM_ANCHOR_POINT Anchor, color Color) //int i, { int CHTSCL = ChartGetInteger(0,CHART_SCALE,0); double koefCC=0, koefPP=0; //------- АвтоМасштаб для ИНФО..... switch(CHTSCL) { case 0 : koefCC=15.3; koefPP=14.7; break; case 1 : koefCC=7.65; koefPP=8.1; break; case 2 : koefCC=3.85; koefPP=4.0; break; case 3 : koefCC=2.00; koefPP=2.1; break; case 4 : koefCC=1.00; koefPP=1.2; break; case 5 : koefCC=0.50; koefPP=0.6; } //------- int CandleShift=60*_Period*TextSize*koefCC; int PriceShift=60*_Period*TextSize*koefPP; //------ string objName = PREF+Name; //+(string)i; //TimeToStr(Time[i],TIME_SECONDS)+"_"+DoubleToStr(Close[i],Digits); //--- // имя текста ObjectDelete(0,objName); //--- //пред-удаление обектов if (!ObjectCreate(0,objName,OBJ_TEXT, WindowFind(ShortName), T1+CandleShift, P1)) return(false); //--- // создаём объект "Текст" ObjectSetString (0,objName,OBJPROP_TEXT, Text); // выводимый текст ObjectSetString (0,objName,OBJPROP_FONT, "Verdana"); // шрифт //"Arial" ObjectSetInteger(0,objName,OBJPROP_FONTSIZE, TextSize-Size); // размер шрифта ObjectSetInteger(0,objName,OBJPROP_COLOR, Color); // цвет текста ObjectSetDouble (0,objName,OBJPROP_ANGLE, 0); // наклон текста ObjectSetInteger(0,objName,OBJPROP_ANCHOR, Anchor); // угол привязки текста ObjectSetInteger(0,objName,OBJPROP_BACK, false); // на заднем плане ObjectSetInteger(0,objName,OBJPROP_SELECTABLE, false); // объект можно выделять ObjectSetInteger(0,objName,OBJPROP_SELECTED, false); // выделить для перемещений ObjectSetInteger(0,objName,OBJPROP_HIDDEN, false); // скрыт в списке объектов ObjectSetInteger(0,objName,OBJPROP_ZORDER, 0); // приоритет на нажатие мышью //------ return(true); } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+ + //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Disliked{quote} bro, sorry for late.i am looking for same for hours/ week /month high-low in same style and feature but no luck? {file}Ignored
Disliked{quote} the problem is that the x and y cant move away so if i add the 2nd will be on the first one, event when i changed the x and y from extern int after sometime it will return back, the button position is not responding, if it was in right upper when i apply right lower it wont move still same placeIgnored