新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1107

 
Igor Makanu:

你不能在OnInit中执行很长的东西--终端可能会卸载代码。

在指标中不能运行滑移

是的,我是哑巴...也许,与其在OnInit中进行无限循环,不如从OnCalculate中以相同条件返回?- 当没有登录时,应该有一个明确的数字,要么是-1,要么是0,要么是EMPTY_VALUE

 

问候交易者和程序员们!

请告诉我是否可以使用非标准的方法来计算 MA(移动平均)的周期?我的意思是,MA在当前(零)条上的位置不会由过去的 20条(例如)决定,而是由过去100条中的每5条决定,或者只是通过指定历史上的条数,从当前条数开始。而且,如果有这种可能性,是否有可能在指标代码中直接指定该功能?

谢谢你提供的信息。

 

你好。如何向下和向上显示三角形符号?

以下是代码

bool OutText(const string name="Label",

const string text="Label", // text

const int x=0, // X坐标

const int y=0, //沿Y轴的坐标。

const color clr=clrYellow, // 颜色

const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // 锚定方法

const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, //锚点的图表角

const int font_size=12, // 字体大小

const string font="Arial", // 字体

const double angle=0.0, // text slope

const bool back=false, // back

const bool selection=false, //选择移动。

const bool hidden=true, // 隐藏在对象列表中。

const long z_order=0。

const int sub_window=0, // 子窗口的数量

const long chart_ID=0 // 图表ID

) // 点击优先级

{

//---重置错误值

ResetLastError()。

//---创建一个文本标记

如果(ObjectFind(chart_ID,name)==-1)

{

if(!ObjectCreate(chart_ID,name,OBJ_LABEL,sub_window,0,0))

{

Print(__FUNCTION__, ": 创建文本标签失败!错误代码=",GetLastError())。

// return(false)。

}

}

//-----------------设置标记坐标

ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x)。

ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y)。

//----设置图表角度,相对于这个角度将确定点的坐标

ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner)。

//-- 设置文本

ObjectSetString(chart_ID,name,OBJPROP_TEXT,text)。

//---- 设置文本字体

ObjectSetString(chart_ID,name,OBJPROP_FONT,字体)。

//---设置字体大小

ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size)。

//----设置文本的斜率角度

ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,角度)。

//----设置锚定方法

ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor)。

//-- 设置颜色

ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr)。

//----在前台(假)或后台(真)显示

ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back)。

//---开启(真)或关闭(假)用鼠标移动标记的模式。

ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection)。

ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection)。

//---在对象列表中隐藏(真)或显示(假)图形对象名称

ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden)。

//------设置鼠标点击接收事件的优先级

ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order)。

//----成功执行

return(true)。

}

我怎样才能把三角形的符号弄上去?

应该写什么

OutText("LabelBuy1", ">", 100, 20, clrWhite, ANCHOR_UPPER,CORNER_LEFT_UPPER,14, "Arial")。

要做一个三角形?

1



Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Все объекты, используемые в техническом анализе, имеют привязку на графиках по координатам цены и времени – трендовая линия, каналы, инструменты Фибоначчи и т.д.  Но есть ряд вспомогательных объектов, предназначенных для улучшения интерфейса, которые имеют привязку к видимой всегда части графика (основное окно графика или подокна индикаторов...
 

早些时候,我提出了如何在库侧模拟Print()函数以检查进入库函数的数据并搜索错误的 问题,有人建议我使用C++资源:即从dll库侧将信息录入文件。一般来说,库不能创建一个文件来写入信息,文件既不在项目目录下创建,也不在机器人的文件夹下创建,试图指定默认路径也不起作用,通过cout输出信息也不起作用,但可能因为它不完全是一个控制台应用程序而不能。谁能提供建议?

#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <fstream>//подключаю библиотеку для записи в файл

/*using std::cout;
using std::endl;
using std::cin;*/

using namespace std;

#define _DLLAPI extern "C" __declspec(dllexport)

_DLLAPI int __stdcall Funkt(int qa){//"C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt"
        ofstream file;//"C:\\Users\\123\\Documents\\Visual Studio 2012\\Projects\\ConsoleApplication8\\ConsoleApplication8\\Moyperviyzapisfiles.txt"
        //"C:\\Users\\123\\documents\\visual studio 2012\\Projects\\ConsoleApplication8\\Debug\\ConsoleApplication8.dll\\Moyperviyzapisfiles.txt"
        file.open("C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt"/*,ios::out*/);//Moy perviy zapis files
        file<<"Moyperviyzapisfiles";//хочу записать эту фразу в файл
        file.close();   
        return 12;}
//если это делать не в библиотеке то работает.
 

如何将描述中的标准图片替换成...


...我可以放我自己的吗?


 
Alexandr Sokolov:

如何将描述中的标准图片替换成...


...我可以放我自己的吗?


#属性图标
 
Artyom Trishkin:
#属性图标

多么简单啊...谢谢你!

 

你好!

请告诉我如何实现对图表上手动绘制的图形对象(例如水平线趋势线)的检测,然后检索其属性(正确时间的价格水平)?

 
odyn:

你好!

请告诉我如何实现对图表上手动绘制的图形对象(例如水平线趋势线)的检测,然后检索其属性(正确时间的价格水平)?

如果图表上的对象数量增加了,那么...
 
odyn:

你好!

请告诉我如何实现对图表上手动绘制的图形对象(例如水平线趋势线)的检测,然后检索其属性(正确时间的价格水平)?

它们有一个标准化的前缀,例如:Trenler号码。你可以这样搜索:在循环中如果(StringFind(ObjectName(0,i), "Trendline")==0)为旧的或为新的如果(StringFind(sparam, "Trendline")==0)

原因: