0
Views
0
Downloads
0
Favorites
Predictive_Price_FPI
//+------------------------------------------------------------------+
//| Price Predictor.mq4 |
//| Copyright © 2007, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
string pairs[14][3]={
"EURJPY","EURAUD","AUDJPY",//1 d
"EURJPY","EURCHF","CHFJPY",//6 h, inv
"EURJPY","EURGBP","GBPJPY",//12 inv
"EURJPY","EURUSD","USDJPY",//14
"AUDJPY","AUDUSD","USDJPY",//2 d
"EURUSD","EURAUD","AUDUSD",//3 d
"EURUSD","EURGBP","GBPUSD",//13
"USDJPY","USDCHF","CHFJPY",//8
"GBPJPY","GBPCHF","CHFJPY",//7 inv
"GBPJPY","GBPUSD","USDJPY",//14
"EURCAD","EURUSD","USDCAD",//9 inv
"EURCHF","EURGBP","GBPCHF",//10 inv
"EURCHF","EURUSD","USDCHF",//11 inv
"GBPCHF","GBPUSD","USDCHF",//15
};
int itn;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
start();
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
while(true){
RefreshRates();
main();
itn++;
Sleep(100);
}
//----
return(0);
}
//+------------------------------------------------------------------+
void main(){
color col[]={Yellow,Orange,Pink,YellowGreen,Purple,Red};
int match[];int c;
for(int i=0;i<14;i++){
for(int y=0;y<3;y++){
if(pairs[i][y]==Symbol()){
c++;
ArrayResize(match,c);
match[c-1]=i;
}
}
}
c=0;
int size=ArraySize(match);
/*for(i=0;i<size;i++){
Comment("ring found ",match[i],"\n\n",
pairs[match[i]][0]," ",
pairs[match[i]][1]," ",
pairs[match[i]][2]," ");
Sleep(2000);
}
*/
Comment("\nMatches = ",size,"\nIterations = ",itn);
for(i=0;i<size;i++){
double level=0;
double pr1=(MarketInfo(pairs[match[i]][0],MODE_BID) + MarketInfo(pairs[match[i]][0],MODE_ASK)) / 2;
double pr2=(MarketInfo(pairs[match[i]][1],MODE_BID) + MarketInfo(pairs[match[i]][1],MODE_ASK)) / 2;
double pr3=(MarketInfo(pairs[match[i]][2],MODE_BID) + MarketInfo(pairs[match[i]][2],MODE_ASK)) / 2;
pr1=1/pr1;
for(y=0;y<3;y++){
if(Symbol()==pairs[match[i]][y]){
c++;
if(y==0){
level=1/(pr2*pr3);
level=1/level;
break;
}
if(y==1){
level=1/(pr1*pr3);
break;
}
if(y==2){
level=1/(pr1*pr2);
break;
}
}
}
//level=NormalizeDouble(level,Digits);
//level+=i*Point;
string name=Symbol()+DoubleToStr(i,0);
drawLine(level,name,col[i],1);
}
}
void drawLine(double lvl,string name, color Col,int type){
if(ObjectFind(name) != 0){
ObjectCreate(name, OBJ_HLINE, 0, Time[0], lvl,Time[0],lvl);
if(type == 1)
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
else
ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}else{
ObjectDelete(name);
ObjectCreate(name, OBJ_HLINE, 0, Time[0], lvl,Time[0],lvl);
if(type == 1)
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
else
ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}
}
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---