Этого индикатора есть некоторые проблемы при использованиии 4 значных котировок.在这一过程中,我们可以看到,在4个月的时间里,我们已经完成了对100个国家的调查,并对其进行了评估。签署协议后,我们将把我们自己的想法和建议传达给我们的客户,我们将把我们的想法和建议传达给客户。Еще не могу понять почему появляються черные гистограммы поверх при увеличении (
void DrawArrow(string name, int IdSymbol, int x, int y, int width, int corner, color clr) { ObjectCreate(0,name,OBJ_ARROW,0,0,0,0,0); ObjectSetInteger(0,name,OBJPROP_ARROWCODE,IdSymbol); ObjectSetInteger(0,name,OBJPROP_CORNER,corner); ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x); ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y); ObjectSetInteger(0, name, OBJPROP_COLOR, clr); ObjectSetInteger(0,name,OBJPROP_WIDTH,width); ChartRedraw(0); }
void DrawArrow(string name, int IdSymbol, int x, int y, int width, int corner, color clr) { ObjectCreate(0,name,OBJ_ARROW,0,0,0,0,0); ObjectSetInteger(0,name,OBJPROP_ARROWCODE,IdSymbol); ObjectSetInteger(0,name,OBJPROP_CORNER,corner); ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x); ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y); ObjectSetInteger(0, name, OBJPROP_COLOR, clr); ObjectSetInteger(0,name,OBJPROP_WIDTH,width); ChartRedraw(0); }
在这个指标中,使用4位数的报价时有一些问题。但这并不关键,问题是在4位数的刻度到100的水平,试图显示图片,在正确的时间是非常紧张的你的眼睛(几天后,是否作为一个线程,以改变规模到40的水平 - 这将是更好地看到直方图和右角的文字,将表明当前的值?
仔细研究一下,我们可以发现,在我们的网站上,有很多人都在讨论这个问题。
Этого индикатора есть некоторые проблемы при использованиии 4 значных котировок.在这一过程中,我们可以看到,在4个月的时间里,我们已经完成了对100个国家的调查,并对其进行了评估。签署协议后,我们将把我们自己的想法和建议传达给我们的客户,我们将把我们的想法和建议传达给客户。Еще не могу понять почему появляються черные гистограммы поверх при увеличении (
Mladen,
我在用MT5工作。
我有一个 "简单追踪功能",我需要将其转换为 "阶梯式追踪",你能给个建议吗?
在我的EA里有
===================
输入 "追踪"(按点)。
=> 例子。
跟踪:4000 (4点)
(旧方法)如果价格移动了4个点,则止损4个点。
但我需要修改为
===================
输入 "追踪(距离)",单位:点
输入 "跟踪(步数)",单位:点
=> 示例。
追踪距离: 4000 (4点)
拖曳步数 : 1500 (1,5 点)
(新方法)如果价格上涨4个点,止损1.5个点。
//| Simple Trailing function |
//+------------------------------------------------------------------+
void fSimpleTrailing(){
if(Trailing<=0){
return;
}
if(!Pos.Select(_Symbol)){
return;
}
if(!Sym.RefreshRates()){
return;
}
double nsl,tmsl,psl;
switch(Pos.PositionType()){
case POSITION_TYPE_BUY:
nsl=Sym.NormalizePrice(Sym.Bid()-_Point*Trailing);
if(nsl>=Sym.NormalizePrice(Pos.PriceOpen())){
if(nsl>Sym.NormalizePrice(Pos.StopLoss())){
tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
if(nsl<tmsl){
Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
}
}
}
break;
case POSITION_TYPE_SELL:
nsl=Sym.NormalizePrice(Sym.Ask()+_Point*Trailing);
if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())){
psl=Sym.NormalizePrice(Pos.StopLoss());
if(nsl<psl || psl==0){
tmsl=Sym.NormalizePrice(Sym.Ask()+_Point*Sym.StopsLevel());
if(nsl>tmsl){
Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
}
}
}
break;
}
}
这不就是重修者吗?
Mladen,
我在用MT5工作。
我有一个 "简单追踪功能",我需要将其转换为 "阶梯式追踪",你能给个建议吗?
在我的EA里有
===================
输入 "追踪"(按点)。
=> 例子。
尾随:4000(4点)
(旧方法)如果价格移动了4个点,则止损4个点。
但我需要修改为
===================
输入 "追踪(距离)",单位:点
输入 "跟踪(步数)",单位:点
=> 示例。
追踪距离: 4000 (4点)
拖曳步数 : 1500 (1,5 点)
(新方法)如果价格上涨4个点,止损1.5个点。
//| Simple Trailing function |
//+------------------------------------------------------------------+
void fSimpleTrailing(){
if(Trailing<=0){
return;
}
if(!Pos.Select(_Symbol)){
return;
}
if(!Sym.RefreshRates()){
return;
}
double nsl,tmsl,psl;
switch(Pos.PositionType()){
case POSITION_TYPE_BUY:
nsl=Sym.NormalizePrice(Sym.Bid()-_Point*Trailing);
if(nsl>=Sym.NormalizePrice(Pos.PriceOpen())){
if(nsl>Sym.NormalizePrice(Pos.StopLoss())){
tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
if(nsl<tmsl){
Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
}
}
}
break;
case POSITION_TYPE_SELL:
nsl=Sym.NormalizePrice(Sym.Ask()+_Point*Trailing);
if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())){
psl=Sym.NormalizePrice(Pos.StopLoss());
if(nsl<psl || psl==0){
tmsl=Sym.NormalizePrice(Sym.Ask()+_Point*Sym.StopsLevel());
if(nsl>tmsl){
Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
}
}
}
break;
}
}
如果价格移动比:什么?
在调用该函数 之前,你有
如果价格在 "增长",你就检查 "距离"(点数),如果符合 "距离",你就用步骤(点数)移动止损。
例如。
止损=8000
追踪距离=4000
追踪步数=2000
你在价格10000买入
现在的价格是14000(达到的追踪距离=4000),现在你需要把止损移到6000(8000-追踪步长)。
现在的价格是18000(达到的追踪距离目标=4000),现在你需要把止损移到2000(6000-追踪步数)。
现在价格是22000(达到的追踪距离目标=4000),现在你需要把止损移到 "入口 "+2000(2000-追踪步骤=-2000)。
现在价格是24000(达到追踪距离目标=4000),现在你需要把止损移到 "入口 "+6000(-2000-追踪步骤=6000)。
在调用该函数之前,你有
如果价格在 "增长",你就检查 "距离"(点数),如果符合 "距离",你就用步骤(点数)移动止损。
例如。
stoploss =8000
trailing distance = 4000
trailing step = 2000
你在价格10000买入
现在价格是14000(达到的追踪距离=4000),现在你需要将止损移动到6000(8000-追踪步长)
现在价格是18000(达到的追踪距离=4000),现在你需要将止损移动到2000(6000-追踪步长)
现在价格是22000(达到的追踪距离=4000),现在你需要将止损移动到 "入口 "+2000(2000-追踪步长=2000)
现在的价格是24000(达到追踪距离目标=4000),现在你需要把止损移到 "入口 "+6000(-2000-追踪步骤=-6000)。
你好。
我想写一个函数 来画一个箭头。我希望 这个箭头 是浮动的。有什么想法吗?)
void DrawArrow(string name, int IdSymbol, int x, int y, int width, int corner, color clr)
{
ObjectCreate(0,name,OBJ_ARROW,0,0,0,0,0);
ObjectSetInteger(0,name,OBJPROP_ARROWCODE,IdSymbol);
ObjectSetInteger(0,name,OBJPROP_CORNER,corner);
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(0, name, OBJPROP_COLOR, clr);
ObjectSetInteger(0,name,OBJPROP_WIDTH,width);
ChartRedraw(0);
}
是的,但是如果你没有记录它(因为它通常是止损或获利价格的情况:当它们被改变时,它们开始成为另一个改变的标准),你被迫在变量中记录它,这是不允许出错的。你所尝试的代码无法重复,或者你必须为每一种情况硬编码这些止损,这使得它无法用于任何与硬编码价格不完全相同的公开价格。
嗨,mladen。
这里是样本-EA
你好。
我想写一个函数来画一个箭头。我希望 这个箭头 是浮动的。有什么想法吗?)
void DrawArrow(string name, int IdSymbol, int x, int y, int width, int corner, color clr)
{
ObjectCreate(0,name,OBJ_ARROW,0,0,0,0,0);
ObjectSetInteger(0,name,OBJPROP_ARROWCODE,IdSymbol);
ObjectSetInteger(0,name,OBJPROP_CORNER,corner);
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(0, name, OBJPROP_COLOR, clr);
ObjectSetInteger(0,name,OBJPROP_WIDTH,width);
ChartRedraw(0);
}
浮动 "的箭头是什么意思?
PS:箭头对象 不使用x和y坐标或角落。它们使用的是时间和价格
嗨,Mladen先生
请为其制作MTF
注意