任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 428

 
vadynik:

我需要这个配方),我明天就去试一试,谢谢!

它以前就在这里,而且不止一次。这应该有助于解决精明的问题。

我想知道价格在减去多少个点(以销计)后可以下降。
公式:手数=金钱/(钉子*刻度)。
钱--赚的/丢的
止损点 - 经纪人的点位
Tick - MarketInfo( MODE_TICKVALUE)
从这里开始,按照你的意愿进行扭曲。
Stopplus=资金/(手数*刻度)。
金额=手数*止损点*点数


 
vitali-attila:
你好。你能告诉我账户信息文件存放在哪里吗?我需要改变策略测试器的水平和范围。如果有其他方法,请告诉我。
StopLevel不会改变,但在策略测试器的设置 中很容易改变点差--在周期的选择下,有一个点差大小的选择。
 
Mr.Profit:

亲爱的朋友们,你们好!

我如何知道我的专家顾问/脚本使用FileOpen/FileWrite写入的文件的全名(含路径)?

TerminalPath() + "\\experts\files\" 在启用UAC的Win7 x64上指向"C:\Program Files (x86)\Alpari Limited MT4\experts\files\",而我想得到的是"C:\Users\<CurrentUser>AppData\Local\VirtualStore\Program Files(x86)\Alpari Limited MT4\experts\files\"

塔基 - 没有人知道?
 

我会尝试fileopen("%userprofile%\AppData\Local\VirtualStore "+截断TerminalPath()+"\experts\\files\\"一行。

更好的是,完成虚拟化的工作。

 
splxgf:

我会尝试fileopen("%userprofile%\AppData\Local\VirtualStore "+截断TerminalPath()+"\experts\\files\\"一行。

最好以虚拟化结束。

我不了解虚拟化的情况...这一切都发生在一台正常的Win7电脑上,如果有的话(不是在虚拟化上)。

从TerminalPath()中挖出部分路径并将其添加到%userprofile%中 - 变态,而且只有当终端安装在Program Files中时才会起作用。但是,如果它安装在X:a\b\c\d--路径的哪一部分应该被添加到%userprofiles%?

 
artmedia70:

它以前就在这里,而且不止一次。如果你是聪明人,应该会有帮助。

如何根据可用资金和手数计算出价格可以负多少个点(点)?
公式:手数=金钱/(钉子*刻度)。
钱--赚的/丢的
止损点 - 经纪人的点位
Tick - MarketInfo( MODE_TICKVALUE)
从这里开始,按照你的意愿进行扭曲。
Stopplus=资金/(手数*刻度)。
金额=手数*止损点*点数




是的,这一切都解决了,谢谢你!
 
Mr.Profit:

关于虚拟化 - 误解...这一切都发生在正常的Win7电脑上,如果有的话(不是在虚拟化上)。

从TerminalPath()中挖出部分路径,并将其添加到%userprofile%中 - 变态,而且只有当终端安装在Program Files中时才会起作用。但是,如果它安装在X:a\b\c\d--路径的哪一部分应该被添加到%userprofiles%?

п.1.禁用UAC或以管理员身份运行。

问题是什么,为什么你需要完整的路径?MT4中的文件功能本身是虚拟化的,仅限于 experts/files 目录。

如果你想获得完整的功能,请到windows apihttps://www.mql5.com/ru/forum/112692 或参见第1点。

 
splxgf:

п.1.禁用UAC或以管理员身份运行。

问题是什么,为什么你需要完整的路径?MT4中的文件功能本身是虚拟化的,仅限于 experts/files 目录。

如果你需要完整的功能,你应该到windows apihttps://www.mql5.com/ru/forum/112692,或者参见第1点。

我的脚本会生成某种HTML报告。我有一个不可抗拒的(;-)愿望,希望通过从shell32.dll调用ShellExecuteA(),让报告在浏览器中自动打开--我需要完整的路径。

我不想使用步骤1的原因是我想要一个通用的解决方案。

 
那么也许可以尝试使用win api(CreateFileA)创建一个文件,它很可能会在用户的配置文件文件夹中创建,然后从句柄中计算出完整的路径。
[Deleted]  

伙计们,请检查一下这个功能,我对它有一些怀疑。

void CloseHalfOrders(int otype) // ф-ция закрытия половины ордеров сетки
{
  int count = 0; double CTbuy = CountTrades(OP_BUY); double CTsell = CountTrades(OP_SELL);
  double n = NormalizeDouble (CTbuy/2,1); double k = NormalizeDouble (CTsell/2,1); 
  for (int i =0; i<OrdersTotal();)
  {
    if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
    {
       if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype)
       {
         if (otype == OP_BUY)
         {
           if (count<n)
           OrderClose(OrderTicket(),OrderLots(),Bid,0,Lime);
           count++;
           Sleep(1000);
         } //if (otype == OP_BUY)
           if (otype ==OP_SELL)
           {
             if (count<k)
             OrderClose(OrderTicket(),OrderLots(),Ask,0,Lime);
             count++;
             Sleep(1000);
           }//if (otype ==OP_SELL)
         }//if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype)
           else i++;    
         }//if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
       }//for (int i =0; i<OrdersTotal();)
     }//void CloseHalfOrders(int otype)