就是这样......我的锅沸腾了....。
如果你从这段代码中去掉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);} }
lottamer:
就是这样......我的锅沸腾了....。
如果你从这段代码中去掉MEDIUM检查,线条就会开始清晰地绘制。
如果你把它恢复到原来的样子......EA根本就没有画出任何东西。
谁看到了错误?或原因?请告诉我。
编译器没有显示错误
显示SetVLine()。
rigonich:
显示SetVLine()。
显示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!
你在哪里检查,在演示中还是在测试器中?
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432
(上一部分在此)
你好,你能否建议在mql4中设置一个函数,在几个未平仓的买入头寸中,从最低价格开始,计算指定的手数(总和),并输出低于这个手数的价格。订单是市场订单。也是一样,但要卖掉。
要说明的是,所有的订单都有不同的手数。只要 "手数之和<=sum "的条件为真,该函数将订单按递增的OrderOpenPrice加总。