int start() //функция start
{ //начало startdouble Timestart=GetTickCount(); //переменная, с помощью которой вычисляется время (в милисекундах) начала выполнения эксперта string name="Копия Запись чисел в файл.csv"; //имя создаваемого файлаbool h; //переменная: значение функции FileIsEndingbool h_l; //переменная: значение функции FileIsLineEndingint error; //переменная: ошибкаint handle=FileOpen(name,FILE_CSV|FILE_WRITE,';'); //открываем заданный файл n записываем туда данныеint запись=FileWrite(handle,DoubleToStr(1.3584,4)); //записываем цены OHLC в файл csv (в преобразованном виде, т.е в виде текста)FileClose(handle); //закрываем файл//---------------------------------------------------------------------------------------- 2 -
handle=FileOpen(name,FILE_CSV|FILE_READ,';'); //открываем заданный файлint size=FileSize(handle); //вычисляем размер заданного файлаPrint("Размер файла ",name," составил ",size," байт");
for(int i=0;i<=size;i++)
{
GetLastError();
bool pos=FileSeek(handle,i,SEEK_SET); //смещаем от начала вправо указатель файлаint pos1=FileTell(handle);
double чтение=FileReadNumber(handle); //считываем число из текущей позиции (уже измененной функцией FileSeek) файлового указателя
h=FileIsEnding(handle); //устанавливаем текущее значение переменной h
h_l=FileIsLineEnding(handle); //устанавливаем текущее значение переменной h_l
error=GetLastError(); //значение ошибки, производимой функцией FileIsEndingif(error!=0)Alert("Текущая ошибка ",error); //если код текущей ошибки не равен 0, то получаем номер текущей ошибки//----------------------------------------------------------------------------------------- 3 -Print(" Функция FileSeek вернула: ",pos,
" Указатель находится в позиции - ",pos1,
" Функция FileReadNumber(handle) вернула: ",чтение);//печать сообщения
}
FileClose(handle); //закрываем файл//----------------------------------------------------------------------------------------- 4 -return(0); //выход из start
} //конец start//-------------------------------------- КОНЕЦ START -------------------------------------- 5 -
price1 = iMA(Symbol(),i_maTF,i_maPeriod,i_maShiftByPrice,i_maMethod,i_maPrice,i_shiftBarsBack1+i); // Цена в точке А
price2 = iMA(Symbol(),i_maTF,i_maPeriod,i_maShiftByPrice,i_maMethod,i_maPrice,i_shiftBarsBack2+i); // Цена в точке В
time1 = iTime(Symbol(),Period(),i_shiftBarsBack1 + i - 1); // Время в точке А
time2 = iTime(Symbol(),Period(),i_shiftBarsBack2 + i - 1); // Время в точке В
当然,我是在运营商内部得到这一切的。
for(i = limit - 1;i > 0;i--)
然后,我把价格和时间值转移到数组,以便进一步处理它们。
varsPrice1[i] = price1; // Массив цен в точке А
varsPrice2[i] = price2; // Массив цен в точке В
varsTime1[i] = time1; // Массив времени в точке А
varsTime2[i] = time2; // Массив времени в точке В
除了它不一定有效。我们需要检查停车和取车的尺寸,看它们是否被你的经纪公司的秒表所允许
非常感谢您!
需要允许EA进行交易)
大家好。
如果这个问题以前被提出过,请原谅,但我必须翻阅540页。
这就是问题所在。在MT4中,相同价格的订单重叠,只有一个订单是可见的。 在MT4中是否有任何设置,例如,图表上的两个订单并排显示,而不互相重叠。如果没有这样的设置,是否可以用这样的功能创建一个表格 或一个图表?
大家好。
如果这个问题以前被提出过,请原谅,但我必须翻阅540页。
这就是问题所在。在MT4中,相同价格的订单重叠,只有一个订单是可见的。 在MT4中是否有任何设置,例如,图表上的两个订单并排显示,而不互相重叠。如果没有这样的设置,是否可以用这样的功能创建一个表格或一个图表?
请帮助我--我正在写一个EA--我已经用代码作为底层。
如果(drawBacker){
for(int x=0;x<7;x++)
for(int y=0;y<29;y++)
{
ObjectCreate("A_Fon "+x+y,OBJ_LABEL,0,0,0)。
ObjectSet("A_Fon "+x+y, OBJPROP_CORNER, positionWindow); // positionWindow // Txt_Location
ObjectSet("A_Fon "+x+y,OBJPROP_XDISTANCE,x*20+5)。
ObjectSet("A_Fon "+x+y,OBJPROP_YDISTANCE,y*20+9)。
ObjectSetText("A_Fon "+x+y,CharToStr(110),26, "Wingdings",colorSubstrate);//Red)。
}
如果(drawWingdings==False)
{
for( int posp=1000;posp>0;posp--)
{
ObjectDelete("A_Fon "+posp)。
ObjectDelete("A_Fon0"+pospp)。
ObjectDelete("A_Fon00")。
}
}
}
结果,我得到了一个混乱的结果,因为有大量的对象被画在图表上。
请告诉我设置文本背景的正常代码。
下午好...关于FileIsEnding和FileIsLineEnding函数的问题。为了了解FileIsEnding和FileIsLineEnding函数是如何工作的,我写了以下脚本。
一个数字被写入文件后,如果你以十六进制的形式查看,会有以下条目
00000000: 31 2e 33 35 38 34 0d 0a | | 1.3584...
每个字母或数字需要1个字节或8个比特,最后两个字符被称为换行和回车,它们被自动添加,因此文件大小为8个字节而不是6个。
运行你稍作修改的脚本,注意光标是如何移动的(特意使枚举的内容大于文件的大小,这样你就可以看到错误发生的地方。
在调试指标 时,你需要在shifft上打印 出某些条形的价格和时间值的阵列。
当然,我是在运营商内部得到这一切的。
然后,我把价格和时间值转移到数组,以便进一步处理它们。
我试着在事后立即打印出我已经有的东西。
这就是印在 专家日志 中的内容。
这里我们可以清楚地看到,varsTime1[i] 和varsTime2[i] 的价格值和只是时间1 和时间2 的价格总是0。这有什么不对吗?
你应该给我们整个代码。你不想猜测你清楚的东西。
我明白,我不想猜测,但如果问题对你来说很清楚,你至少能给我一个提示吧?
伙计们,我有个问题--谁知道在哪个文件中存储了分配给 "热键 "的脚本?我想把这个文件与已经指定的 "热键 "一起保存起来,这样每次重新安装终端后,如果突然有这样的需要,就不用再指定这些键了......,而只需要把文件和所有东西都扔过去......。
提前感谢大家。
在调试指标时,你需要在shifft上打印 出某些条形的价格和时间值的阵列。
当然,所有这些我都是在运营商内部得到的。
然后,我把价格和时间值转移到数组,以便进一步处理它们。
我试着在事后立即打印出我已经有的东西。
这就是印在 专家日志 中的内容。
这里我们可以清楚地看到,varsTime1[i] 和varsTime2[i] 的价格值和只是时间1 和时间2 的价格总是0。怎么了?
i_maTF ==Period()??????。
i_maPeriod取一个合理的值?
那么,也许i_maShiftByPrice有什么问题呢?
很难说得更精确。
我明白,我不想猜测,但如果问题对你来说很清楚,你至少能给我一个提示吧?
给我所有的代码