Полезные функции 2 Функции совместимые с использованием в MT4 билд >= 562
Сообщений: 536
#41 - 25 декабря 2013 в 19:51
Назад
Пример
Индикатор
для билда от 562
[code=php]
//+------------------------------------------------------------------+
//| iStoh_test3.mq4 |
//| Copyright 2013, artamir |
//| http:\\forexmd.ucoz.org |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, artamir"
#property link "http:\\forexmd.ucoz.org"
#property indicator_separate_window
#property indicator_minimum 1
#property indicator_maximum 100
#property indicator_buffers 8
#property indicator_color1 LightGreen
#property indicator_color2 Red
#property indicator_color3 Yellow
#property indicator_color4 LightGreen
#property indicator_color5 Red
#property indicator_color6 Yellow
#include
#include
#include
#include
double M[];
double S[];
double A[];
double MH4[];
double SH4[];
double AH4[];
int Sth, Sth_h4;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
aSth_Init(); //инициализация массива,
Sth = aSth_set(); //предопределенные параметры на текущем тф
Sth_h4 = aSth_set(5,3,3,MODE_SMA,0,"",240);//Задаем значения для тф = H4(240 мин.)
//----
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,M);
SetIndexEmptyValue(0,0.0);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,S);
SetIndexEmptyValue(1,0.0);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,A);
SetIndexEmptyValue(2,0.0);
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,MH4);
SetIndexEmptyValue(3,0.0);
SetIndexStyle(4,DRAW_LINE);
SetIndexBuffer(4,SH4);
SetIndexEmptyValue(4,0.0);
SetIndexStyle(5,DRAW_LINE);
SetIndexBuffer(5,AH4);
SetIndexEmptyValue(5,0.0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int cb=IndicatorCounted();
int lim = Bars - cb;
if(lim<=0)lim++;
for(int i=lim; i>=0; i--){
M = iSth_get(Sth, MODE_MAIN, i);
S = iSth_get(Sth, MODE_SIGNAL, i);
A = iSth_get(Sth, ST_MODE_AVG, i);
MH4 = iSth_get(Sth_h4, MODE_MAIN, i);
SH4 = iSth_get(Sth_h4, MODE_SIGNAL, i);
AH4 = iSth_get(Sth_h4, ST_MODE_AVG, i);
}
//----
//----
return(0);
}
[/code]
Сообщений: 536
#42 - 26 февраля 2014 в 18:28
Начало
sysIndexedArray
Работа с индексированным двумерным массивом.
Версия:
3.1.0.18
Дата:
2014.02.28
void AId_Init2(double &a[][], int &aI[])
double AId_get2(double &a[][], int &aI[], int idx=0, int col=0)
double AId_Compare(double v1, double v2)
int AI_setInterval(int &aI[], int start_idx=0, int end_idx=-256)
void AI_Swap(int &aI[], int i=0, int j=0)
AId_QuickSort2(double &a[][], int &aI[], int idx_min=-1, int idx_max=-1, int col=0, int mode=0)
int AId_QuickSearch2(double &a[][], int &aI[], int col=0, double element=0.0, int mode=AI_EQ)
int AId_SearchFirst2(double &a[][], int &aI[], int col=0, double element=0.0)
int AId_SearchLast2(double &a[][], int &aI[], int col=0, double element=0.0)
int AId_SearchGreat2(double &a[][], int &aI[], int col=0, double element=0.0)
int AId_SearchLess2(double &a[][], int &aI[], int col=0, double element=0.0)
void AIF_init(void)
int AIF_addRow(void)
void AIF_filterAdd(int col, int aop=AI_EQ, double min=0, double max=0, int sop=AI_AND)
void AIF_filterAdd_AND(int col, int aop=AI_EQ, double min=0, double max=0)
void AId_Select2(double &a[][], int &aI[])
void AId_Print2(double &a[][], int &aI[], int d = 4, string fn = "AId_PrintArray_")
Пример использования библиотеки Редактировалось: 20 раз (Последний: 28 февраля 2014 в 20:28)
Сообщений: 536
#43 - 26 февраля 2014 в 18:34
Назад
AId_Init2
Инициализация массива индексов.
[code=php]
void AId_Init2(double &a[][], int &aI[]){
/**
\version 0.0.0.1
\date 2013.11.06
\author Morochin
Artiom
\details Инициализация массива индексов.
\internal
>Hist:
@0.0.0.1@2013.11.06@artamir [+]
>Rev:0
*/
ArrayResize(aI,ArrayRange(a,0));
for(int i=0; i aI=i;
}
}
[/code]
Сообщений: 536
#44 - 26 февраля 2014 в 18:40
Назад
AId_get2
Возвращает значение элемента исходного массива через индекс
[code=php]
double AId_get2(double &a[][], int &aI[], int idx=0, int col=0){
/**
\version 0.0.0.1
\date 2014.02.25
\author Morochin
Artiom
\details Возвращает значение элемента исходного массива через индекс
\internal
>Hist:
@0.0.0.1@2014.02.25@artamir [+]
>Rev:0
*/
string fn="AId_get2";
return(a[aI[idx]][col]);
}
[/code] Редактировалось: 1 раз (Последний: 26 февраля 2014 в 18:44)
Сообщений: 536
#45 - 26 февраля 2014 в 19:03
Назад
AId_Compare
Возвращает результат сравнения двух вещественных параметров.
[code=php]
double AId_Compare(double v1, double v2){
/**
\version 0.0.0.1
\date 2014.02.25
\author Morochin
Artiom
\details Возвращает результат сравнения двух вещественных параметров.
\internal
>Hist:
@0.0.0.1@2014.02.25@artamir [+] AId_Compare
>Rev:0
*/
string fn="AId_Compare";
if(MathAbs(v1-v2)<=0.00001)return(AI_EQ);
if(v1>v2)return(AI_GREAT);
return(AI_LESS);
}
[/code] Редактировалось: 1 раз (Последний: 26 февраля 2014 в 19:04)
Сообщений: 536
#46 - 26 февраля 2014 в 19:19
Назад
AI_setInterval
Обрезает индекс по интервалу.
[code=php]
int AI_setInterval(int &aI[], int start_idx=0, int end_idx=-256){
/**
\version 0.0.0.1
\date 2014.02.25
\author Morochin
Artiom
\details Обрезает индекс по интервалу.
\internal
>Hist:
@0.0.0.1@2014.02.25@artamir [+] AI_setInterval
>Rev:0
*/
string fn="AI_setInterval";
int aT[];
ArrayResize(aT,0);
if(start_idx==AI_EMPTY || end_idx==AI_EMPTY){
ArrayResize(aI,0);
return(0); //массив индексов обнуляется
}
int s=0,e=0,t=0;
if(start_idx==AI_WHOLEARRAY){
return(ArrayRange(aI,0)); //массив индексов не изменяется.
}
if(end_idx==AI_WHOLEARRAY){
e=ArrayRange(aI,0)-1;//самый большой индекс
}
int range=e-s+1;//количество элементов всего
ArrayResize(aT,range);
for(int i=0; i aT=aI[s+i];
}
ArrayResize(aI,range);
ArrayCopy(aI,aT,0,0,WHOLE_ARRAY);
return(range);
}
[/code]
Сообщений: 536
#47 - 26 февраля 2014 в 19:24
Назад
AI_Swap
Меняет местами два индекса
[code=php]
void AI_Swap(int &aI[], int i=0, int j=0){
/**
\version 0.0.0.1
\date 2014.02.25
\author Morochin
Artiom
\details Меняет местами два индекса
\internal
>Hist:
@0.0.0.1@2014.02.25@artamir [+] AI_Swap
>Rev:307
*/
string fn="AI_Swap";
int t=aI;
aI=aI[j];
aI[j]=t;
}
[/code]
Сообщений: 536
#48 - 26 февраля 2014 в 19:31
Назад
AId_QuickSort2
Алгоритм сортировки "быстрая сортировка". По умолчанию сортируется 0-я колонка по возрастанию.
[code=php]
void AId_QuickSort2(double &a[][], int &aI[], int idx_min=-1, int idx_max=-1, int col=0, int mode=0){
/**
\version 0.0.0.1
\date 2014.02.25
\author Morochin
Artiom
\details Алгоритм сортировки "быстрая сортировка". По умолчанию сортируется 0-я колонка
по возрастанию.
\internal
>Hist:
@0.0.0.1@2014.02.25@artamir [+] AId_QuickSort2
*/
static int count;
if(isNewQS)count=0;
count++;
maxQScount=MathMax(maxQScount,count);
string fn="Ad_QuickSort2";
if(ArrayRange(aI,0)<2){
return;
}
if(idx_min<0){idx_min=0;}
if(idx_max<0){idx_max=ArrayRange(aI,0)-1;}
int i=idx_min, j=idx_max;
int idx_pivot = MathRound((i+j)/2);
double pivot_value = (AId_get2(a,aI,i,col)+AId_get2(a,aI,j,col)+AId_get2(a,aI,idx_pivot,col))/3; //усредненное значение первого, последнего и среднего элемента массива.
while(i double vi=AId_get2(a,aI,i,col),vj=AId_get2(a,aI,j,col);
if(mode == AI_ASC){
while(AId_Compare(vi,pivot_value)==AI_LESS ){i++;}
while(AId_Compare(vj,pivot_value)==AI_GREAT){j--;}
}
if(mode == AI_DESC){
while(AId_Compare(vi,pivot_value)==AI_GREAT){i++;}
while(AId_Compare(vj,pivot_value)==AI_LESS ){j--;}
}
if(i AI_Swap(aI, i,j);i++;j--;
}
}
isNewQS=false;
if(i isNewQS=true;
isNewQS=false;
if(idx_min isNewQS=true;
}
[/code]
Сообщений: 536
#49 - 26 февраля 2014 в 19:38
Назад
AId_QuickSearch2
Быстрый поиск в отсортированном массиве. Элементы заданной колонки двумерного массива должны быть сортированы по возрастанию.
[code=php]
int AId_QuickSearch2(double &a[][], int &aI[], int col=0, double element=0.0, int mode=AI_EQ){
/**
\version 0.0.0.3
\date 2014.02.26
\author Morochin
Artiom
\details Быстрый поиск в отсортированном массиве.
\internal
>Hist:
@0.0.0.3@2014.02.26@artamir [+] Добавлен поиск любого меншего индекса.
@0.0.0.2@2014.02.26@artamir [+] Добавлен поиск любого большего индекса.
@0.0.0.1@2014.02.26@artamir [+] AId_QuickSearch2
>Rev:0
*/
string fn="AId_QuickSearch2";
int size=ArrayRange(aI,0);
if(size<=0)return(AI_NONE);
int l=0,r=size-1,m=l+(r-l)/2;
if(mode==AI_EQ){
while(l int c=AId_Compare(AId_get2(a,aI,m,col), element);
if(c==AI_GREAT){
r=m;
}else{
if(c==AI_LESS){
l=m+1;
}else{
l=m;
r=m;
}
}
m=l+(r-l)/2;
}
int c=AId_Compare(AId_get2(a,aI,r,col), element);
if(c==AI_EQ)return(r);
else return(AI_NONE);
}
if(mode==AI_GREAT){
while(l int c=AId_Compare(AId_get2(a,aI,m,col), element);
if(c==AI_GREAT){
r=m;
l=m;
}else{
l=m+1;
}
m=l+(r-l)/2;
}
int c=AId_Compare(AId_get2(a,aI,r,col), element);
if(c==AI_GREAT)return(r);
else return(AI_NONE);
}
if(mode==AI_LESS){
while(l int c=AId_Compare(AId_get2(a,aI,m,col), element);
if(c==AI_LESS){
r=m;
l=m;
}else{
r=m;
}
m=l+(r-l)/2;
}
int c=AId_Compare(AId_get2(a,aI,r,col), element);
if(c==AI_LESS)return(r);
else return(AI_NONE);
}
//------------------------------------------------
return(AI_NONE);
}
[/code]
Сообщений: 536
#50 - 26 февраля 2014 в 19:42
Назад
AId_SearchFirst2
Поиск элемента с минимальным индексом и заданным значением.
[code=php]
int AId_SearchFirst2(double &a[][], int &aI[], int col=0, double element=0.0){
/**
\version 0.0.0.1
\date 2014.02.26
\author Morochin
Artiom
\details Поиск самого первого совпадения.
\internal
>Hist:
@0.0.0.1@2014.02.26@artamir [] AId_SearchFirst2
>Rev:0
*/
string fn="AId_SearchFirst2";
int found_index=AId_QuickSearch2(a,aI,col,element,AI_EQ);
if(found_index==AI_NONE)return(AI_NONE);
int r=found_index;
while(r>=0&&AId_Compare(AId_get2(a,aI,r,col), element)==AI_EQ){
r--;
}
if(r<=-1)r=0;
while(AId_Compare(AId_get2(a,aI,r,col), element)!=AI_EQ){
r++;
}
return(r);
}
[/code]
Сообщений: 536
#51 - 26 февраля 2014 в 19:46
Назад
AId_SearchLast2
Поиск элемента с максимальным индексом и заданным значением.
Если в массиве есть элементы с одинаковым значением, то будет выбран элемент с максимальным индексом.
[code=php]
int AId_SearchLast2(double &a[][], int &aI[], int col=0, double element=0.0){
/**
\version 0.0.0.1
\date 2014.02.26
\author Morochin
Artiom
\details Поиск самого первого совпадения.
\internal
>Hist:
@0.0.0.1@2014.02.26@artamir [] AId_SearchLast2
>Rev:0
*/
string fn="AId_SearchLast2";
int found_index=AId_QuickSearch2(a,aI,col,element,AI_EQ);
if(found_index==AI_NONE)return(AI_NONE);
int size=ArrayRange(aI,0);
int l=found_index;
while(l l++;
}
if(l>=size)l=size-1;
while(l>=0&&AId_Compare(AId_get2(a,aI,l,col), element)!=AI_EQ){
l--;
}
return(l);
}
[/code]
Сообщений: 536
#52 - 26 февраля 2014 в 19:54
Назад
AId_SearchGreat2
Поиск минимального индекса элемента, значение которого больше заданного.
[code=php]
int AId_SearchGreat2(double &a[][], int &aI[], int col=0, double element=0.0){
/**
\version 0.0.0.1
\date 2014.02.26
\author Morochin
Artiom
\details Поиск первого сэлемента, большего чем заданный.
\internal
>Hist:
@0.0.0.1@2014.02.26@artamir [+] AId_SearchGreat2
>Rev:0
*/
string fn="AId_SearchGreat2";
int found_index=AId_QuickSearch2(a,aI,col,element,AI_GREAT);
if(found_index==AI_NONE)return(AI_NONE);
int r=found_index;
while(r>=0&&AId_Compare(AId_get2(a,aI,r,col), element)==AI_GREAT){
r--;
}
if(r<=-1)r=0;
while(AId_Compare(AId_get2(a,aI,r,col), element)!=AI_GREAT){
r++;
}
return(r);
}
[/code]
Сообщений: 536
#53 - 26 февраля 2014 в 19:58
Назад
AId_SearchLess2
Поиск максимального индекса элемента со значением менее заданного.
[code=php]
int AId_SearchLess2(double &a[][], int &aI[], int col=0, double element=0.0){
/**
\version 0.0.0.1
\date 2014.02.26
\author Morochin
Artiom
\details Поиск самого первого совпадения.
\internal
>Hist:
@0.0.0.1@2014.02.26@artamir [+] AId_SearchLess2
>Rev:0
*/
string fn="AId_SearchLess2";
int found_index=AId_QuickSearch2(a,aI,col,element,AI_LESS);
if(found_index==AI_NONE)return(AI_NONE);
int size=ArrayRange(aI,0);
int l=found_index;
while(l l++;
}
if(l>=size)l=size-1;
while(l>=0&&AId_Compare(AId_get2(a,aI,l,col), element)!=AI_LESS){
l--;
}
return(l);
}
[/code]
Сообщений: 536
#54 - 28 февраля 2014 в 20:01
Назад
AIF_init
Очищение массива-фильтров.
[code=php]
void AIF_init(void){
/**
\version 0.0.0.1
\date 2014.02.28
\author Morochin
Artiom
\details Очищение массива-фильтров.
\internal
>Hist:
@0.0.0.1@2014.02.28@artamir [+] AIF_init
>Rev:0
*/
ArrayResize(AIF_filter,0);
}
[/code]
Сообщений: 536
#55 - 28 февраля 2014 в 20:04
Назад
AIF_addRow
Добавление новой строки к массиву-фильтру. Изменение размерности массива-фильтров. Возвращает индекс созданной строки.
[code=php]
int AIF_addRow(void){
/**
\version 0.0.0.1
\date 2014.02.28
\author Morochin
Artiom
\details Добавление новой строки к массиву-фильтру. Изменение размерности массива-фильтров. Возвращает индекс созданной строки.
\internal
>Hist:
@0.0.0.1@2014.02.28@artamir [+] AIF_AddRow
>Rev:0
*/
string fn="AIF_addRow";
int t=ArrayRange(AIF_filter,0);
t++;
ArrayResize(AIF_filter,t);
t--;
return(t);
}
[/code]
Сообщений: 536
#56 - 28 февраля 2014 в 20:06
Назад
AIF_filterAdd
Добавляет в массив-фильтров новую строку с переданными параметрами.
[code=php]
void AIF_filterAdd(int col, int aop=AI_EQ, double min=0, double max=0, int sop=AI_AND){
/**
\version 0.0.0.1
\date 2014.02.28
\author Morochin
Artiom
\details Добавляет в массив-фильтров новую строку с переданными параметрами.
\internal
>Hist:
@0.0.0.1@2014.02.28@artamir [+] AIF_filterAdd
>Rev:0
*/
string fn="AIF_filterAdd";
int row=AIF_addRow();
AIF_filter[row][AIF_COL]=col;
AIF_filter[row][AIF_MIN]=min;
AIF_filter[row][AIF_MAX]=max;
AIF_filter[row][AIF_AOP]=aop;
AIF_filter[row][AIF_SOP]=sop;
}
[/code]
Сообщений: 536
#57 - 28 февраля 2014 в 20:08
Назад
AIF_filterAdd_AND
Добавляет к массиву фильтров строку с соединением AND
[code=php]
void AIF_filterAdd_AND(int col, int aop=AI_EQ, double min=0, double max=0){
/**
\version 0.0.0.1
\date 2014.02.28
\author Morochin
Artiom
\details Добавляет к массиву фильтров строку с соединением AND
\internal
>Hist:
@0.0.0.1@2014.02.28@artamir [+] AIF_filterAdd_AND
>Rev:0
*/
string fn="AIF_filterAdd_AND";
AIF_filterAdd(col, aop, min, max, AI_AND);
}
[/code]
Сообщений: 536
#58 - 28 февраля 2014 в 20:11
Назад
AId_Select2
Выборка из двумерного массива по заданному массив-фильтров. После выполнения остается отобранный массив индексов.
[code=php]
void AId_Select2(double &a[][], int &aI[]){
/**
\version 0.0.0.1
\date 2014.02.28
\author Morochin
Artiom
\details Выборка из двумерного массива по заданному массив-фильтров. После выполнения остается отобранный массив индексов.
\internal
>Hist:
@0.0.0.1@2014.02.28@artamir [+] AId_Select2
>Rev:0
*/
string fn="AId_Select2";
int filter_rows=ArrayRange(AIF_filter,0);
if(filter_rows<=0){
return; //Если массив-фильтров не задан, то выходим из процедуры.
}
for(int filter_idx=0; filter_idx int f_col=AIF_filter[filter_idx][AIF_COL];
int f_aop=AIF_filter[filter_idx][AIF_AOP];
double f_min=AIF_filter[filter_idx][AIF_MIN];
double f_max=AIF_filter[filter_idx][AIF_MAX];
//----------------------------------------------
//Далее отсортируем по возрастанию значение
//колонки f_col
AId_QuickSort2(a, aI, f_col);
int first=AI_NONE, last=AI_NONE;
if(f_aop==AI_EQ){
first=AId_SearchFirst2(a, aI, f_col, f_min);
last=AId_SearchLast2(a, aI, f_col, f_min);
}
if(f_aop==AI_GREAT){
first=AId_SearchGreat2(a,aI,f_col,f_min);
last=AI_WHOLEARRAY;
}
if(f_aop==AI_LESS){
first=0;
last=AId_SearchLess2(a,aI,f_col,f_min);
}
AI_setInterval(aI,first,last);
}
}
[/code]
Сообщений: 536
#59 - 28 февраля 2014 в 20:23
Назад
AId_Print2
Печать в файл двумерного массива согласно массиву-индексов.
[code=php]
void AId_Print2(double &a[][], int &aI[], int d = 4, string fn = "AId_PrintArray_"){
/**
\version 0.0.0.1
\date 2014.02.28
\author Morochin
Artiom
\details Печать в файл двумерного массива согласно массиву-индексов.
\internal
>Hist:
@0.0.0.1@2014.02.28@artamir [+] AId_Print2
>Rev:0
*/
static int i;
i++;
//------------------------------------------------------
int ROWS = ArrayRange(aI, 0);
int COLS = ArrayRange(a,1);
//------------------------------------------------------
fn = i+"_"+fn+".iar";
//------------------------------------------------------
int handle = FileOpen(fn, FILE_CSV|FILE_WRITE, "\t");
for(int idx_1 = 0; idx_1 < ROWS; idx_1++){
string s = "";
for(int idx_2 = 0; idx_2 < COLS; idx_2++){
s = StringConcatenate(s,"\t", "["+idx_1+","+aI[idx_1]+"]["+idx_2+"]",DoubleToStr(a[aI[idx_1]][idx_2], d));
}
FileWrite(handle, s);
}
if(handle != 0) FileClose(handle);
}
[/code]
Сообщений: 536
#60 - 28 февраля 2014 в 20:26
Назад
Пример
Пример использования библиотеки
sysIndexedArray.mqh
Данный пример реализован в виде скрипта.
Для билдов >=600
[code=php]
//+------------------------------------------------------------------+
//| sTest_sysIndexedArray.mq4 |
//| Copyright 2014, artamir |
//| http:\\forexmd.ucoz.org |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, artamir"
#property link "http:\\forexmd.ucoz.org"
#property version "1.00"
#property strict
#property stacksize 1024
#include
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//---
double d[5][1];
for(int i=0;i<5;i++){
if(i==2||i==3)d[0]=2;
else d[0]=i;
}
Print("array{",0,",",1,",",2,",",2,",",4,"}");
int aI[];ArrayResize(aI,0);AId_Init2(d,aI);
Print("AId_SearchFirst2");
for(int i=-1;i<6;i++){
int j=AId_SearchFirst2(d,aI,0,i);
Print("val=",i,"->idx=",j);
}
Print("AId_SearchLast2");
for(int i=-1;i<6;i++){
int j=AId_SearchLast2(d,aI,0,i);
Print("val=",i,"->idx=",j);
}
Print("AId_SearchGreat2");
for(int i=-1;i<6;i++){
int j=AId_SearchGreat2(d,aI,0,i);
Print("val=",i,"->idx=",j);
}
Print("AId_SearchLess2");
for(int i=-1;i<6;i++){
int j=AId_SearchLess2(d,aI,0,i);
Print("val=",i,"->idx=",j);
}
Print("AId_Select2_EQ");
AId_Print2(d,aI,4,"all_array");
AIF_init();
AIF_filterAdd_AND(0,AI_EQ, 2);
AId_Select2(d,aI);
Print("AId_Print2");
AId_Print2(d,aI,4,"seleq2_array");
Print("AId_Select2_GREAT");
AId_Init2(d,aI);
AIF_init();
AIF_filterAdd_AND(0,AI_GREAT, 2);
AId_Select2(d,aI);
Print("AId_Print2");
AId_Print2(d,aI,4,"selgreat2_array");
Print("AId_Select2_LESS");
AId_Init2(d,aI);
AIF_init();
AIF_filterAdd_AND(0,AI_LESS, 2);
AId_Select2(d,aI);
Print("AId_Print2");
AId_Print2(d,aI,4,"selless2_array");
}
//+------------------------------------------------------------------+
[/code] Редактировалось: 1 раз (Последний: 28 февраля 2014 в 20:27)
Перейти на форум: Правила форума. Читать обязательно RoboForex Forex4you Alpari FreshForex InstaForex NordFX Weltrade (SystemForex) Торговые платформы Альфа-Форекс FXOpen FBS Markets Forex.ee Admiral Markets LiteForex AMarkets (AForex) Forex Optimum FIBO Group TurboForex Grand Capital FXstart Exness MaxiMarkets Mayzus Investment Company (UWC) MFX Broker (MasterForex) Акция «Форекс Особые» - «Депозит за общение». Реклама Любые темы, реклама. Стратегии и торговые системы Советники, индикаторы, программирование для МТ4 -- Советники -- Индикаторы -- Скрипты -- Программирование MQL4 -- Прочий софт, Утилиты для трейдинга Советники, индикаторы, программирование для МТ5 -- Советники -- Индикаторы -- Скрипты -- Программирование MQL5 Акции и конкурсы трейдеров, проводимые «Форекс Особые» -- Архив акций и конкурсов -- Акции и конкурсы Форекс Особые и Брокеров Новичкам Обучающие материалы Форекс. Видео материалы, литература. Опыт на Forex Трейдеры и инвесторы -- Ищу инвесторов! -- Ищу трейдеров! Форекс аналитика. Технический и фундаментальный анализ валютного рынка -- Обсуждение рынков Форекс прогнозы валютных пар. Бесплатные торговые сигналы Электронные платежные системы -- Обменные сервисы Диалоги о Форекс Психология трейдинга -- Первый этап: Необходимые базовые знания для прибыльной торговли. -- Второй этап: Необходимые элементы для любой прибыльной торговой стратегии -- Третий этап: Торговая стратегия «SaveSystemTrade». ---- Один один Курилка Ключ к интернет заработку , различные виды заработка в интернете Межбанковские условия торговли Архив Корзина КРОУФР (Комиссия по Регулированию Отношений Участников Финансовых Рынков) Другие Брокеры, Дилинговые центры, Форекс компании ЦРФИН - Центр регулирования внебиржевых финансовых инструментов и технологий Индикаторы для торговой платформы VertexFX УМНЫЕ ИНВЕСТИЦИИ
← Назад