[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 99

 
ScioMe:

在这些名称下保存,新的图表以同样的方式打开,以旧的方式。在模板文件夹里有一个文件strategtester.htm,我不知道该怎么处理这个文件。

这意味着有什么地方做错了,也许MT没有被重新启动。经过测试,应该可以使用。
 
zas:
你好,你能帮我解决这个问题吗? 我在论坛上没有找到。 事情是这样的,我在Excel中打开一个文件后,数据被表示为日期,如果我改变日期格式,就会得到错误的数据。 我试过不同类型的日期,但都是一样的。 我试着在加载时指定数据类型(Excel会问),但数字似乎被表示为一个带点的数字(例如1.5624),而Excel不想对它们做任何处理。

这个问题与论坛的主题无关,因为你需要去参加一个计算机知识课程,学习使用Word和Excel,或者找一本关于这些程序的书来学习。

在你的具体问题上,选择必要的单元格,将光标移到这些单元格上,点击鼠标右键,然后 "格式化单元格......",选择所需的数据显示格式。

 

伙计们,告诉我一个提示...

你必须比较直方图的第一个峰和第二个峰,如果第二个峰的abs值较小,那么在它们都低于零的情况下打开购买,然后将第二个峰的值分配给第一个峰,如果在第一个峰形成后,直方图列从负区域变成正区域,那么取消第一个峰的存在,正如我所做的--即根据条件我们重置两个标志。

事实证明,当我确定第一个峰的参数时,第二个峰也满足同样的条件(同样的参数)。 而这是一个错误... 我想以某种方式 "分离 "这些事实(有其独特的参数)形成的数字1和2,我给我的代码和数字的海湾...

double a1,a2,a11,a22;//  значения первого и второго пика 
bool fl1 = false;    //  флаги наличия 1-го и 2-го пика для их сравнения для входа в рынок по 3-ему варианту АО
bool fl2 = false;    //
bool signal_buy = false;
bool signal_sell = false;

double AO1 =  iAO(Symbol(), signal_period, 1);
double AO2 =  iAO(Symbol(), signal_period, 2);
double AO3 =  iAO(Symbol(), signal_period, 3);
  
 
 
if (AO3 < 0 && AO3 > AO2 && AO2<0 && AO2 < AO1 && AO1 < 0 && fl1==false && fl2==false) {a1 = AO22; fl1=true; Print ("образование первого пика",DoubleToStr(a1,6) );}
//    определение наличия 1-го пика, флаг установлен
 Print ("первый пик = ", DoubleToStr(a1, 6) );
 
// в след строке ошибка - получается, что после идентификации 1-го пика - эти же условия выполняются и для 2-го, а этого быть не должно... 
 if (AO3<0 && AO3>AO2 && AO2<0 && AO2<AO1 && AO1<0 && fl1==true && fl2==false)                        // определение наличия 2-го пика, флаги установлены
      { 
        a11 = AO2; fl1=true; fl2=true; Print ("образование второго пика", DoubleToStr (a11,6));
        if (a1<a11 && High [0] > High [1]) 
           { signal_buy = true; a1=a11; fl1=true;fl2=false;}    // активируем бай и запоминаем параметры как первого пика   
        else { a1=a11; fl1=true;fl2=false;}                     // просто запоминаем новый минимум - первый пик   
      }                                                       
  
 if (AO2>0 || High [0] < High [1]) {fl1=false; fl2=false;}     // если какой - либо столбец гистограммы  пересекает 0-ю линию между сигналами 2-а пика
                                                               // то сигнал считается недействительным. Cбрасываем флаги
 if (Mas_Tip[0]!=0 && signal_buy == true )  return(10);        // при доливке и сигнале к покупке открываемся с рынка 
 signal_buy = false;                                           // сбрасываем сигнал к покупке
 
 

 

任何可以帮助创建一个交易机器人的家伙,只是有一个想法,并需要帮助它的实现,我自己在编程不强,你甚至可以得到的钱,但合理的!这是不可能的。

 
ZahvatkiN:

任何可以帮助创建一个交易机器人的家伙,只是有一个想法,并需要帮助它的实现,我自己在编程不强,你甚至可以得到的钱,但合理的!这是不可能的。

我可以用一个合理的金额来做这件事。
 

我无法理解。

用俄语书写,但看不懂手册部分https://docs.mql4.com/ru/basis/variables/formal

引用。

通过引用的参数 只能在单个模块内 传递,....... (我们说的是哪个模块?)

数组也可以通过引用来传递, 所有的变化都会反映在原来的数组中 。 (改变数组中的元素?)

 
大家好,我在论坛上找了一整天都没有找到,请问在哪里可以下载hst、csv格式的欧元兑美元1分钟报价历史,或者最好是下载最长期限的,终端只给出了一年的时间。请给我发送链接或文件。在此,我表示感谢。
 
问题???

我开了一个挂单-

Ticket = OrderSend(...,OP_SELLSTOP,...,TP,SL)。

如果(Ticket>0)

{一切正常,等待挂单被执行,如果它被执行,则一切正常}。

否则

{等待下一个柱状体关闭,如果订单没有打开,就用OrderDelite()强行关闭;}。

代码帮助

"等待未决订单的执行"

"等待下一个条形图关闭,如果订单没有打开,用OrderDelite()强制关闭它;"

 
for(k=0; k<KPeriod; k++)              // перебрать KPeriod баров
  if(Low[k]<minimum) minimum=Low[k];  // найти минимум

如何正确地用iLowest函数 来代替它?

minimum=Low[iLowest (NULL, 0, MODE_LOW,KPeriod, 0)] - 对吗?

 
robot:
问题???

{等待下一个柱状体关闭,如果订单没有打开,就用OrderDelite()强制关闭它;}。

代码帮助

"等待未决订单的执行"

"等待下一个条形图close,如果订单没有打开,用OrderDelite()强行关闭;"

你应该了解一点逻辑和订单工作的本质。

为了执行一个待定的处理或等待一些事件,你必须记住系统的当前状态,并将其与预期状态进行比较。

在你的案例中,你有一个事件--一个新栏 已被打开,但订单没有触发。

要做到这一点,你可以这样走。

- 记住票据参数,以及你打开的酒吧的时间。如果有一个新的酒吧,那么你可以立即抓住以前保存的票据,并检查它是否是市场票据或初始待定票据。如果它是待定的,就删除它。

这个变体不打算用于真正的交易;它只用于测试。

----------

因此,你需要Time[]、OrderSelect()、OrderType()、OrderCloseTime()。