int MagicNumber=001;
//---if (OrdersTotal()>0) // проверяем, есть ли ордера
{ for (int i=OrdersTotal()-1; i>=0; i--) // перебор ордеров
{ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) // выбирается ордер среди открытых и отложенных ордеров
{ if (OrderSymbol()!=Symbol()) continue; // проверяем - ордер по текущему символу?if (OrderMagicNumber()!=MagicNumber) continue; // проверяем - ордер с нужным магиком?//---if (OrderType()==OP_BUY) // если это открытая позиция на покупку, то ...
{ // ... какие-то действияreturn(0);
}
//---elseif (OrderType()==OP_SELL) // если это открытая позиция на продажу, то ...
{ // ... какие-то действияreturn(0);
}
} } }
string_Symbol="AUDUSD";
int MagicNumber=555;
//---int Opened_pos=0;
if (OrdersTotal()>0)
{ for (i=OrdersTotal()-1; i>=0; i--)
{ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{ if (OrderSymbol()==_Symbol)
{ if (OrderMagicNumber()==MagicNumber)
Opened_pos++;
} } } }
#import "StrAddress.dll"int GetStrAddress(string str);//на входе имя инициализированной строки, на выходе её адрес#import//объявляем:string s="something";
int address;
//пример использования:int start(){
address=GetStrAddress(s);
Print(" адрес s равен " s);
}
sss2019,现在没时间处理了,抱歉。
错了。正确,如上所示。
一旦我有时间,我就会修复它,并在那里的帖子中编辑代码。
问题。我如何获得 一个指向字符串的指针?据我了解,MQL4的字符串 是C++lpsz。但我们如何获得字符串地址 本身呢?
如果我有一个想法,如何使一个相同的EA在不同的向导下工作。当发生锁定时,机器人应该单独处理这种情况,不干扰其他订单。例如,我们有一个在Bay(魔法001)开立的头寸,市场对我们不利,而不是关闭交易,相反的交易在Sell(魔法001)开立,机器人会处理这种情况,我想再次开立Bay,但用魔法(002),以避免长时间等待处理它,如果趋势不成功,用魔法(002)的Sell锁将再次打开,等等。 有没有建议如何使交易作为不同魔法的一层工作? 也许有人遇到过?或者如何实施?
按要求的符号和魔术师的未平仓和挂单 的计数器的例子
由于某些原因,终端在测试过程中出现了故障。现在当你打开它时,它开始使用大约150 mb的内存并挂起。本来打算重新安装,但在这样做之前转移了我所有的文件。当我打开这些文件夹时,我发现并非所有我创建的文件都在那里。其余的人在哪里?
由于某些原因,终端在测试过程中出现了故障。现在当你打开它时,它开始使用大约150 mb的内存并挂起。本来打算重新安装,但在这样做之前转移了我所有的文件。当我打开这些文件夹时,我发现并非所有我创建的文件都在那里。其他的人在哪里?
sss2019,现在没时间处理了,抱歉。
一旦我有时间,我就会修复它,并在那里的帖子中编辑代码。
问题。我如何获得一个指向字符串的指针?据我了解,MQL4的字符串 是C++lpsz。但我怎样才能得到字符串本身的地址?
左边的截图是MQL5,而不是4。
不,是第四个。只是,第四个文件,当点击时,通过第五个文件打开,出于某种原因
打开MetaEditor 5,在左边的窗口 "Navigator"->在一个文件夹上点击鼠标右键->"Open folder",在文件夹中尝试搜索。
在MQL4中没有办法做到这一点。你可以将一个字符串传递给DLL,并以INT形式返回地址。
//MQL4
为了不让其他人遭受同样的痛苦,我附上了整个压缩的项目。有来源,以便其他人可以看到它不是一个病毒。我没有时间去检查哪些是由VC++ 6.0编译的,哪些是垃圾。StrAddress.dll在Debug文件夹中。
打开MetaEditor for 5,在左边的窗口 "Navigator"->鼠标右键点击一个文件夹->"Open folder",在文件夹中尝试搜索。
谢谢,但那里没有出现mt4的任何内容。使用了搜索,在以下地址找到了所有文件。
C:\Users\Qwer\AppData\Local\VirtualStore\Program Files\MetaTrader 4\experts\include
说实话,我不知道它们是怎么到那里的,因为它们之前被妥善保存了。