编码帮助 - 页 351 1...344345346347348349350351352353354355356357358...786 新评论 FxSteven 2014.09.20 17:36 #3501 mladen: stevenpun 对于这一点,最简单的方法是在该指标上添加一些 "斜率方向 "的缓冲区,或者使用一些已经在缓冲区中解决了斜率问题的其他MACD。 这样吧,https://www.mql5.com/en/forum/178018/page67 但问题是我需要在代码中加入什么,我在谷歌上搜索了很多EA,但没有成功找到一些例子。 请告诉我一些例子,谢谢你的帮助。 Mladen Rakic 2014.09.20 17:59 #3502 stevenpun: https://www.mql5.com/en/forum/178018/page67但问题是我需要在代码中加入什么,我已经谷歌了很多EA,但没有成功找到一些例子。 请给我看一些例子,谢谢你的帮助。 冯小刚 这将是一个很好的例子,可以使用。 读取 "颜色 "缓冲区,当其中的值从-1变为1时,是一个买入信号,而当值从1变为-1时,是一个卖出信号("从 "是颜色缓冲区的前一个值,"到 "是当前值,或者如果你想只使用封闭的条形图,"从 "是2条前,"到 "是1条前) Dewachen 2014.09.21 15:58 #3503 你好。 我是新来的。我想更新一个矩形对象,但不知道怎么做。下面的代码是我用来创建矩形对象的,如果EMAs交叉。如果价格回调并触及它,这些矩形必须结束。如何做到这一点? 先谢谢你。 #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 clrLime #property indicator_width1 2 #property indicator_color2 clrMagenta #property indicator_width2 2 extern int EMA1 = 3; extern int EMA2 = 21; extern int EMA3 = 63; extern double arrowDistance = 0.0003; extern color upRectColor = clrYellow; extern color dnRectColor = clrDodgerBlue; extern color touchRectColor = clrDarkGray; //--- extern double rectHigh = 0.0001; extern int rectDays = 3; extern int bars_limit = 2000; extern bool showRectangle = true; double upArrow[]; double dnArrow[]; double prev2EMA1, prev2EMA2, prev2EMA3; double prevEMA1, prevEMA2, prevEMA3; double curEMA1, curEMA2, curEMA3; double prevOpenPrc, prevClosePrc, prevLowPrc, prevHighPrc; string objRectName; string rectArray[]; string indiName = "Emac"; int rectValidity = 0; int arrayMaxAmounts = 99999; int arrayCurAmount = 0; int arrayLastAmount = 0; //+------------------------------------------------------------------+ //| INIT() | //+------------------------------------------------------------------+ int init() { if (Period() != PERIOD_H1) { Alert("Use only @ TF: H1"); return(0); } ArrayResize(rectArray,arrayMaxAmounts,arrayMaxAmounts); IndicatorBuffers(2); SetIndexBuffer(0,upArrow); SetIndexBuffer(1,dnArrow); SetIndexStyle(0,DRAW_ARROW); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(0,233); SetIndexArrow(1,234); SetIndexEmptyValue(0,0.0); SetIndexEmptyValue(1,0.0); SetIndexLabel(0,"Up"); SetIndexLabel(1,"Dn"); return(0); } //+------------------------------------------------------------------+ //| DEINIT() | //+------------------------------------------------------------------+ int deinit() { int k=0; while (k<ObjectsTotal()) { string objname = ObjectName(k); if (StringSubstr(objname,0,StringLen("Emac")) == "Emac") ObjectDelete(objname); else k++; } return(0); } //+------------------------------------------------------------------+ //| START() | //+------------------------------------------------------------------+ int start() { if (Period() != PERIOD_H1) { Alert("Use only @ TF: H1"); return(0); } int limit,i,k; int counted_bars=IndicatorCounted(); //---- last counted bar will be recounted if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; //--- if (limit>bars_limit-1 && bars_limit!=0) limit=bars_limit-1; if (Bars<EMA1 || Bars<EMA2 || Bars0 && bars_limit0 && bars_limit0 && bars_limit<EMA3)) { Alert("Adjust limit settings or put more bars on your chart!"); return(0); } //--- for (i=0; i<limit; i++) { prev2EMA1 = iMA(NULL,0,EMA1,0,MODE_EMA,PRICE_CLOSE,i+2); prev2EMA2 = iMA(NULL,0,EMA2,0,MODE_EMA,PRICE_CLOSE,i+2); prev2EMA3 = iMA(NULL,0,EMA3,0,MODE_EMA,PRICE_CLOSE,i+2); prevEMA1 = iMA(NULL,0,EMA1,0,MODE_EMA,PRICE_CLOSE,i+1); prevEMA2 = iMA(NULL,0,EMA2,0,MODE_EMA,PRICE_CLOSE,i+1); prevEMA3 = iMA(NULL,0,EMA3,0,MODE_EMA,PRICE_CLOSE,i+1); curEMA1 = iMA(NULL,0,EMA1,0,MODE_EMA,PRICE_CLOSE,i); curEMA2 = iMA(NULL,0,EMA2,0,MODE_EMA,PRICE_CLOSE,i); curEMA3 = iMA(NULL,0,EMA3,0,MODE_EMA,PRICE_CLOSE,i); prevOpenPrc = iOpen(NULL,0,i+1); prevClosePrc = iClose(NULL,0,i+1); prevLowPrc = iLow(NULL,0,i+1); prevHighPrc = iHigh(NULL,0,i+1); rectValidity = rectDays*86400; if ( (prev2EMA1=prevEMA2)&&(curEMA1>curEMA2)&&(prevEMA2>=prevEMA3)&&(curEMA2>curEMA3) ) { // up upArrow = prevLowPrc - arrowDistance; if (showRectangle == true) { //----------------------- Draw Rectangle ---------------------- objRectName = StringConcatenate(indiName,"_",FuncPeriodToStr(Period()),"_",DoubleToStr(Time,0)); if (ObjectFind(objRectName) == -1) { // not exists ObjectCreate(objRectName, OBJ_RECTANGLE, 0,Time,prevLowPrc,Time+rectValidity,prevLowPrc+rectHigh); ObjectSet(objRectName, OBJPROP_COLOR, upRectColor); ObjectSet(objRectName, OBJPROP_WIDTH, 0); ObjectSet(objRectName, OBJPROP_STYLE, STYLE_SOLID); //--- put information to Array --- arrayCurAmount = ArraySize(rectArray); rectArray[arrayCurAmount] = StringConcatenate(objRectName,"$up$",Time,"$",prevClosePrc,"$0"); // 0=new, not yet touched } // if } // if } // if if ( (prev2EMA1>prev2EMA2)&&(prevEMA1<=prevEMA2)&&(curEMA1<curEMA2)&&(prevEMA2<=prevEMA3)&&(curEMA2<curEMA3) ) { // down dnArrow = prevHighPrc + arrowDistance; if (showRectangle == true) { //----------------------- Draw Rectangle ---------------------- objRectName = StringConcatenate(indiName,"_",FuncPeriodToStr(Period()),"_",DoubleToStr(Time,0)); if (ObjectFind(objRectName) == -1) { // not exists ObjectCreate(objRectName, OBJ_RECTANGLE, 0, Time,prevHighPrc,Time+rectValidity,prevHighPrc-rectHigh); ObjectSet(objRectName, OBJPROP_COLOR, dnRectColor); ObjectSet(objRectName, OBJPROP_WIDTH, 0); ObjectSet(objRectName, OBJPROP_STYLE, STYLE_SOLID); //--- put information to Array --- arrayCurAmount = ArraySize(rectArray); rectArray[arrayCurAmount] = StringConcatenate(objRectName,"$dn$",Time,"$",prevClosePrc,"$0"); // 0=new, not yet touched } // if } // if } // if } // for //----------------------- Edit Rectangle, change time2 & color, if price touched ---------------------- return(0); } // start //+------------------------------------------------------------------+ void DelObjects(string id) { int ot1=ObjectsTotal(); while(ot1>=0) { if (StringFind(ObjectName(ot1),id,0)>-1) { ObjectDelete(ObjectName(ot1)); } ot1--; } return; } //+------------------------------------------------------------------+ string FuncPeriodToStr(int thePeriod) { switch(thePeriod) { case 1: return("M1"); case 5: return("M5"); case 15: return("M15"); case 30: return("M30"); case 60: return("H1"); case 240: return("H4"); case 1440: return("D1"); case 10080: return("W1"); case 43200: return("MN1"); default: return("MN1"); } } //+------------------------------------------------------------------+ Coding help Ojala EA [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 learning 2014.09.21 18:27 #3504 如何在两个或多个EA之间进行沟通? paul.seldon 2014.09.22 13:26 #3505 NewBie's trying to develop this to MT4 build 670.帮助~ 下载MetaTrader 5的 "三条移动平均线 "交易机器人(专家顾问)在MetaTrader市场? 我喜欢这个,因为我喜欢K.I.S.S.(保持简单愚蠢)。 我是一个新手,我想开发这个。 (1. version_01) 当它运行时,只要EA一开机,它就会立即建仓。 这就像从.ex5逆向工程到创建.mq4。 (2.版本_02) 在同一个图表上,可以看到从Zig-Zag中发现的每周R & S。 (3.版本_03) 添加逻辑。 --- 不要在趋势线的20点以上或以下进入。 在与周R&S相差20点时清仓。 感谢您的帮助~。 提前感谢~。 Coding help Mastercash 2014.09.22 15:34 #3506 cosmiclifeform,有趣的是,从那时起我就无法让Nice TraderEA进行回测,所以我无法对它进行优化,我已经在alpari demo和ista forex上做过了,同样....,它一直给我空白的结果。能不能告诉我你用来回测 的技巧? cosmiclifeform: 你好,Mastercash。我能够下载并在策略测试器中运行NiceTrader的EA,没有任何问题。 我只是使用了默认设置,没有改变任何东西......也没有收到任何错误信息。 我没有尝试在我的演示中实时运行它......但该EA在策略测试器中运行良好。见所附图表... 你有没有收到任何日志错误信息或其他线索,为什么它不能为你交易...? 希望这有帮助。 罗伯特 Robert 2014.09.22 16:09 #3507 Mastercash: cosmiclifeform,有趣的是,我无法让Nice TraderEA进行回测,所以我无法优化它,我在alpari demo和ista forex上做过,同样的....,它一直给我空白的结果。你能告诉我你用来回测的技巧吗? 你好,Mastercash。 我在FXDD模拟账户上运行了该EA......没有做什么特别的事情......只是在策略测试器中以 默认设置运行该EA。 希望我能提供更多帮助......但如果没有具体的线索来追踪(错误日志、屏幕截图和其他条件),就不可能找出你得到空白结果的原因。 我所能建议的是... 首先在测试器中尝试一个你知道工作正常的好EA。 这将确定你的模拟账户和你的程序都没有问题。 首先让你相信一切都在按部就班地工作。 然后尝试你的Nice TraderEA......并准确地写下发生了什么。即使是一个空白的屏幕也应该有日志可查。 试着在所有地方添加PRINT和COMMENT语句......然后再次检查你的日志......包括EA标签和日志标签。 同时你的COMMENT语句会显示在屏幕上......所以你应该真正看到你的EA是否在工作。 获得良好的编码帮助的底线... 是提供你能找到的关于你的EA发生了什么的最多线索...。 继续尝试一切可能的方法...并让我们知道结果。 保重。 罗伯特 Mladen Rakic 2014.09.22 19:32 #3508 apprentice coder: 如何在两个或多个EA之间进行交流? 如果你的意思是是否有一些函数 或函数集专门用于此,那么答案是,没有这样的东西。 我见过不少尝试,到目前为止,我见过的那些方法没有一个在所有情况下都能发挥作用。除了一个。但有一个是我发明的,由于这个想法非常简单,我仍然不能相信没有人想到它(它甚至提供了不在同一地点的EA的通信,并且没有使用任何API),所以我为自己保留了这个解决方案(在这种情况下,我在等着看是否有人想到同样的事情)。 试着跳出预期的范围来思考吧 learning 2014.09.22 20:11 #3509 mladen: 如果你的意思是,是否有一些函数或函数集专门用于此,那么答案是,没有这样的东西。 我已经看到了不少尝试,到目前为止,我所看到的那些方式没有一个在所有情况下都有效。除了一个。但有一个是我发明的,由于这个想法非常简单,我仍然不能相信没有人想到它(它甚至提供了不在同一地点的EA的通信,而且没有使用任何API),所以我为自己保留了这个解决方案(在这种情况下,我在等待看是否有人想到同样的事情)。 请试着跳出预期的范围来思考问题。 我知道你的意思:想法的价值有时远远超过之后的制作方式。谢谢 Dawid Ciechowski 2014.09.22 20:22 #3510 你好。 亲爱的mladen,我有一个小小的请求--你能不能把下面所附的指标在左上角显示的所有信息关掉? 预先感谢;-) 附加的文件: pivots_daily.mq4 15 kb 1...344345346347348349350351352353354355356357358...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
stevenpun 对于这一点,最简单的方法是在该指标上添加一些 "斜率方向 "的缓冲区,或者使用一些已经在缓冲区中解决了斜率问题的其他MACD。
这样吧,https://www.mql5.com/en/forum/178018/page67
但问题是我需要在代码中加入什么,我在谷歌上搜索了很多EA,但没有成功找到一些例子。
请告诉我一些例子,谢谢你的帮助。
https://www.mql5.com/en/forum/178018/page67
但问题是我需要在代码中加入什么,我已经谷歌了很多EA,但没有成功找到一些例子。
请给我看一些例子,谢谢你的帮助。冯小刚
这将是一个很好的例子,可以使用。
读取 "颜色 "缓冲区,当其中的值从-1变为1时,是一个买入信号,而当值从1变为-1时,是一个卖出信号("从 "是颜色缓冲区的前一个值,"到 "是当前值,或者如果你想只使用封闭的条形图,"从 "是2条前,"到 "是1条前)
你好。
我是新来的。我想更新一个矩形对象,但不知道怎么做。下面的代码是我用来创建矩形对象的,如果EMAs交叉。如果价格回调并触及它,这些矩形必须结束。如何做到这一点?
先谢谢你。
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 clrLime
#property indicator_width1 2
#property indicator_color2 clrMagenta
#property indicator_width2 2
extern int EMA1 = 3;
extern int EMA2 = 21;
extern int EMA3 = 63;
extern double arrowDistance = 0.0003;
extern color upRectColor = clrYellow;
extern color dnRectColor = clrDodgerBlue;
extern color touchRectColor = clrDarkGray;
//---
extern double rectHigh = 0.0001;
extern int rectDays = 3;
extern int bars_limit = 2000;
extern bool showRectangle = true;
double upArrow[];
double dnArrow[];
double prev2EMA1, prev2EMA2, prev2EMA3;
double prevEMA1, prevEMA2, prevEMA3;
double curEMA1, curEMA2, curEMA3;
double prevOpenPrc, prevClosePrc, prevLowPrc, prevHighPrc;
string objRectName;
string rectArray[];
string indiName = "Emac";
int rectValidity = 0;
int arrayMaxAmounts = 99999;
int arrayCurAmount = 0;
int arrayLastAmount = 0;
//+------------------------------------------------------------------+
//| INIT() |
//+------------------------------------------------------------------+
int init() {
if (Period() != PERIOD_H1) {
Alert("Use only @ TF: H1");
return(0);
}
ArrayResize(rectArray,arrayMaxAmounts,arrayMaxAmounts);
IndicatorBuffers(2);
SetIndexBuffer(0,upArrow);
SetIndexBuffer(1,dnArrow);
SetIndexStyle(0,DRAW_ARROW);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexArrow(1,234);
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
SetIndexLabel(0,"Up");
SetIndexLabel(1,"Dn");
return(0);
}
//+------------------------------------------------------------------+
//| DEINIT() |
//+------------------------------------------------------------------+
int deinit() {
int k=0;
while (k<ObjectsTotal()) {
string objname = ObjectName(k);
if (StringSubstr(objname,0,StringLen("Emac")) == "Emac")
ObjectDelete(objname);
else
k++;
}
return(0);
}
//+------------------------------------------------------------------+
//| START() |
//+------------------------------------------------------------------+
int start() {
if (Period() != PERIOD_H1) {
Alert("Use only @ TF: H1");
return(0);
}
int limit,i,k;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---
if (limit>bars_limit-1 && bars_limit!=0) limit=bars_limit-1;
if (Bars<EMA1 || Bars<EMA2 || Bars0 && bars_limit0 && bars_limit0 && bars_limit<EMA3)) {
Alert("Adjust limit settings or put more bars on your chart!");
return(0);
}
//---
for (i=0; i<limit; i++) {
prev2EMA1 = iMA(NULL,0,EMA1,0,MODE_EMA,PRICE_CLOSE,i+2);
prev2EMA2 = iMA(NULL,0,EMA2,0,MODE_EMA,PRICE_CLOSE,i+2);
prev2EMA3 = iMA(NULL,0,EMA3,0,MODE_EMA,PRICE_CLOSE,i+2);
prevEMA1 = iMA(NULL,0,EMA1,0,MODE_EMA,PRICE_CLOSE,i+1);
prevEMA2 = iMA(NULL,0,EMA2,0,MODE_EMA,PRICE_CLOSE,i+1);
prevEMA3 = iMA(NULL,0,EMA3,0,MODE_EMA,PRICE_CLOSE,i+1);
curEMA1 = iMA(NULL,0,EMA1,0,MODE_EMA,PRICE_CLOSE,i);
curEMA2 = iMA(NULL,0,EMA2,0,MODE_EMA,PRICE_CLOSE,i);
curEMA3 = iMA(NULL,0,EMA3,0,MODE_EMA,PRICE_CLOSE,i);
prevOpenPrc = iOpen(NULL,0,i+1);
prevClosePrc = iClose(NULL,0,i+1);
prevLowPrc = iLow(NULL,0,i+1);
prevHighPrc = iHigh(NULL,0,i+1);
rectValidity = rectDays*86400;
if ( (prev2EMA1=prevEMA2)&&(curEMA1>curEMA2)&&(prevEMA2>=prevEMA3)&&(curEMA2>curEMA3) ) { // up
upArrow = prevLowPrc - arrowDistance;
if (showRectangle == true) {
//----------------------- Draw Rectangle ----------------------
objRectName = StringConcatenate(indiName,"_",FuncPeriodToStr(Period()),"_",DoubleToStr(Time,0));
if (ObjectFind(objRectName) == -1) { // not exists
ObjectCreate(objRectName, OBJ_RECTANGLE, 0,Time,prevLowPrc,Time+rectValidity,prevLowPrc+rectHigh);
ObjectSet(objRectName, OBJPROP_COLOR, upRectColor);
ObjectSet(objRectName, OBJPROP_WIDTH, 0);
ObjectSet(objRectName, OBJPROP_STYLE, STYLE_SOLID);
//--- put information to Array ---
arrayCurAmount = ArraySize(rectArray);
rectArray[arrayCurAmount] = StringConcatenate(objRectName,"$up$",Time,"$",prevClosePrc,"$0"); // 0=new, not yet touched
} // if
} // if
} // if
if ( (prev2EMA1>prev2EMA2)&&(prevEMA1<=prevEMA2)&&(curEMA1<curEMA2)&&(prevEMA2<=prevEMA3)&&(curEMA2<curEMA3) ) { // down
dnArrow = prevHighPrc + arrowDistance;
if (showRectangle == true) {
//----------------------- Draw Rectangle ----------------------
objRectName = StringConcatenate(indiName,"_",FuncPeriodToStr(Period()),"_",DoubleToStr(Time,0));
if (ObjectFind(objRectName) == -1) { // not exists
ObjectCreate(objRectName, OBJ_RECTANGLE, 0, Time,prevHighPrc,Time+rectValidity,prevHighPrc-rectHigh);
ObjectSet(objRectName, OBJPROP_COLOR, dnRectColor);
ObjectSet(objRectName, OBJPROP_WIDTH, 0);
ObjectSet(objRectName, OBJPROP_STYLE, STYLE_SOLID);
//--- put information to Array ---
arrayCurAmount = ArraySize(rectArray);
rectArray[arrayCurAmount] = StringConcatenate(objRectName,"$dn$",Time,"$",prevClosePrc,"$0"); // 0=new, not yet touched
} // if
} // if
} // if
} // for
//----------------------- Edit Rectangle, change time2 & color, if price touched ----------------------
return(0);
} // start
//+------------------------------------------------------------------+
void DelObjects(string id) {
int ot1=ObjectsTotal();
while(ot1>=0) {
if (StringFind(ObjectName(ot1),id,0)>-1) {
ObjectDelete(ObjectName(ot1));
}
ot1--;
}
return;
}
//+------------------------------------------------------------------+
string FuncPeriodToStr(int thePeriod) {
switch(thePeriod) {
case 1: return("M1");
case 5: return("M5");
case 15: return("M15");
case 30: return("M30");
case 60: return("H1");
case 240: return("H4");
case 1440: return("D1");
case 10080: return("W1");
case 43200: return("MN1");
default: return("MN1");
}
}
//+------------------------------------------------------------------+
如何在两个或多个EA之间进行沟通?
NewBie's trying to develop this to MT4 build 670.帮助~
下载MetaTrader 5的 "三条移动平均线 "交易机器人(专家顾问)在MetaTrader市场?
我喜欢这个,因为我喜欢K.I.S.S.(保持简单愚蠢)。
我是一个新手,我想开发这个。
(1. version_01)
当它运行时,只要EA一开机,它就会立即建仓。
这就像从.ex5逆向工程到创建.mq4。
(2.版本_02)
在同一个图表上,可以看到从Zig-Zag中发现的每周R & S。
(3.版本_03)
添加逻辑。
--- 不要在趋势线的20点以上或以下进入。
在与周R&S相差20点时清仓。
感谢您的帮助~。
提前感谢~。
cosmiclifeform,有趣的是,从那时起我就无法让Nice TraderEA进行回测,所以我无法对它进行优化,我已经在alpari demo和ista forex上做过了,同样....,它一直给我空白的结果。能不能告诉我你用来回测 的技巧?
你好,Mastercash。
我能够下载并在策略测试器中运行NiceTrader的EA,没有任何问题。
我只是使用了默认设置,没有改变任何东西......也没有收到任何错误信息。
我没有尝试在我的演示中实时运行它......但该EA在策略测试器中运行良好。见所附图表...
你有没有收到任何日志错误信息或其他线索,为什么它不能为你交易...?
希望这有帮助。
罗伯特
cosmiclifeform,有趣的是,我无法让Nice TraderEA进行回测,所以我无法优化它,我在alpari demo和ista forex上做过,同样的....,它一直给我空白的结果。你能告诉我你用来回测的技巧吗?
你好,Mastercash。
我在FXDD模拟账户上运行了该EA......没有做什么特别的事情......只是在策略测试器中以 默认设置运行该EA。
希望我能提供更多帮助......但如果没有具体的线索来追踪(错误日志、屏幕截图和其他条件),就不可能找出你得到空白结果的原因。
我所能建议的是...
首先在测试器中尝试一个你知道工作正常的好EA。
这将确定你的模拟账户和你的程序都没有问题。
首先让你相信一切都在按部就班地工作。
然后尝试你的Nice TraderEA......并准确地写下发生了什么。即使是一个空白的屏幕也应该有日志可查。
试着在所有地方添加PRINT和COMMENT语句......然后再次检查你的日志......包括EA标签和日志标签。
同时你的COMMENT语句会显示在屏幕上......所以你应该真正看到你的EA是否在工作。
获得良好的编码帮助的底线...
是提供你能找到的关于你的EA发生了什么的最多线索...。
继续尝试一切可能的方法...并让我们知道结果。
保重。
罗伯特
如何在两个或多个EA之间进行交流?
如果你的意思是是否有一些函数 或函数集专门用于此,那么答案是,没有这样的东西。
我见过不少尝试,到目前为止,我见过的那些方法没有一个在所有情况下都能发挥作用。除了一个。但有一个是我发明的,由于这个想法非常简单,我仍然不能相信没有人想到它(它甚至提供了不在同一地点的EA的通信,并且没有使用任何API),所以我为自己保留了这个解决方案(在这种情况下,我在等着看是否有人想到同样的事情)。
试着跳出预期的范围来思考吧
如果你的意思是,是否有一些函数或函数集专门用于此,那么答案是,没有这样的东西。
我已经看到了不少尝试,到目前为止,我所看到的那些方式没有一个在所有情况下都有效。除了一个。但有一个是我发明的,由于这个想法非常简单,我仍然不能相信没有人想到它(它甚至提供了不在同一地点的EA的通信,而且没有使用任何API),所以我为自己保留了这个解决方案(在这种情况下,我在等待看是否有人想到同样的事情)。
请试着跳出预期的范围来思考问题。我知道你的意思:想法的价值有时远远超过之后的制作方式。谢谢
你好。
亲爱的mladen,我有一个小小的请求--你能不能把下面所附的指标在左上角显示的所有信息关掉?
预先感谢;-)