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

 
我怎样才能找到在一个给定的柱状周期内蜡烛的最小最大值?
 
savage_pinguin:
我怎样才能找到在一个给定的柱状周期内蜡烛的最小最大值?


试试这个

bar=iLowest(NULL,0,MODE_HIGH,10,10)。

 
alsu:

请注意。

1) "line1[1]>line2[1]"的条件对 "两线交叉 "信号来说是不够的。Надо "линия1[1]>линия2[1]&&линия1[2]<линия2[2]"

2) 抛物线不应该与开盘价比较,而应该与最高价和最低价比较。 请注意,你在零条上计算它,并从第一条中提取开盘价[1]。

谢谢你对我的问题的关注。我按照你的建议做了。但现在该EA完全停止了交易。也许,我对你的理解有误,做错了什么,或者代码中还有其他错误?

目前,该代码看起来像这样。

//+-------------------------------------------------------------------------------------+
//| Расчет значений технических индикаторов с формированием сигналов для позиций        |
//+-------------------------------------------------------------------------------------+
void GetSignal()
{
 Signal = 0;
// - 1 - == Получение значений индикаторов ==============================================
 double SAR = iSAR(Symbol(), 0, SARStep, SARMaximum, 0);
 double EnvUp = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_UPPER, 1);
 double EnvDn = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_LOWER, 1);
 double StochM = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 1);
 double StochS = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 1);
// - 1 - == Окончание блока =============================================================

// - 2 - == Генерация сигнала ===========================================================
 if (SAR < Low[1])
   {
    Signal = 3;                                                          // Закрытие SELL
    if (StochM > StochS && StochM < StochS && StochM >= 80 &&
    StochS >= 80 && High[1] >= EnvUp && SAR < High[1])
      Signal = 1;                                                         // Открытие BUY
   }   
 
 if (SAR > High[1])
   {
    Signal = 4;                                                           // Закрытие BUY
    if (StochM < StochS && StochM > StochS &&  StochM <= 20 &&
    StochS <= 20 && Low[1] <= EnvDn && SAR > Low[1])
      Signal = 2;                                                        // Открытие SELL
   }   
// - 2 - == Окончание блока =============================================================
}

请帮助我理解它,我真的想做这个EA交易。

编辑: 一个很大的请求:如果可能的话,请以代码的形式制定你的答案。
别忘了,我在编程方面还是一个完全的 "傻瓜"......我不想再问你了。
 

谁来给我解释一下伊兰1.4的代码。我的意思是,我想为我改变一下,但其他人的代码根本不理解。谁能给我解释一下,至少逐块解释一下,到底做了什么?

我没有足够的大脑来实现。 我只熟悉了MQL4大约一个星期。

如果有人能帮助我,我将非常感激,如果你能写信到 delit-0202@rambler.ru

然后,如何 在EA中确定趋势?如果只是一般的,甚至可能是滞后的。如何做到这一点呢?

 
daytrader19:

谢谢你对我的问题的关注。我按照你的建议做了。但现在该EA完全停止了交易。也许我误解了你的意思,做错了什么,或者代码中还有其他错误?

目前,该代码看起来像这样。

请帮助我理解它,我真的想做这个EA交易。

编辑: 一个很大的请求:如果可能的话,请把你的答案形成一个代码形式。
别忘了,我在编程方面还是一个完全的 "傻瓜"......我不想再问你了。

如果这样,他怎么能交易

 StochM < StochS && StochM > StochS

这是一个明显无法满足的条件吗?你需要计算第一条和第二条的随机值。

 double StochM1 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 1);
 double StochS1 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 1);
 double StochM2 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 2);
 double StochS2 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 2);

if( StochM1 < StochS1 && StochM2 > StochS2 ...
 

如果你不介意的话,我想再澄清一件事。我明白我在随机指标上的错误,但其他指标呢?使用包络和抛物线时没有错误?我应该有一些))。请看一下开场和结尾。

谢谢你提供最新的 MT5 版本 ,我已经下载了它

 

这里有人就问如何改变文本的内容。我在回答的时候,帖子消失了。以防有人需要它。

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){

   ObjectCreate("1",OBJ_TEXT,0,Time[0],Open[0]);
   ObjectSet("1",OBJPROP_FONTSIZE,16);
   ObjectSet("1",OBJPROP_COLOR,Red);
   if(!ObjectSetText("1","Пример создания нового текста",16,"Verdana",Red)){
    Alert("Ошибка № ",GetLastError()," при изменении описания текста");
   }

  return(0);
}
//+------------------------------------------------------------------+ 
 

我没有收到短信...

ObjectSetText(name,buf1[i]/buf2[i]*100,6,"Arial",C'0,33,0');
ошибка 4062
 
eddy:

我没有收到短信...


buf1[i]/buf2[i]*100 - 这个函数的第二个参数应该是字符串。在此读取参数-bool ObjectSetText(string name,string text,int font_size,string font_name=NULL,color text_color=CLR_NONE)
 
除了写字符串text=int_peremennaya之外,我如何将一个int变成一个字符串呢?