2017.01.1312:51:14.3722017.01.0516:30:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.02 2017.01.1312:51:14.3722017.01.0516:25:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.01 2017.01.1312:51:14.3722017.01.0516:25:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.02 2017.01.1312:51:14.3712017.01.0516:20:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.01 2017.01.1312:51:14.3712017.01.0516:20:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.02 2017.01.1312:51:14.3712017.01.0516:15:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.01
2017.01.1312:51:14.3722017.01.0516:30:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.02 2017.01.1312:51:14.3722017.01.0516:25:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.01 2017.01.1312:51:14.3722017.01.0516:25:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.02 2017.01.1312:51:14.3712017.01.0516:20:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.01 2017.01.1312:51:14.3712017.01.0516:20:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.02 2017.01.1312:51:14.3712017.01.0516:15:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.01
它是无维的,但它是二维的,你可以把无维数的元素放在二维中。
你到底在做什么,你有什么想法吗,你所做的工作的结果应该是什么?还是你随心所欲地编造逻辑?
在目前的例子中,我希望能够以任何手数下无限多的订单,以避免超过指定的限制。
当然,我们知道限制,但我想这样做。
我的出发点是,如果你在括号中指定一个元素,它将是最后一个元素
所以我得到了这种废话。我正期待着一个按顺序排列的...我希望结果(这种订单的手数*系数)被添加到订单中,而不是手数。
以及从那里检索数据的问题
我想得到我所看到的以下结果
我的Array[0][0.01]。
我的Array[1][0.01]。
我的Array[2][0.02]。
等...
void CalcOrders()
{
int CountOrders=0;
double MyArray [99][99];
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()==OP_SELL))
CountOrders++;
ArrayResize(MyArray,CountOrders+1);
MyArray[CountOrders][0]=OrderLots();
Print("MyArray[CountOrders][0]",MyArray[CountOrders][0]);
}
}
2017.01.13 12:51:14.372 2017.01.05 16:30:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.02
2017.01.13 12:51:14.372 2017.01.05 16:25:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.01
2017.01.13 12:51:14.372 2017.01.05 16:25:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.02
2017.01.13 12:51:14.371 2017.01.05 16:20:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.01
2017.01.13 12:51:14.371 2017.01.05 16:20:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.02
2017.01.13 12:51:14.371 2017.01.05 16:15:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.01
在目前的例子中,我希望能够以任何手数下无限多的订单,以不超过其限制。
当然,我们都知道限制,但我想这样做
我的出发点是,如果你在括号中指定一个元素,它将是最后一个元素
所以我得到了这种废话。我正期待着一个按顺序排列的...我希望结果(这种订单的手数*系数)被添加到订单中,而不是手数。
而从那里检索数据的问题
void CalcOrders()
{
int CountOrders=0;
double MyArray [99][99];
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()==OP_SELL))
CountOrders++;
ArrayResize(MyArray,CountOrders+1);
MyArray[CountOrders][0]=OrderLots();
Print("MyArray[CountOrders][0]",MyArray[CountOrders][0]);
}
}
2017.01.13 12:51:14.372 2017.01.05 16:30:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.02
2017.01.13 12:51:14.372 2017.01.05 16:25:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.01
2017.01.13 12:51:14.372 2017.01.05 16:25:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.02
2017.01.13 12:51:14.371 2017.01.05 16:20:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.01
2017.01.13 12:51:14.371 2017.01.05 16:20:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.02
2017.01.13 12:51:14.371 2017.01.05 16:15:00 martin GBPUSD,M5: MyArray[CountOrders][0]0.01
解释你的需要。
让我们把所有的东西都存储在一个数组中,然后呢?
然后我们旋转阵列,寻找你需要的位置,什么?
地段什么位置,有没有一个定义,或者通过眼睛,我看了一下标签贸易,是的需要6,对吗?能否请你解释一下你的需求?
让我们把所有东西都放到一个数组里,然后呢?
我们将旋转阵列,寻找你需要的位置,什么?
我看了看 "交易 "标签,我知道我需要6个,对吗?OnTick()
如果开仓的条件是正确的
{pos(192,252)}打开位置
如果开仓条件是正确的
{填充相同的数量}。
如果最后一手是第2个位置--让我们加上*1.5手(查找最后一手的函数将返回第二手),这将是第三手。
如果这是四阶
补足{零号地块+一号地块}。
如果它将是五阶
填补{地段1的位置+地段3}
目前,有一个关于列表中最后一个位置的定义
我们需要把它写进一个数组中,并一次性取出正确的一个,因为我目前看不到任何其他的实现方式,所以理论上订单 和头寸的数量 应该是无限的。
我已经向你展示了我在函数中的做法,我不知道它是否正确。
我需要调出数据,提前知道我的账户中可能会有哪些订单。
我并不假装系统是有效的,执行是重要的
下午好。如果我需要测试一个EA,并且它使用命令来写入和读取比特和csv文件,你能提供建议吗,因为我们知道在测试模式下使用文件操作时会出现错误。
没有错误发生。如果不使用该标志,只写到不同的文件夹中
文件_COMMON
4096
文件在所有客户终端的共享文件夹 中的位置 (Terminal\Common\Files)。在打开文件(FileOpen())、复制文件(FileCopy()、FileMove())和验证文件的存在(FileIsExist())时使用这个标志。
没有发生错误。如果不使用该标志,只写到不同的文件夹中
文件_COMMON
4096
文件在所有客户终端的共享文件夹 中的位置 (Terminal\Common\Files)。在打开文件(FileOpen())、复制文件(FileCopy()、FileMove())和验证文件的存在(FileIsExist())时使用这个标志。
好吧,我使用FileOpen()
input string InpDirectoryName="";
string path=InpDirectoryName+"//"+InpFileName;
C:\Users\Rassvet\AppData\Roaming\MetaQuotes\Terminal\36A64B8C79A6163D85E6173B54096685\MQL5\Files
5004:ERR_FILE_CANNOT_OPEN = 打开文件错误
嗯,我正在使用FileOpen()
input string InpDirectoryName="";
string path=InpDirectoryName+"//"+ InpFileName;
C:\Users\Rassvet\AppData\Roaming\MetaQuotes\Terminal\36A64B8C79A6163D85E6173B54096685\MQL5\Files
5004:ERR_FILE_CANNOT_OPEN = 文件打开错误
FileOpen()不是一个标志...该标志是 FILE_COMMON。
如果你不想写到一个单独的文件夹,你不必在路径中指定它为一个空字符串。不必要的以黄色标出。
FileOpen()不是一个标志...该标志是 FILE_COMMON。
如果你不想写到一个单独的文件夹,你不必在路径中指定它为一个空字符串。不必要的以黄色标出。
你能告诉我在哪里可以读到#property strict属性吗?
你好!
你能告诉我在哪里可以读到关于#property strict属性的信息吗?