void VirtualTral(int Dist_Tral,int Start_Tral,int Magic,int SL)\\здесь у тебя SL - целая, не знаю, какое значение ты сюда посылаешь
{
double dist=Dist_Tral;
double start=Start_Tral;
double sl=SL;//здесь уже дробная, но так как до этого была целая, значит....
if(OrdersTotal()<=0)
ObjectDelete("Stop");
int i, k=OrdersTotal();
for (i=k-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (Bid-NormalizeDouble(OrderOpenPrice(),Digits)>NormalizeDouble(start*Point,Digits))
{
if((NormalizeDouble(Bid-sl*Point,Digits))>(NormalizeDouble(dist*Point,Digits)))//здесь sl подразумевается как отступ от цены, тогда dist должна быть ценой
{
sl=NormalizeDouble(Bid-dist*Point,Digits); //а здесь sl - это уже цена, вполне определенная
//Print(+dist);
//Print(+sl);
ObjectCreate("Stop",OBJ_HLINE,0,D'2013.02.20 12:30',sl); // и здесь, это определенное значение цены
ObjectSet("Stop",OBJPROP_STYLE,1);
ObjectMove("Stop",0,D'2013.02.20 12:30',sl);
即使这样也不关闭订单,我不喜欢它。 这似乎都是我的错,由于没有经验,我无法找到这些错。
我无法掌握它。好吧,我已经找到了一个替代品。:)让MTS在没有SL和TP的情况下进行交易,但如果潜在利润大于X,则全部关闭。有可能以这种方式关闭订单吗? 我们必须以这种方式记录订单吗?
该函数是分数,还是不应该是分数?
新年快乐!喝一杯吧,不要紧张!!!!!!!!!!!!!!!!!!:-)
即使这样也不关闭订单,我不喜欢它。
这似乎是我的缺点,由于经验不足,我无法找到这些缺点。
大师,你要去哪里......?...:-))你是不是疯了......。
有很多人在祈祷,他们不知道该去哪里,而他的脚却不听使唤。:-)))
该函数是分数,还是不应该是分数?
因为我计算出价和报价之间的差额,并将这个差额与距离进行比较,如果它更多,就有必要拉高止损,我不明白到底哪里出了问题?
让我们用数字来做
如果((normalizeDouble(Bid-sl*Point,Digits))>(normalizeDouble(dist*Point,Digits))
假设出价是1.3333,sl是100,dist是20,那么
1.3333-100 * 0.0001=1.3233,总比20 * 0.0001=0.02要多。
我有一个更蹩脚的关于可用性的问题。图表可以向左和向右滚动,也可以挤压和拉伸。但我如何向上和向下滚动?
我已经明白了,用 ,图表可以用鼠标上下拖动。
感谢你的帮助,亲爱的交易员--程序员。:)
请告知如何在MQL4中计算百分比
例如,x=10+3%,如何用程序写?
我在参考书中找不到它。