研究这个简短的代码,它可能会帮助你。一切都在Canvas中实现。
Canvas的好处是,对于MT4和MT5来说,代码几乎相同。
你好,亲爱的程序员们!
请给出您的最佳建议。
...
谢谢你))。
在画布上画画。
![Документация по MQL5: Стандартная библиотека / Пользовательская графика / CCanvas Документация по MQL5: Стандартная библиотека / Пользовательская графика / CCanvas](https://c.mql5.com/36/34/dokumentaciya-po-mql5-standartnaya.png)
- www.mql5.com
你的想法是正确的。
//подсчитывает количество пунктов цены в одном пикселе double GetPointsInPixel(long eChartId, int eWindow) { double eMin=EMPTY_VALUE; ChartGetDouble(eChartId,CHART_PRICE_MIN,eWindow,eMin); if(eMin==EMPTY_VALUE) return(0); double eMax=EMPTY_VALUE; ChartGetDouble(eChartId,CHART_PRICE_MAX,eWindow,eMax); if(eMax==EMPTY_VALUE) return(0); long ePixels=-1; ChartGetInteger(eChartId,CHART_HEIGHT_IN_PIXELS,eWindow,ePixels); if(ePixels<=0) return(0); return(double(eMax-eMin)/ePixels); }
double eIndent=GetPointsInPixel(eChartId,eWindow);
然后在事件发生变化时,在所需的价格上增加或减去这个值。
-时间框架的改变。
-一个图表的增加/减少。
-价格表的缩减。
研究这个简短的代码,它可能会帮助你。一切都在Canvas中实现。
Canvas的好处是,对于MT4和MT5,代码几乎相同。
好的,谢谢你 )
哎呀...尼古拉打败了我......。
...))))))最主要的是,思想是一样的))))。
谢谢 )))))
你的想法是正确的。
double eIndent=GetPointsInPixel(eChartId,eWindow);
然后在事件发生变化时,在所需的价格上增加或减去这个值。
-时间框架的改变。
-一个图表的增加/减少。
-价格表的缩水/缩水。
谢谢你 ))))))))
Vitaliy Kostrubko:
你的想法是正确的。
double eIndent=GetPointsInPixel(eChartId,eWindow);
然后在事件发生变化时,在所需的价格上增加或减去这个值。
-时间框架的改变。
-一个图表的增加/减少。
-价格表的缩水/缩水。
谢谢你 ))))))))
并告诉那个可怜的顾问,他需要开始学习语言,而不是学习****coders的例子。
并告诉那个可怜的顾问,他需要开始学习语言,而不是学习****coders的例子。
复制 )))))
...时间表明,即使有10年的各种EA(不同复杂程度)的编程经验==也不足以了解整个编码领域)
因为在这10年中,你可以在2/3的编程语言中成为超级专业人员。而且根本不知道其中的1/3))
所以不必冒犯))。但能否掌握这1/3的部分取决于你自己==这是个人问题)。
....他只是对 "能带来利润的狡猾的算法 "更感兴趣。写 "漫画 "并不是他的兴趣所在......
但你的例子我肯定会给他看))。
谢谢 ))))
拿去吧 )))))
...时间表明,即使有10年的各种EA(不同复杂程度)的编程经验,==也不足以了解TOTAL编码领域)
因为在这10年中,你可以在2/3的编程语言中成为超级专业人员。而且根本不知道其中的1/3))
所以不必冒犯))。但能否掌握这1/3的部分取决于你自己==这是个人的事))。
....他只是对 "能带来利润的狡猾的算法 "更感兴趣。和 "卡通 "不是他的兴趣......
但你的例子我肯定会给他看))。
谢谢 ))))
你不需要提到我。这个选项,虽然我使用了它,但我没有说出它。我只是支持我的同名者的意见。
亲爱的程序员们,你们好!
请给出您的建议。
我们制作一个指标形式的专家顾问!它的任务是--在图表上搜索一个PATTERN,并在条形图上写上文本(多行(!),如
第1行 "信号名称"
第2行 "%的概率"
3号线 "图标"(箭头)。
问题是,如果你设置了一个固定的线间距离=比如说。25点,在M5上一切正常 ...但在H1=上,行距太远(这就是固定文本的问题(!!)。
请教--如何才能在TF变化时 "自动计算 "线与线之间的距离,或在图形稍微向左移动时 "自动计算 "图形的 "高度",或按高度计算(????!!)。
.....,我只想到了一件事。
1) "获得 "当前的图表高度(最低和最高价格)。
2) 最高价-最低价="图表高度(点)",我们总是把它当作100%。
3) 代替 "线条之间的固定距离(25点)--以百分比指定距离(例如,从第2点开始的图表高度的2%)。
..... 和一个程序员谈过 - 他说 == 不要移动物体 ...好吧,你不能在翻转图表后....... ==重新定位多行文本,使其不会相互重叠 ==你必须在翻转图表后删除所有文本 ==删除所有文本,并重新写,考虑到图表的新高度(第2点)(!)。
.....,然后我一直在思考==好吧,如果==只在SCREEN GUIDE中做画呢??
它说=好的,新的信号将被写入正确的,但那些被留下的= = =或再次适合于彼此的顶部,或反之=伸展得更宽(彼此上下),因为 "你不能移动已经绘制的对象,但只需要删除它们,然后重新绘制(!)。
向您提问= 是否有人已经遇到过这样的情况 ??????? 如何解决这个问题?)))
(这样,在图表的任何比例和高度上=多行文字都会恢复到正常的行距(如果用尺子目测==3毫米的目测)......。即行距应该是动态的) ?????)))))))))
我只是不想把整个铭文写成一行,而且是45°的角度(!),因为从视觉上来说,把文字做成横向的,而且是2-3行,更方便。)
请告知(分享您的经验)。
谢谢))。