//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
datetime LeftTime ,RighTime ;
double LeftPrice,RighPrice ;
MqlRates price[];
CopyRates(Symbol(),0,0,10,price);
ArraySetAsSeries(price,true);
LeftTime=price[9].time ;
LeftPrice=price[9].open ;
RighTime=price[0].time ;
RighPrice=price[0].open ;
Visual_v("EURUSD",LeftPrice,LeftTime,OBJ_ARROW_LEFT_PRICE,clrBlue) ;
Visual_v("EURUSD",RighPrice,RighTime,OBJ_ARROW_RIGHT_PRICE,clrBlue,LeftPrice,LeftTime);
}
//+------------------------------------------------------------------+void Visual_v(string InstrVis,double price_vis,datetime time_vis,int kodmet_vis,color color_vis,double BegLeftPrice=0,datetime BegLeftTime=0)
{//InstrVis инструмент на котором рисуются метки// price_vis цена на которой будет установлена метка // time_vis время цены открытия бара на котором будет установлена метка// kodmet_vis код метки если код==SYMBOL_RIGHTPRICE то позиция закрывается необходимо прорисовать// траекторию движения позиции в виде линии от цены открытия // BegLeftPrice цена от которой будет рисоваться линия // BegLeftTime время от которой будет рисоваться линия staticint CntMet=0 ;
long currChart,prevChart=ChartFirst();
int i ;
bool PresentChart=false ;
if(ChartSymbol(prevChart) == InstrVis) { PresentChart=true; currChart=prevChart;}// первый открытый график с нашим символом else
{//перебираем все открытые графикиfor(i=0;i<100;i++)
{
currChart=ChartNext(prevChart); // на основании предыдущего получим новый графикif(currChart<0) break; // достигли конца списка графиковif(ChartSymbol(currChart) == InstrVis)
{//нашли график с нашим символом
PresentChart=true ; break ;
}
prevChart=currChart ;// выбираем следующий график //Print(limit," Номер "," Финансовый инструмент ",ChartSymbol(currChart)," ID =",currChart);
}
} // нет окрытого графика с нашим символом некуда ставить метку if(!PresentChart){ Print(" Нет открытого графика с указанным инструментом ") ; return ;}
string NameMet ;
NameMet="Metka"+IntegerToString(CntMet);
switch(kodmet_vis)
{
case29 :// код левой ценовой метки
NameMet="Metka"+IntegerToString(CntMet);//имя ценовой меткиif (!ObjectCreate(currChart,NameMet,OBJ_ARROW_LEFT_PRICE,0,time_vis,price_vis));//создаем обьект метка
{ Print(" Ошибка создания обьекта ",GetLastError());
}
ObjectSetInteger(currChart,NameMet,OBJPROP_COLOR,color_vis);//рисуем метку выбранного цвета
CntMet++ ;
break;
case30://код правой ценовой метки
NameMet="Metka"+IntegerToString(CntMet);//имя ценовой меткиObjectCreate(currChart,NameMet,OBJ_ARROW_RIGHT_PRICE,0,time_vis,price_vis);//создаем обьект меткаObjectSetInteger(currChart,NameMet,OBJPROP_COLOR,color_vis);//рисуем метку выбранного цвета
CntMet++ ;
NameMet="Metka"+IntegerToString(CntMet);//имя линии траектория позицииObjectCreate(currChart,NameMet,OBJ_TREND,0,time_vis,price_vis,BegLeftTime,BegLeftPrice);//создаем обьект линия
CntMet++ ;
break;
default:
break;
}
}
当然,我可以做VPS或其他一些扭曲的东西,Quad已经设定了一个相当高的水平,如果我搬到其他地方也不会更糟(因为我可以在那里做得更容易)。然后,在我看来,平台应该是交易者的朋友,它是他的 "机器",现在人们不得不考虑如何绕过它,然后如何规避它。
我还没有遇到任何使用MT4并打算放弃它的经纪人。你有吗?
我已经试过了,但由于某些原因,超过一个月就不起作用了。测试停止,药剂被卸下。
这已经是服务台调查的一个原因。
你能不能把你的专家发给我们,并详细说明你是如何一步一步做的,以便我们能重现这个问题?经过研究,派出的专家将被无可挽回地抹去。
...如果他们在 "窗口 "菜单中也做一个标签,这样就可以级联地排列图表。这将更加方便。
虚惊一场。我有个毛病。很久没有使用视频展示台了。没有把指标正确地放在专家里。现在好了。我刚刚检查过。
如果他们在 "窗口 "菜单中也做一个标签,这样就可以级联地排列图表。这将更加方便。
我的意思是,我是否还应该派一个专家并让代理人卸货?
我应该把它寄给仆人吗?
下面是一个脚本,它应该输出所选字符的标签,不管它是在哪个字符上抛出的。 但是,它只在同一字符上抛出时输出标签。我需要一个提示。
下面是一个脚本,它应该输出所选字符的标签,不管它是在哪个字符上抛出的。 但是,它只在同一字符上抛出时输出标签。我需要一个提示。
对象被创建(出现在对象列表中)。问题可能是你希望它们出现在哪个坐标上。