Price Data Components
Orders Execution
1
Views
0
Downloads
0
Favorites
!xMeter_GBPvsUSD
//+------------------------------------------------------------------+
//| !xMeter_GBPvsUSD.mq4 |
//| Copyright © 2007, FerruFx |
//| |
//| Price Meter System ©GPL by Rlinac (TSD-forum) |
//| 2007/05/16 Modified by Robert Hill (IBFX mini Account) |
//| |
//+------------------------------------------------------------------+
//---- Trade parameters
extern string Trade_parameters = "=== Trade parameters ===";
extern double Lot = 1.0; // Lot size
extern double TakeProfit = 120.0; // Profit for the order opened
extern double TrailingStop = 30.0; // Pips to trail the StopLoss
extern double StopLoss = 80.0; // StopLoss
extern int Slippage = 3; // Slippage
extern double HighLevel = 5.0; // Level to reach for 1st condition become true
extern double LowLevel = 3.0; // Level to not exceed for 2nd condition become true
extern int MaxSpread = 5.0; // Maximum Spread allowed for trading
//---- Lot size management
extern string Lot_size_management = "=== Lot size management ===";
extern string AccountType_is = " 0=normal,1=mini,2=micro";
extern int AccountType = 0;
extern bool ManagedLotSize = false; // If true, lot size based on the free margin
extern double Risk = 1.0; // Risk to protect the equity
//extern int MaxLot = 10.0; // Maximum lot size
//---- Only for IBFX mini account
extern string IBFX_mini_account= "=== Only for IBFX mini account ===";
extern bool AccountIsIBFXmini = false;
//---- !xMeter indicator settings
#define ARRSIZE 12 // number of pairs !!!DON'T CHANGE THIS NUMBER!!!
#define PAIRSIZE 7 // number of currencies !!!DON'T CHANGE THIS NUMBER!!!
#define TABSIZE 10 // scale of currency's power !!!DON'T CHANGE THIS NUMBER!!!
#define ORDER 2 // available type of order !!!DON'T CHANGE THIS NUMBER!!!
// Currency pair
#define EURUSD 0
#define GBPUSD 1
#define AUDUSD 2
#define USDJPY 3
#define USDCHF 4
#define USDCAD 5
#define EURJPY 6
#define EURGBP 7
#define EURCHF 8
#define EURAUD 9
#define GBPJPY 10
#define GBPCHF 11
// Currency
#define USD 0
#define EUR 1
#define GBP 2
#define CHF 3
#define CAD 4
#define AUD 5
#define JPY 6
string aPair[ARRSIZE] = {"EURUSDm","GBPUSDm","AUDUSDm","USDJPYm","USDCHFm","USDCADm",
"EURJPYm","EURGBPm","EURCHFm","EURAUDm","GBPJPYm","GBPCHFm"};
string aMajor[PAIRSIZE] = {"USD","EUR","GBP","CHF","CAD","AUD","JPY"};
string aOrder[ORDER] = {"BUY ","SELL "};
double aMeter[PAIRSIZE];
double aHigh[ARRSIZE];
double aLow[ARRSIZE];
double aBid[ARRSIZE];
//double aAsk[ARRSIZE];
double aRatio[ARRSIZE];
double aRange[ARRSIZE];
double aLookup[ARRSIZE];
double aStrength[ARRSIZE];
double point;
int index;
string mySymbol;
double sl, tp, lot;
int MagicNumber, cnt, ticket, total;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if (Symbol() == "AUDCADm" || Symbol() == "AUDCAD") { MagicNumber = 426801; }
if (Symbol() == "AUDJPYm" || Symbol() == "AUDJPY") { MagicNumber = 426802; }
if (Symbol() == "AUDNZDm" || Symbol() == "AUDNZD") { MagicNumber = 426803; }
if (Symbol() == "AUDUSDm" || Symbol() == "AUDUSD") { MagicNumber = 426804; }
if (Symbol() == "CHFJPYm" || Symbol() == "CHFJPY") { MagicNumber = 426805; }
if (Symbol() == "EURAUDm" || Symbol() == "EURAUD") { MagicNumber = 426806; }
if (Symbol() == "EURCADm" || Symbol() == "EURCAD") { MagicNumber = 426807; }
if (Symbol() == "EURCHFm" || Symbol() == "EURCHF") { MagicNumber = 426808; }
if (Symbol() == "EURGBPm" || Symbol() == "EURGBP") { MagicNumber = 426809; }
if (Symbol() == "EURJPYm" || Symbol() == "EURJPY") { MagicNumber = 426810; }
if (Symbol() == "EURUSDm" || Symbol() == "EURUSD") { MagicNumber = 426811; }
if (Symbol() == "GBPCHFm" || Symbol() == "GBPCHF") { MagicNumber = 426812; }
if (Symbol() == "GBPJPYm" || Symbol() == "GBPJPY") { MagicNumber = 426813; }
if (Symbol() == "GBPUSDm" || Symbol() == "GBPUSD") { MagicNumber = 426814; }
if (Symbol() == "NZDJPYm" || Symbol() == "NZDJPY") { MagicNumber = 426815; }
if (Symbol() == "NZDUSDm" || Symbol() == "NZDUSD") { MagicNumber = 426816; }
if (Symbol() == "USDCHFm" || Symbol() == "USDCHF") { MagicNumber = 426817; }
if (Symbol() == "USDJPYm" || Symbol() == "USDJPY") { MagicNumber = 426818; }
if (Symbol() == "USDCADm" || Symbol() == "USDCAD") { MagicNumber = 426819; }
if (MagicNumber == 0) { MagicNumber = 426899; }
int err,lastError;
initGraph();
Sleep(10000);
/* while (true) // infinite loop for main program
{
if (IsConnected()) start();
if (!IsConnected()) objectBlank();
WindowRedraw();
Sleep(1000); // give your PC a breath
}
*/ return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
ObjectsDeleteAll(0,OBJ_LABEL);
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//---- !xMeter calculation
for (index = 0; index < ARRSIZE; index++) // initialize all pairs required value
{
RefreshRates(); // refresh all currency's
if (AccountIsIBFXmini) mySymbol = aPair[index];
else mySymbol = StringSubstr(aPair[index],0,6);
//--- point calculation
if (mySymbol == "USDJPY" || mySymbol == "EURJPY" || mySymbol == "GBPJPY") { point = 0.01; }
else { point = 0.0001; }
//--- grade table for currency's power
int aTable[TABSIZE] = {0,3,10,25,40,50,60,75,90,97};
if (aRatio[index]*100 <= aTable[0]) aLookup[index] = 0;
else if (aRatio[index]*100 < aTable[1]) aLookup[index] = 0;
else if (aRatio[index]*100 < aTable[2]) aLookup[index] = 1;
else if (aRatio[index]*100 < aTable[3]) aLookup[index] = 2;
else if (aRatio[index]*100 < aTable[4]) aLookup[index] = 3;
else if (aRatio[index]*100 < aTable[5]) aLookup[index] = 4;
else if (aRatio[index]*100 < aTable[6]) aLookup[index] = 5;
else if (aRatio[index]*100 < aTable[7]) aLookup[index] = 6;
else if (aRatio[index]*100 < aTable[8]) aLookup[index] = 7;
else if (aRatio[index]*100 < aTable[9]) aLookup[index] = 8;
else aLookup[index] = 9;
//---
//aHigh[index] = MarketInfo(mySymbol,MODE_HIGH); // set a high today
aHigh[index] = iHigh(mySymbol,1440,0);
//Print(aHigh[index]);
//aLow[index] = MarketInfo(mySymbol,MODE_LOW); // set a low today
aLow[index] = iLow(mySymbol,1440,0);
//Print(aLow[index]);
//aBid[index] = MarketInfo(mySymbol,MODE_BID); // set a last bid
aBid[index] = iClose(mySymbol,1440,0);
//Print(aBid[index]);
//aAsk[index] = MarketInfo(mySymbol,MODE_ASK); // set a last ask
aRange[index] = MathMax((aHigh[index]-aLow[index])/point,1); // calculate range today
aRatio[index] = (aBid[index]-aLow[index])/aRange[index]/point; // calculate pair ratio
aStrength[index] = 9-aLookup[index]; // set a pair strengh
} //---- for
//---- calculate all currencies meter
aMeter[USD] = NormalizeDouble((aLookup[USDJPY]+aLookup[USDCHF]+aLookup[USDCAD]+aStrength[EURUSD]+aStrength[GBPUSD]+aStrength[AUDUSD])/6,1);
aMeter[EUR] = NormalizeDouble((aLookup[EURUSD]+aLookup[EURJPY]+aLookup[EURGBP]+aLookup[EURCHF]+aLookup[EURAUD])/5,1);
aMeter[GBP] = NormalizeDouble((aLookup[GBPUSD]+aLookup[GBPJPY]+aLookup[GBPCHF]+aStrength[EURGBP])/4,1);
aMeter[CHF] = NormalizeDouble((aStrength[USDCHF]+aStrength[EURCHF]+aStrength[GBPCHF])/3,1);
aMeter[CAD] = NormalizeDouble((aStrength[USDCAD]),1);
aMeter[AUD] = NormalizeDouble((aLookup[AUDUSD]+aStrength[EURAUD])/2,1);
aMeter[JPY] = NormalizeDouble((aStrength[USDJPY]+aStrength[EURJPY]+aStrength[GBPJPY])/3,1);
//---- display the results
objectBlank();
paintUSD(aMeter[USD]);
// paintEUR(aMeter[EUR]);
paintGBP(aMeter[GBP]);
/* paintCHF(aMeter[CHF]);
paintCAD(aMeter[CAD]);
paintAUD(aMeter[AUD]);
paintJPY(aMeter[JPY]);
paintLine();
*/
double gbp = aMeter[GBP];
double usd = aMeter[USD];
//---- Test the variables
/*
ObjectCreate("EUR1", OBJ_LABEL, 0, 0, 0);
ObjectSetText("EUR1",DoubleToStr(eur,1),7, "Verdana", Lime);
ObjectSet("EUR1", OBJPROP_CORNER, 1);
ObjectSet("EUR1", OBJPROP_XDISTANCE, 200);
ObjectSet("EUR1", OBJPROP_YDISTANCE, 50);
ObjectCreate("USD1", OBJ_LABEL, 0, 0, 0);
ObjectSetText("USD1",DoubleToStr(usd,1),7, "Verdana", Red);
ObjectSet("USD1", OBJPROP_CORNER, 1);
ObjectSet("USD1", OBJPROP_XDISTANCE, 200);
ObjectSet("USD1", OBJPROP_YDISTANCE, 70);
*/
//---- GO TRADING
//---- Check if order opened
total = OrdersTotal();
int j, orders;
for(j=0;j<total;j++)
{
OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber() == MagicNumber && OrderSymbol() == Symbol()) orders++; //---- an order is opened with
} //---- same symbol, same magic number
if ( orders < 1 ) //---- we can go trading
{
//---- Lot size calculation
if (AccountType==0)
{
if (ManagedLotSize) { lot=NormalizeDouble(AccountBalance()*Risk/10000,1); }
else { lot=Lot; }
}
if (AccountType==1)
{ // then is mini
if (ManagedLotSize) { lot=NormalizeDouble((AccountBalance()*Risk/10000)/10,1); }
else { lot=Lot; }
}
if (AccountType==2)
{
if (ManagedLotSize) { lot=NormalizeDouble((AccountBalance()*Risk/10000)/100,1); }
else { lot=Lot; }
}
if (lot<0.01) lot=0.01;
if (lot>10) lot=10;
//////////////////////////////////////////////////////////////////////////////////////////////////
/* if ( ManagedLotSize )
{
lot = ( AccountBalance() * Risk ) / 1000;
if ( lot > MaxLot ) { lot = MaxLot; }
}
else { lot = Lot; }*/
//---- Spread calculation
int spread = MarketInfo(Symbol(),MODE_SPREAD);
//---- Display the spread and EUR/USD's values
/*
Comment("\n"+"Current spread: "+spread
,"\n"+"EUR value: "+DoubleToStr(eur,1)
,"\n"+"USD value: "+DoubleToStr(usd,1));
*/
//---- Check for long position
if ( gbp >= HighLevel && usd <= LowLevel && spread <= MaxSpread )
{
if (TakeProfit==0) { tp=0; }
else { tp=Ask+TakeProfit*Point; }
if (StopLoss==0) { sl=0; }
else { sl=Ask-StopLoss*Point; }
ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,Slippage,0,0,"!xMeter GBPvsUSD",MagicNumber,0,Lime);
if( ticket > 0 )
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
{
Print("BUY order opened : ",OrderOpenPrice());
Sleep(1000);
{OrderModify(OrderTicket(),OrderOpenPrice(),sl,tp,0,Coral);
return(0);
}
}
}
else
{
Print("Error opening BUY order : ",GetLastError());
}
return(0);
}
//---- Check for short position
if ( usd >= HighLevel && gbp <= LowLevel && spread <= MaxSpread )
{
if (TakeProfit==0) { tp=0; }
else { tp=Bid-TakeProfit*Point; }
if (StopLoss==0) { sl=0; }
else { sl=Bid+StopLoss*Point; }
ticket=OrderSend(Symbol(),OP_SELL,lot,Bid,Slippage,0,0,"!xMeter GBPvsUSD",MagicNumber,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
{
Print("SELL order opened : ",OrderOpenPrice());
Sleep(1000);
{OrderModify(OrderTicket(),OrderOpenPrice(),sl,tp,0,Coral);
return(0);
}
}
}
else
{
Print("Error opening SELL order : ",GetLastError());
}
return(0);
}
return(0);
} //---- if ( orders < 1 )
//---- Check for exit
total=OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNumber)
{
if(OrderType()==OP_BUY) //---- long position
{
//---- Trailing stop long
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Lime);
return(0);
}
}
}
}
else //---- short position
{
//---- Trailing stop short
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
} //---- else
} //---- if(OrderType()<=OP_SELL &&
} //---- for
return(0);
} //---- int start()
//---- Display the !xMeter's values
void initGraph()
{
ObjectsDeleteAll(0,OBJ_LABEL);
objectCreate("usd_1",30,38);
objectCreate("usd_2",30,30);
objectCreate("usd_3",30,22);
objectCreate("usd_4",30,14);
objectCreate("usd_5",30,7);
objectCreate("usd",32,5,"USD",7,"Arial Narrow",SkyBlue);
objectCreate("usdp",34,16,DoubleToStr(9,1),8,"Arial Narrow",Silver);
/* objectCreate("eur_1",10,38);
objectCreate("eur_2",10,30);
objectCreate("eur_3",10,22);
objectCreate("eur_4",10,14);
objectCreate("eur_5",10,7);
objectCreate("eur",12,5,"EUR",7,"Arial Narrow",SkyBlue);
objectCreate("eurp",14,16,DoubleToStr(9,1),8,"Arial Narrow",Silver);*/
objectCreate("gbp_1",10,38);
objectCreate("gbp_2",10,30);
objectCreate("gbp_3",10,22);
objectCreate("gbp_4",10,14);
objectCreate("gbp_5",10,7);
objectCreate("gbp",12,5,"GBP",7,"Arial Narrow",SkyBlue);
objectCreate("gbpp",14,16,DoubleToStr(9,1),8,"Arial Narrow",Silver);
/* objectCreate("chf_1",70,43);
objectCreate("chf_2",70,35);
objectCreate("chf_3",70,27);
objectCreate("chf_4",70,19);
objectCreate("chf_5",70,11);
objectCreate("chf",72,12,"CHF",7,"Arial Narrow",SkyBlue);
objectCreate("chfp",74,21,DoubleToStr(9,1),8,"Arial Narrow",Silver);
objectCreate("cad_1",50,43);
objectCreate("cad_2",50,35);
objectCreate("cad_3",50,27);
objectCreate("cad_4",50,19);
objectCreate("cad_5",50,11);
objectCreate("cad",52,12,"CAD",7,"Arial Narrow",SkyBlue);
objectCreate("cadp",54,21,DoubleToStr(9,1),8,"Arial Narrow",Silver);
objectCreate("aud_1",30,43);
objectCreate("aud_2",30,35);
objectCreate("aud_3",30,27);
objectCreate("aud_4",30,19);
objectCreate("aud_5",30,11);
objectCreate("aud",32,12,"AUD",7,"Arial Narrow",SkyBlue);
objectCreate("audp",34,21,DoubleToStr(9,1),8,"Arial Narrow",Silver);
objectCreate("jpy_1",10,43);
objectCreate("jpy_2",10,35);
objectCreate("jpy_3",10,27);
objectCreate("jpy_4",10,19);
objectCreate("jpy_5",10,11);
objectCreate("jpy",13,12,"JPY",7,"Arial Narrow",SkyBlue);
objectCreate("jpyp",14,21,DoubleToStr(9,1),8,"Arial Narrow",Silver);
objectCreate("line",10,6,"-----------------------------------",10,"Arial",DimGray);
objectCreate("line1",10,27,"-----------------------------------",10,"Arial",DimGray);
objectCreate("line2",10,69,"-----------------------------------",10,"Arial",DimGray);
objectCreate("sign",11,1,"»»» Price Meter System ©GPL «««",8,"Arial Narrow",DimGray);
*/
WindowRedraw();
}
//+------------------------------------------------------------------+
void objectCreate(string name,int x,int y,string text="-",int size=42,
string font="Arial",color colour=CLR_NONE)
{
ObjectCreate(name,OBJ_LABEL,0,0,0);
ObjectSet(name,OBJPROP_CORNER,3);
ObjectSet(name,OBJPROP_COLOR,colour);
ObjectSet(name,OBJPROP_XDISTANCE,x);
ObjectSet(name,OBJPROP_YDISTANCE,y);
ObjectSetText(name,text,size,font,colour);
}
void objectBlank()
{
ObjectSet("usd_1",OBJPROP_COLOR,CLR_NONE);
ObjectSet("usd_2",OBJPROP_COLOR,CLR_NONE);
ObjectSet("usd_3",OBJPROP_COLOR,CLR_NONE);
ObjectSet("usd_4",OBJPROP_COLOR,CLR_NONE);
ObjectSet("usd_5",OBJPROP_COLOR,CLR_NONE);
ObjectSet("usd",OBJPROP_COLOR,CLR_NONE);
ObjectSet("usdp",OBJPROP_COLOR,CLR_NONE);
/* ObjectSet("eur_1",OBJPROP_COLOR,CLR_NONE);
ObjectSet("eur_2",OBJPROP_COLOR,CLR_NONE);
ObjectSet("eur_3",OBJPROP_COLOR,CLR_NONE);
ObjectSet("eur_4",OBJPROP_COLOR,CLR_NONE);
ObjectSet("eur_5",OBJPROP_COLOR,CLR_NONE);
ObjectSet("eur",OBJPROP_COLOR,CLR_NONE);
ObjectSet("eurp",OBJPROP_COLOR,CLR_NONE);*/
ObjectSet("gbp_1",OBJPROP_COLOR,CLR_NONE);
ObjectSet("gbp_2",OBJPROP_COLOR,CLR_NONE);
ObjectSet("gbp_3",OBJPROP_COLOR,CLR_NONE);
ObjectSet("gbp_4",OBJPROP_COLOR,CLR_NONE);
ObjectSet("gbp_5",OBJPROP_COLOR,CLR_NONE);
ObjectSet("gbp",OBJPROP_COLOR,CLR_NONE);
ObjectSet("gbpp",OBJPROP_COLOR,CLR_NONE);
/* ObjectSet("chf_1",OBJPROP_COLOR,CLR_NONE);
ObjectSet("chf_2",OBJPROP_COLOR,CLR_NONE);
ObjectSet("chf_3",OBJPROP_COLOR,CLR_NONE);
ObjectSet("chf_4",OBJPROP_COLOR,CLR_NONE);
ObjectSet("chf_5",OBJPROP_COLOR,CLR_NONE);
ObjectSet("chf",OBJPROP_COLOR,CLR_NONE);
ObjectSet("chfp",OBJPROP_COLOR,CLR_NONE);
ObjectSet("cad_1",OBJPROP_COLOR,CLR_NONE);
ObjectSet("cad_2",OBJPROP_COLOR,CLR_NONE);
ObjectSet("cad_3",OBJPROP_COLOR,CLR_NONE);
ObjectSet("cad_4",OBJPROP_COLOR,CLR_NONE);
ObjectSet("cad_5",OBJPROP_COLOR,CLR_NONE);
ObjectSet("cad",OBJPROP_COLOR,CLR_NONE);
ObjectSet("cadp",OBJPROP_COLOR,CLR_NONE);
ObjectSet("aud_1",OBJPROP_COLOR,CLR_NONE);
ObjectSet("aud_2",OBJPROP_COLOR,CLR_NONE);
ObjectSet("aud_3",OBJPROP_COLOR,CLR_NONE);
ObjectSet("aud_4",OBJPROP_COLOR,CLR_NONE);
ObjectSet("aud_5",OBJPROP_COLOR,CLR_NONE);
ObjectSet("aud",OBJPROP_COLOR,CLR_NONE);
ObjectSet("audp",OBJPROP_COLOR,CLR_NONE);
ObjectSet("jpy_1",OBJPROP_COLOR,CLR_NONE);
ObjectSet("jpy_2",OBJPROP_COLOR,CLR_NONE);
ObjectSet("jpy_3",OBJPROP_COLOR,CLR_NONE);
ObjectSet("jpy_4",OBJPROP_COLOR,CLR_NONE);
ObjectSet("jpy_5",OBJPROP_COLOR,CLR_NONE);
ObjectSet("jpy",OBJPROP_COLOR,CLR_NONE);
ObjectSet("jpyp",OBJPROP_COLOR,CLR_NONE);
ObjectSet("line1",OBJPROP_COLOR,CLR_NONE);
ObjectSet("line2",OBJPROP_COLOR,CLR_NONE);
*/
}
void paintUSD(double value)
{
if (value > 0) ObjectSet("usd_5",OBJPROP_COLOR,Red);
if (value > 2) ObjectSet("usd_4",OBJPROP_COLOR,Orange);
if (value > 4) ObjectSet("usd_3",OBJPROP_COLOR,Gold);
if (value > 6) ObjectSet("usd_2",OBJPROP_COLOR,YellowGreen);
if (value > 7) ObjectSet("usd_1",OBJPROP_COLOR,Lime);
ObjectSet("usd",OBJPROP_COLOR,SkyBlue);
ObjectSetText("usdp",DoubleToStr(value,1),8,"Arial Narrow",Silver);
}
/*
void paintEUR(double value)
{
if (value > 0) ObjectSet("eur_5",OBJPROP_COLOR,Red);
if (value > 2) ObjectSet("eur_4",OBJPROP_COLOR,Orange);
if (value > 4) ObjectSet("eur_3",OBJPROP_COLOR,Gold);
if (value > 6) ObjectSet("eur_2",OBJPROP_COLOR,YellowGreen);
if (value > 7) ObjectSet("eur_1",OBJPROP_COLOR,Lime);
ObjectSet("eur",OBJPROP_COLOR,SkyBlue);
ObjectSetText("eurp",DoubleToStr(value,1),8,"Arial Narrow",Silver);
}*/
void paintGBP(double value)
{
if (value > 0) ObjectSet("gbp_5",OBJPROP_COLOR,Red);
if (value > 2) ObjectSet("gbp_4",OBJPROP_COLOR,Orange);
if (value > 4) ObjectSet("gbp_3",OBJPROP_COLOR,Gold);
if (value > 6) ObjectSet("gbp_2",OBJPROP_COLOR,YellowGreen);
if (value > 7) ObjectSet("gbp_1",OBJPROP_COLOR,Lime);
ObjectSet("gbp",OBJPROP_COLOR,SkyBlue);
ObjectSetText("gbpp",DoubleToStr(value,1),8,"Arial Narrow",Silver);
}
/*
void paintCHF(double value)
{
if (value > 0) ObjectSet("chf_5",OBJPROP_COLOR,Red);
if (value > 2) ObjectSet("chf_4",OBJPROP_COLOR,Orange);
if (value > 4) ObjectSet("chf_3",OBJPROP_COLOR,Gold);
if (value > 6) ObjectSet("chf_2",OBJPROP_COLOR,YellowGreen);
if (value > 7) ObjectSet("chf_1",OBJPROP_COLOR,Lime);
ObjectSet("chf",OBJPROP_COLOR,SkyBlue);
ObjectSetText("chfp",DoubleToStr(value,1),8,"Arial Narrow",Silver);
}
void paintCAD(double value)
{
if (value > 0) ObjectSet("cad_5",OBJPROP_COLOR,Red);
if (value > 2) ObjectSet("cad_4",OBJPROP_COLOR,Orange);
if (value > 4) ObjectSet("cad_3",OBJPROP_COLOR,Gold);
if (value > 6) ObjectSet("cad_2",OBJPROP_COLOR,YellowGreen);
if (value > 7) ObjectSet("cad_1",OBJPROP_COLOR,Lime);
ObjectSet("cad",OBJPROP_COLOR,SkyBlue);
ObjectSetText("cadp",DoubleToStr(value,1),8,"Arial Narrow",Silver);
}
void paintAUD(double value)
{
if (value > 0) ObjectSet("aud_5",OBJPROP_COLOR,Red);
if (value > 2) ObjectSet("aud_4",OBJPROP_COLOR,Orange);
if (value > 4) ObjectSet("aud_3",OBJPROP_COLOR,Gold);
if (value > 6) ObjectSet("aud_2",OBJPROP_COLOR,YellowGreen);
if (value > 7) ObjectSet("aud_1",OBJPROP_COLOR,Lime);
ObjectSet("aud",OBJPROP_COLOR,SkyBlue);
ObjectSetText("audp",DoubleToStr(value,1),8,"Arial Narrow",Silver);
}
void paintJPY(double value)
{
if (value > 0) ObjectSet("jpy_5",OBJPROP_COLOR,Red);
if (value > 2) ObjectSet("jpy_4",OBJPROP_COLOR,Orange);
if (value > 4) ObjectSet("jpy_3",OBJPROP_COLOR,Gold);
if (value > 6) ObjectSet("jpy_2",OBJPROP_COLOR,YellowGreen);
if (value > 7) ObjectSet("jpy_1",OBJPROP_COLOR,Lime);
ObjectSet("jpy",OBJPROP_COLOR,SkyBlue);
ObjectSetText("jpyp",DoubleToStr(value,1),8,"Arial Narrow",Silver);
}
void paintLine()
{
ObjectSet("line1",OBJPROP_COLOR,DimGray);
ObjectSet("line2",OBJPROP_COLOR,DimGray);
}
*/
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
---