//--------------------------------------------------------------------// separatewindow.mq4 // Предназначен для использования в качестве примера в учебнике MQL4.//--------------------------------------------------------------------#property indicator_chart_window // Индик. рисуется в основном окне#property indicator_buffers 1// Количество буферов#property indicator_color1 Blue // Цвет первой линии#property indicator_color2 Red // Цвет второй линииexternint History =1000000; // Колич.баров в расчётной историиexternint Aver_Bars=1000000; // Количество баров для расчётаdouble Buf_0[]; // Открытие индикаторного массива//--------------------------------------------------------------------int init() // Специальная функция init()
{
SetIndexBuffer(0,Buf_0); // Назначение массива буферуSetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линииreturn; // Выход из спец. ф-ии init()
}
//--------------------------------------------------------------------int start() // Специальная функция start()
{
int i, // Индекс бара
n, // Формальный параметр
Counted_bars; // Количество просчитанных баров double
Sum_H, // Сумма значений High за переиод
Sum_L; // Сумма значений Low за переиод//--------------------------------------------------------------------
Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars-1; // Индекс первого непосчитанногоif (i>History-1) // Если много баров то ..
i=History-1; // ..рассчитывать заданное колич.while(i>=0) // Цикл по непосчитанным барам
{
Sum_H=0; // Обнуление в начале цикла
Sum_L=0; // Обнуление в начале циклаfor(n=i;n<=i+Aver_Bars-1;n++) // Цикл суммирования значений
{
Sum_H=Sum_H + High[n]; // Накопление суммы макс.значений
Sum_L=Sum_L + Low[n]; // Накопление суммы мин. значений
}
Buf_0[i]=(Sum_H-Sum_L)/Aver_Bars;// Знач. 0 буфера на i-ом баре
i--; // Расчёт индекса следующего бара
}
//--------------------------------------------------------------------return; // Выход из спец. ф-ии start()
}
//--------------------------------------------------------------------
int poz=OrdersTotal();
for (n=0;n<poz;n++){
if (OrderSelect(n,SELECT_BY_POS,MODE_TRADES)==true){
if (OrderType()==OP_BUY){
Prise2=Bid-OrderOpenPrice();
if(Prise2>(25*Point)){
OrderModify(OrderTicket(),0,OrderOpenPrice(),OrderTakeProfit(),0,Blue);}
if(Prise>Prise3){
Prise3=(OrderOpenPrice()+(35*Point));
SL2=OrderOpenPrice()+(10*Point);
OrderModify(OrderTicket(),0,SL2,OrderTakeProfit(),0,Blue);}}
在我的记忆中,可以写零除法。但这是由于某些参数没有被重新计算的事实。换句话说,EA根本无法正确启动,因为它是在工作会议开始之前启动的。
当然,这些复选框已被删除。
你好,亲爱的mql人。我的第一个代码问题来了。
它是一个趋势指标。该任务是一个趋势指标,其坐标是第1条线=上一天和前一天的最大值,第2条线=上一天和前一天的最小值。
这将是确定的,但当你切换到较低的时间框架时,坐标是紧紧抓住一天的开始,虽然在相应的价格水平....而这句话的意义就完全消失了。
当创建一个 趋势线对象 时,数据时间 参数要受到责备。我想不出怎么去找它。有必要计算出价格极值的形成时间。看来,这些信息
看来,这些信息被嵌入到1分钟的时间框架中。如何确定时间框架变化时的日期时间,以便重新绘制趋势,并将坐标附加到与极值对应的条形上。
不幸的是,在搜索中没有发现任何关于这个问题的结果。我很乐意征求意见。
我需要通过MA查看该工具整个历史上的价格行为,但在图表中插入该指标时却没有绘制。
问题是什么?
当编译=0和0时。
顺便说一句--MT4终端挂掉了!
我正在编写一个EA,进一步将止损点转移到盈亏平衡点并增加盈亏平衡点。一切似乎都在工作,但只有一个问题。当价格移动到盈亏平衡点或突破点时,止损点已经跳了出来。我无法解决这个问题。
谁知道,请帮助我。
以下是代码。
我正在编写一个EA,进一步将止损点转移到盈亏平衡点并增加盈亏平衡点。一切似乎都在工作,但只有一个问题。当价格移动到盈亏平衡点或突破点时,止损点已经跳了出来。我无法解决这个问题。
谁知道,请帮助我。
以下是代码。
也许是托架的问题?
哪些人?如果它是在为之后,那么它就不是全部的部分。我刚刚展示了购买的代码,但也有一个出售的代码。
请帮助,订单应在从高价到订单开价的4倍距离处关闭。
我哪里搞砸了?
所有的订单都在开盘后3个点内关闭
请帮助,订单应在从高价到订单开价的4倍距离处关闭。
我哪里搞砸了?
这里
显而易见的船长......谁能给我一个提示?