В настройках трал 30. Значит показать линии на уровнях, где сработают тралы, и так все 7 линий: 30-60-90-120-150-180-210, типа прогрессии.
Прошли 30 и достигли линии, трал переводит стопы на уровень цены открытия, по достижении 60, переводит стопы на +30 от цены открытия, то есть на уровень, где срабатывал первый стоп и тд.
绘制(好吧,映射)"进展型水平,可能有一个止损 "水平,一般来说是很容易的。但它并不十分清楚为什么。
你有没有试着问过客户,他想要什么细节?
PS/而且,是的,我们必须采取 "创造性的暂停",我想客户会理解这种情况。
他考虑了一个多星期,已经决定了。
原本是不一样的,是交上去的,但停顿了一周后,他报告了创新。我理解任务已经完成,但离开客户的感觉是不对的,即使它不是最初TOR的一部分。
我的请求仍然有效!
他思考了一个多星期,就决定了。
原本是不一样的,那是交上去的,但停顿了一周后,他报告了创新。我理解任务已经完成,但不知为何,离开客户感觉不对,即使这不是最初ToR的一部分。
我的请求是有效的!
冷静下来的维塔利,要求什么?
没有代码,也没有任何地方可以进行编辑。而在这个问题上纠正自由职业者的顺序也不太正确。一般来说,双方都没有
void OnStopLoss() {
// some code placed here
}
是不太可能有帮助的。
冷静下来的维塔利,有什么要求?
要对EA进行编辑吗? 没有代码,也没有地方可以进行编辑。而在这个问题上纠正自由职业者的顺序也不太正确。一般来说,双方都没有
void OnStopLoss() {
// some code placed here
}
是很难有帮助的。
不是真正的EA,是一个单独的拖网,挂在一个图表上,并保持对所有符号的跟踪。
代码严重臃肿
上面有一个头寸和一个止损。
在设置中,拖网是30。因此,在拖网将触发的层面上显示线,因此所有7条线。30-60-90-120-150-180-210,像渐进式。
通过30并达到线,拖网将止损移至开盘价水平,达到60后,将止损移至开盘价的+30,即移至第一个止损触发的水平,等等。
我假设它想控制图表线,但这比较复杂,所以需要简化。
或者,在设置中放入7个级别的参数。
P.S. 对不起,回复太长了,当时正在失去网络。
7个参数不是一个选项)7个参数中的水平线的名称,它将绘制和命名。而我们应该从它们出发。而如果参数,价格运动的范围和水平的数量。计算和绘制。那么,当水平线触发时,它应该画出sl线,如果sl线与价格水平相吻合,它应该改变其颜色。
你需要一种算法,在计算的价格上画线。
当所有的职位被关闭时,它们应该被删除。
7个参数不是一个选项)7个参数中的水平线的名称,它将绘制和命名。而我们应该从他们身上跳舞。如果是参数,价格运动的范围和水平的数量。计算和绘制。那么,当水平线触发时,它应该画出sl线,如果sl线与价格水平相吻合,它应该改变其颜色。
澄清一下。
修改代码,画线,其他什么都不做。
谢谢你!
你的产品类别--专家,它的正确程序类型--专家" 但它是一个专家!我在哪里挖?我已经挣扎了2天了!
下午。好吧,你能给一个新手提供建议吗,我正试图向市场上传一个专家顾问。出现错误 "Error!装入错误的文件类型,.....ex4 - 脚本。
你的产品类别--专家,它的正确程序类型--专家" 但它是一个专家!我在哪里挖?我已经挣扎了2天了!
朝着标准处理者挖。
我肯定你那里是start(),而不是OnStart()。
你需要一种算法,在计算的价格上画线。
当所有的职位被关闭时,它们应该被删除。
double sumLots[2]=0,weight[2]=0;
for(int pos=OrdersTotal()-1;pos>=0;pos--) {
if (! OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) continue;
// тут всякие прочии фильтры
DrawOrderLevels(); // нарисовать уровни куда может перекатиться стоп-лосс конкретного ордера
// расчёт общих позиций
int type=OrderType();
sumLots[type]+=OrderLots();
weight[type]+=OrderLots()*OrderOpenPrice();
}
double avg[3]; // общии позиции
if (sumLots[OP_BUY]!=0) avg[OP_BUY]=weight[OP_BUY]/sumLots[OP_BUY];
if (sumLots[OP_SELL]!=0) avg[OP_SELL]=weight[OP_SELL]/sumLots[OP_SELL];
// совокупная позиция
int posType; // тип
double posPrice; // цена
double posLots; // объём
if (sumLots[OP_BUY]>sumLots[OP_SELL) { posType=OP_BUY; posPrice=avg[OP_BUY]; posLots=sumLots[OP_BUY]-sumLots[OP_SELL]; }
else { posType=OP_SELL; posPrice=avg[OP_SELL]; posLots=sumLots[OP_SELL]-sumLots[OP_BUY]; }
DrawPriceLevels(OP_BUY,avg[OP_BUY]); // нарисовать уровни суммарной позы в BUY
DrawPriceLevels(OP_SELL,avg[OP_SELL]); // нарисовать уровни суммарной позы в SELL
DrawPriceLevels(posType,posPrice); // уровни общей позиции
在水平层的名称中加入票号。有时(必要时)要检查--如果该票不在市场上,那么所有带有它的名字的级别都应该被删除。
朝着标准处理者挖。
我肯定你那里是start(),而不是OnStart()。