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

 

(上一部分在此)


你好,你能否建议在mql4中设置一个函数,在几个未平仓的买入头寸中,从最低价格开始,计算指定的手数(总和),并输出低于这个手数的价格。订单是市场订单。也是一样,但要卖掉。

要说明的是,所有的订单都有不同的手数。只要 "手数之和<=sum "的条件为真,该函数将订单按递增的OrderOpenPrice加总。

 
pechenuga:

(前面的部分在此)


你好,你能否建议在mql4中设置一个函数,在几个未平仓的买入头寸中,从最低价格开始,计算指定的手数(总和),并输出低于这个手数的价格。订单是市场订单。也是一样,但要卖掉。

要说明的是,所有的订单都有不同的手数。只要 "手数之和<=sum "的条件正确,该函数将订单按升序排列加总。


该函数应该返回什么,是总手数,还是总手数与给定手数之差,还是根据实际值高于或低于给定值的假-真?

更准确地说,我们说的是什么价格,如果成交量高于或等于指定的价格,那么最后一个订单的开盘价?

 

就是这样......我的锅沸腾了....。

如果你从这段代码中去掉MEDIUM检查,线条就会开始清晰地绘制。

如果你把它恢复到原来的样子......EA根本就没有画出任何东西。

谁看到了错误?或原因?请告诉我。

编译器没有显示错误

Ma_1=iMA(NULL,PERIOD_H1,30,0,MODE_SMA,PRICE_CLOSE,1) ; 
Ma_2=iMA(NULL,PERIOD_H1,60,0,MODE_SMA,PRICE_CLOSE,1);

if ( Hour()>=10 && Hour()<20) 
   {  
      if 
        ( Ma_1>Ma_2)         
              
 { SetVLine(Blue, "", 0, 0, 1);} 

}
 
请告知哪种专家顾问最适合用于可视化交易。同样,最好是能够同时使用不同的TFs。我想同时使用这两样东西,谢谢你
 
lottamer:

就是这样......我的锅沸腾了....。

如果你从这段代码中去掉MEDIUM检查,线条就会开始清晰地绘制。

如果你把它恢复到原来的样子......EA根本就没有画出任何东西。

谁看到了错误?或原因?请告诉我。

编译器没有显示错误


显示SetVLine()。
 
rigonich:

显示SetVLine()。

//==========================
//+----------------------------------------------------------------------------+
//| Author : Kim Igor V. aka KimIV, http://www.kimiv.ru |。
//+----------------------------------------------------------------------------+
//| 版本号 : 02.07.2008||
//| 说明:设置对象OBJ_VLINE 的垂直线。
//+----------------------------------------------------------------------------+
//| 参数。|
//| cl - 线条颜色|
//| nm - 名称("" - 当前条形图的开盘时间)|
//| t1 - 时间 (0 - 当前柱状体的开盘时间) ||
//| st - 线条风格(0 - 简单线条)|
//| wd - 线条宽度(1 - 默认)|
//+----------------------------------------------------------------------------+
void SetVLine(color cl, string nm="", datetime t1=0, int st=0, int wd=1) {
如果(nm=="")nm=DoubleToStr(Time[0], 0);
如果(t1<=0)t1=Time[0];
如果(ObjectFind(nm)<0)ObjectCreate(nm, OBJ_VLINE, 0, 0,0;)
ObjectSet(nm, OBJPROP_TIME1, t1)。
ObjectSet(nm, OBJPROP_COLOR, cl)。
ObjectSet(nm, OBJPROP_STYLE, st)。
ObjectSet(nm, OBJPROP_WIDTH, wd)。
}
 
rigonich:


该函数应该返回总手数、总手数与指定手数的差值,还是假-真,取决于实际值是高于还是低于指定值?

更准确地说,我们谈论的是什么价格,如果成交量大于或等于某一特定量,那么最后一笔订单的开盘价?

该函数应返回所需手数的订单位于其下方的价格。也就是说,只要手数大于 "sum",函数就会返回该最后一笔订单的价格。
 
lottamer:

Ma_1=iMA(NULL,PERIOD_H1,30,0,MODE_SMA,PRICE_CLOSE,1) ; 
Ma_2=iMA(NULL,PERIOD_H1,60,0,MODE_SMA,PRICE_CLOSE,1);
if(TimeHour(iTime(Symbol(),0,0))>10&&TimeHour(iTime(Symbol(),0,0))<20)
   {
   if(Ma_1>Ma_2)SetVLine(Blue, "", 0, 0, 1);
}  
 
rigonich:



你的代码不起作用!!。:)))))))))))))))),没有划线。

而时间与此无关。时间是正确的,我是在打印 时输出的...

如果不与平均数比较,而把与随机指标比较--一切都清楚地画出来了。

Stoch_1=iStochastic(NULL,PERIOD_M5,5,3,3,MODE_SMA,0,MODE_MAIN,1); 
Stoch_2=iStochastic(NULL,PERIOD_M5,5,3,3,MODE_SMA,0,MODE_SIGNAL,1);


if ( Hour()>=10 && Hour()<20)  
// if ( Ma_1>Ma_2)          // убрал средние
//    {
                      
         if (Stoch_1>Stoch_2)
 { SetVLine(Blue, "", 0, 0, 1);}   
 

看起来里戈尼奇 也在沸腾 :))))

为了确定,我从另一个工作的EA复制了所有的组件......

没有抽到!

将 "抽签 "改为 "买卖"。

不起作用!

它看起来像神奇的BLEEP!

打印出来的平均数都显示为134,而它们的周期却相差20倍(!)!。

 
lottamer:

看起来里戈尼奇 也在沸腾 :))))

为了确定,我从另一个工作的EA中复制了所有的组件......

没有抽到!

将 "抽签 "改为 "买卖"。

它不会工作!

它看起来像神奇的BLEEP!


你在哪里检查,在演示中还是在测试器中?