文章 "使用 EA 交易可视向导创建 EA 交易" - 页 2

 
BESSONoff:
亲爱的--请告知胜利之道:--"我点击快捷方式(在桌面上创建)--它给出的信息是它不知道 forat(快捷方式指向 jar 格式)....。手动解压缩给定的 jar 后,exe 没有找到......"


我要求您在此发布该程序的源代码存档。

 
BESSONoff:
亲爱的--请告知胜利之道:--"我点击快捷方式(在桌面上创建)--它给出的信息是它不知道 forat(快捷方式指向 jar 格式)....。在手动解压缩给定 jar 后,exe 没有找到......"
该文件不需要在 Java 中解压缩,而是使用带有 jar 扩展名的文件来运行 exe。只是 Windows 将其检测为存档。显然,您的电脑上没有安装 Java 机器。
 
sergeev:


我还有一个建议。

如果您能制作一个交易策略生成器,这样您的生成器就能立即显示该策略是盈利还是不盈利(无需在 MQL 中生成代码),比方说,根据 Andrei 的观点从下到上显示。

也就是说,我们有一个工具可以检查历史上的不同逻辑,并显示最终的平衡。
如果研究人员对给定的信号逻辑感到满意,他就会按下按钮--生成代码--然后就完成了。想法通过测试,专家诞生了

我相信很多人都会使用这样的工具。如果不是第一次接触终端,那肯定是第二次。

每个人都会有想法枯竭的时候,而在这个工具中,你无需编码就能轻松测试数百个想法。

如果再加上信号参数搜索(例如小的优化操作),那么这个盈利策略生成器就毫无价值了。普通交易者(不是初学者)肯定会使用它。

这个想法好吗?

标准测试器有什么问题?顺便说一下,我有最后保存的方案可供快速测试,只需在编辑器中重新编译包含一个单一包含的 "EA-container"(包含文件目录中最后生成的代码)。一切都很简单,甚至不需要在测试器选项卡中更改测试中的 EA。
我喜欢这样的结果--"另存为 "一个新项目
唯一的不便之处是,由于 Expert Advisor 代码在沙盒(mql5/文件)中,因此需要单独使用。
 
sergey1294:
该文件无需在 Java 中解压,而是使用带有 jar 扩展名的文件来运行,而不是 exe。Windows 只会将其检测为归档文件。显然,你的电脑上没有安装 Java 机器。
我同意,缺少 Java...请给我一个正确的 Java 机器链接,因为我不知道我需要哪一个....。
 
BESSONoff:
我同意,缺少 java...请给我一个正确的 java 引擎链接,因为我不知道我需要哪一个...
从 JRE 官方网站下载 -http://www.oracle.com/technetwork/java/javase/downloads/index.html
Java SE - Downloads | Oracle Technology Network | Oracle
Java SE - Downloads | Oracle Technology Network | Oracle
  • www.oracle.com
Java SE Downloads Java Platform, Standard Edition Java SE 7u51 This release includes important security fixes. Oracle strongly recommends that all Java SE 7 users upgrade to this release. Which Java package do I need? JDK: (Java Development Kit). For Java Developers. Includes a complete JRE plus tools for developing...
 
abolk:

据我所知,这是 "可视化构造函数 "系列的第二篇文章。

从这篇文章来看,构造函数的功能太弱了。简单的操作--谁会需要它们。

程序员永远不会使用这样的解决方案。每个程序员都有自己的代码风格、自己的变量记忆法和自己的开发方法。程序员在实践中很少会根据自己的需要修改别人的代码。

非程序员需要构造函数吗?构造函数对非程序员有什么帮助?非程序员可以理解最简单的 TOR。在此,您必须深入了解构建 TS 的逻辑。雇用专家更省钱。而且,即使是最简单的 TS,也经常会有非标准的添加内容,遇到这种情况时,设计者会提出自己修改代码。

也就是说,正如上面所说 "不需要编程知识"--这与实际情况不符。

我想知道的是。有人会购买这样的程序吗?

为什么不买呢?如果你不懂编程,这个程序正好合适。当然,对于那些编写 "智能交易系统"(Expert Advisor)的人来说,订购这个程序并不有趣,因为它会成为你的竞争对手,例如,我最近花 50 美元订购了一个简单的 "智能交易系统"(Expert Advisor),而这个程序只需一分钟就能编写完成!终端本身就内置了用于编写智能交易系统 的程序,因此您也需要懂一点编程知识,但为什么交易者要在脑子里装满不同的代码呢?

这个程序真是太棒了!

 
dpm:

原来是你的竞争对手。

服务工作 中,你在哪里发现/看到了竞争?什么方面的竞争?"如果客户离开了你,你不知道谁是幸运的"。
 
MetaQuotes:

新文章《使用专家顾问视觉向导创建专家顾问》已发布:

作者:molanis

请找到买入/卖出的正确模式,我无法在 molanis 中找到买入/卖出的正确模式、

我试了很多次,问题是找不到正确的模式。

谢谢。

//+------------------------------------------------------------------+
//|超级趋势。mq5
//|版权所有 2011, FxGeek |
//|http://www.mql5.com ||
//+------------------------------------------------------------------+
#property copyright "Copyright 2011, FxGeek"
#property link      " http://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 9
#property indicator_plots 2

#property indicator_label1  "Filling"
#property indicator_type1   DRAW_FILLING
#property indicator_color1  clrBisque, clrPaleGreen

#property indicator_label2  "SuperTrend"
#property indicator_type2   DRAW_COLOR_LINE
#property indicator_color2  clrGreen, clrRed

input int    Periode=10;
input double Multiplier=3;
input bool   Show_Filling=false; // 显示为 DRAW_FILLING

double Filled_a[];
double Filled_b[];
double SuperTrend[];
double ColorBuffer[];
double Atr[];
double Up[];
double Down[];
double Middle[];
double trend[];

int atrHandle;
int changeOfTrend;
int flag;
int flagh;
//+------------------------------------------------------------------+
//| 自定义指示器初始化函数
//+------------------------------------------------------------------+
int OnInit()
  {
//--- 指示器缓冲区映射
   SetIndexBuffer(0,Filled_a,INDICATOR_DATA);
   SetIndexBuffer(1,Filled_b,INDICATOR_DATA);
   SetIndexBuffer(2,SuperTrend,INDICATOR_DATA);
   SetIndexBuffer(3,ColorBuffer,INDICATOR_COLOR_INDEX);
   SetIndexBuffer(4,Atr,INDICATOR_CALCULATIONS);
   SetIndexBuffer(5,Up,INDICATOR_CALCULATIONS);
   SetIndexBuffer(6,Down,INDICATOR_CALCULATIONS);
   SetIndexBuffer(7,Middle,INDICATOR_CALCULATIONS);
   SetIndexBuffer(8,trend,INDICATOR_CALCULATIONS);

   atrHandle=iATR(_Symbol,_Period,Periode);
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| 自定义指标迭代函数|
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   int to_copy;
   if(prev_calculated>rates_total || prev_calculated<0) to_copy=rates_total;
   else
     {
      to_copy=rates_total-prev_calculated;
      if(prev_calculated>0) to_copy++;
     }

   if(IsStopped()) return(0); //检查停止标志
   if(CopyBuffer(atrHandle,0,0,to_copy,Atr)<=0)
     {
      Print("Getting Atr is failed! Error",GetLastError());
      return(0);
     }

   int first;
   if(prev_calculated>rates_total || prev_calculated<=0) // 检查指标是否首次开始计算
     {
      first=Periode; // 计算所有条形图的起始指数
     }
   else
     {
      first=prev_calculated-1; // 计算新条形的起始数
     }
   for(int i=first; i<rates_total && !IsStopped(); i++)
     {
      Middle[i]=(high[i]+low[i])/2;
      Up[i]  = Middle[i] +(Multiplier*Atr[i]);
      Down[i]= Middle[i] -(Multiplier*Atr[i]);

      if(close[i]>Up[i-1]) 
        {
         trend[i]=1;
         if(trend[i-1]==-1) changeOfTrend=1;

        }
      else if(close[i]<Down[i-1]) 
        {
         trend[i]=-1;
         if(trend[i-1]==1) changeOfTrend=1;
        }
      else if(trend[i-1]==1) 
        {
         trend[i]=1;
         changeOfTrend=0;
        }
      else if(trend[i-1]==-1) 
        {
         trend[i]=-1;
         changeOfTrend=0;
        }

      if(trend[i]<0 && trend[i-1]>0) 
        {
         flag=1;
        }
      else 
        {
         flag=0;
        }

      if(trend[i]>0 && trend[i-1]<0) 
        {
         flagh=1;
        }
      else 
        {
         flagh=0;
        }

      if(trend[i]>0 && Down[i]<Down[i-1])
         Down[i]=Down[i-1];

      if(trend[i]<0 && Up[i]>Up[i-1])
         Up[i]=Up[i-1];

      if(flag==1)
         Up[i]=Middle[i]+(Multiplier*Atr[i]);

      if(flagh==1)
         Down[i]=Middle[i]-(Multiplier*Atr[i]);

      //-- 绘制指示器
      if(trend[i]==1) 
        {
         SuperTrend[i]=Down[i];
         if(changeOfTrend==1) 
           {
            SuperTrend[i-1]=SuperTrend[i-2];
            changeOfTrend=0;
           }
         ColorBuffer[i]=0.0;
        }
      else if(trend[i]==-1) 
        {
         SuperTrend[i]=Up[i];
         if(changeOfTrend==1) 
           {
            SuperTrend[i-1]= SuperTrend[i-2];
            changeOfTrend = 0;
           }
         ColorBuffer[i]=1.0;
        }

      if(Show_Filling)
        {
         Filled_a[i]= SuperTrend[i];
         Filled_b[i]= close[i];
           }else{
         Filled_a[i]= EMPTY_VALUE;
         Filled_b[i]= EMPTY_VALUE;
        }

     }

//--- 为下一次调用返回 prev_calculated 的值
   return(rates_total);
  }
//+------------------------------------------------------------------+
 

那么,它是免费的还是付费的?我不明白!

我找遍了他们的网站,但就是找不到价格!我看到的唯一按钮是 "免费下载"。


还有一个问题:有没有其他人的杀毒软件在他们的网页上发现了病毒?

当我从一个页面转到另一个页面时,AVAST 会阻止该网站,并给出发现病毒的信息--"Infection : JS:HideMe-J [Trj]"(感染 :JS:HideMe-J [Trj])。

 
Novikov:

还有一个问题:有没有其他人的杀毒软件在他们的网页上发现病毒?

如果您从一个页面转到另一个页面,AVAST 会阻止该网站,并给出发现病毒的信息 - "Infection:JS:HideMe-J[Trj]"。


而我的杀毒软件封锁了该网站,并给出了木马信息。