[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 138

 
supernyb:

但对于输出,我理解打印机只打印4位或更少的数字。

那么如果打印(DoubleToStr(Startprice,5)); //打印Startprice

它给出了5。

但是,当你加入一个酒吧的时间

这一行没有添加酒吧的时间?



string name="Pr1_";
string cur_name=name+Time[0];
 
supernyb:


如果是这样的话。

它不工作,它责备'='--不兼容的类型 C:\fortest\experts\sve.mq4 (34, 14)

我怎样才能正确书写?

谢谢你的答复,我已经做了一个星期了)


像这样试试吧。

 extern int MA_Period = 50;                   //периуд Ма
extern int MA_Method =MODE_SMA;               //Метод усреднения скользящего среднего. Может быть любым из значений методов скользящего среднего (Moving Average):
                              //*MODE_SMA 
                              
 extern int Maximum_History = 0;              //Ограничение истории для расчетов, если 0 то расчет всей истории
 
   
    
                                               //начало кода советника
int start()
{      
    double MA4;                                // Значение МА на 4 баре     
    double Startprice;
  
   MA4=iMA(NULL,0,MA_Period,0,MA_Method,PRICE_CLOSE,4); 
 
   
 if  (Low[4]< MA4 && MA4 < High[4])            //условия если 4-я свеча лежит в скользящей  
     {      
   Startprice=Close[0];
     }
       
   Print (DoubleToStr(Startprice,5));          // распечатаем Startprice
     
      
   datetime TmR1=Time[0];                      // запоминаем время текущего бара? 
   
       ObjectCreate("Rep1"+TmR1,OBJ_ARROW, 0, TmR1, Startprice); // создаем обьект 
       ObjectSet("Rep1", OBJPROP_COLOR, White); // устанавливаем обьект на график
       ObjectSet("Rep1", OBJPROP_ARROWCODE,71); 
      
     return(0); 
 }    
 
supernyb:

但对于输出,我理解打印机只打印4位或更少的数字。

那么如果打印(DoubleToStr(Startprice,5)); //打印Startprice

它给出了5。

但是,当你加入一个酒吧的时间

这一行没有添加酒吧的时间?


 
Roger:
显示你如何得到bay_min。


 if (StochM < St_min && StochS < St_min) 
   bay_min = true;
 
r772ra:
if (bay_min == true)   datetime T=Time[0] //сработал сигнал на покупку запоминаем время  бара

if(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
   {   
  if (Open[1]<Close[1] && Open[2]<Close[2] )   //и эти бары бычьи 
     { 
    // что-то делаем
     }
   }
   
// я думаю, как-то так.

谢谢你,逻辑很清楚,但它已经完全停止了开仓交易。
проблема в этой строчке
if(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
 
请告知。我的ZigZag指标超标了。它在图表上画出某个对象。当价格发生变化,需要删除对象时,对象被删除了,但图表中的缓冲区的值还在。 如何将旧值也删除,而不仅仅是从图表中删除?如果你能编写代码或显示它在哪里实现的之字形?
 
Dimka-novitsek:
我如何教计算机严格执行这项任务的商业刹车?否则,测速杆只有在它愿意的情况下才会有反应!延迟时间通常为3-8秒。提到所有的坏女人!
祝你有个愉快的一天!
 
Dimka-novitsek:
我如何教电脑执行这个严格意义上的商业任务的商业刹车?否则,测速杆只有在它愿意的情况下才会有反应!延迟时间通常为3-8秒。提到所有的坏女人!


尽力而为
 



战略测试仪报告

subot11
(Build 438)

符号欧元兑美元(欧元对美元)
期间1小时 (H1) 2005.01.24 00:00 - 2012.09.26 23:00 (2005.01.24 - 2012.09.27)
模型所有刻度线(基于所有最小的可用时间段的最准确方法)
参数参数=" EA"; lot=1; lot2=1; Magic_Number=68705; yroven=120; pr=50; sp=16; MA_Period=50; Maximum_History=0。

历史上的酒吧48438模拟的蜱虫62876826仿真质量90.00%
图表不匹配错误0




初始存款10000.00



净利润7635.00利润总额41380.00全部损失-33745.00
盈利能力1.23预期报酬率16.71

绝对缩水2271.00最大缩水3769.00 (32.78%)相对缩减32.78% (3769.00)

交易总额457空头头寸(赢利百分比)0 (0.00%)多头头寸(赢利百分比)457 (24.29%)

盈利的交易(占全部的百分比)111 (24.29%)亏损交易(占全部的百分比)346 (75.71%)
最大的有利的贸易600.00亏损的交易-150.00
平均值有利的交易372.79亏损的交易-97.53
最大数量连赢5 (2020.00)连续损失(亏损)20 (-2114.00)
最大连续盈利(赢的次数)2098.00 (4)连续损失(损失次数)-2114.00 (20)
平均值连续赢利2连续损失5




我设法创建了我自己的EA。我以19的固定点差运行它。自2005年以来。总是止损。始终采取。它不使用平均数和马汀。仓位在当天关闭,即不转移到第二天。

我的程序员很差劲,可以说是很差劲。

 
artmedia70:

已经离开几天了...我想知道--扔在图上的向导与计算中使用的向导的参数是否相同?也许这就是问题所在?

当然,他们有相同的参数。在这里,在测试模式下,我打开了一个特定的MA的属性。

MA参数

artmedia70:

(我仍然没有时间深入研究代码并把它拆开)。

这一切都写得非常简单,所以任何人都可以直接理解 :)

artmedia70:

我想做一个函数,比如说。

//-----------------------------------------------------------------------------+
double ma(int MAperiod, int MAmethod, int MAshift) {return (iMA(Symbol(), Period(), MAperiod, 0, MAmethod, PRICE_OPEN,MAshift)); }
//-----------------------------------------------------------------------------+
并调用它来获得参数


我最初在写整个专家顾问时就在考虑这个问题,而不是这个。但是,iMA 已经是一个功能。调用iMA 函数,你可以输入任何参数,有些是全局声明的变量,有些是默认的,比如说。关键是,如果从一个函数中调用一个函数没有任何意义,那还有什么意义呢?