النتائج 2,506 إلى 2,520 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 27-07-2012, 02:38 AM #2506
اتوقع حليت جزء من المشكله كانت عندي في قيمة المود
- 27-07-2012, 06:08 AM #2507
لديك خطأ في كود إستدعاء المؤشر
كود PHP:double down1=iCustom(NULL,0,"TCCI",0,Price,Length,Displace,Filter,Color,ColorBarBack,Deviation,1,shift);
إستخدم
كود PHP:double down1=iCustom(NULL,0,"TCCI",Price,Length,Displace,Filter,Color,ColorBarBack,Deviation,1,shift);
- 27-07-2012, 09:20 AM #2508
- 28-07-2012, 04:00 AM #2509
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم
اخى مستر دولار
معلشى حاولت اضيف شوية خصائص جديدة للاكسبيرت بتاعى زى البريك ايفن وخلافه وعزبتنى الاكواد علشان انقلها من الاكسبيرت الخاص بحضرتك بتاع الباربوليك سار والحمدلله خلصت ولكن الاكسبيرت كان بيفتح اكتر من صفقة فضت الماكس تريد بدل رقم واحد فطلع لى 3 اخطاء خاصين بال cnt فارجو علاجهم فى الكود المرفق ولك جزيل الشكر وحاولت قراءة اكسبيرت المضاعفات ولكنى لم افلح ولذلك اطلب من حضرتك اضافة المضاعفات لهذا الكود ( المضاعفات اللى اقصدها هى الدخول بالشروط الطبيعية للاكسبيرت ويكون العقد الاول ب0.10 وعند خسارته ينتظر تحقق الشروط ثم يدخل ب0.20 ولو خسر يدخل ب0.30 اذا تحققت الشروط لحد ما يكسب صفقة واحدة يروح راجع من تانى ل0.10 وهكذا ولى طلب اخير وانا عارف انى تقلت عليك بس والله هدعيلك
وه التعديل على المؤشر ده وشكرا ليك يا استاذ/ اسامة وربنا يارب يرزقك الذرية الصالحة والخلف الصالح
https://forum.arabictrader.com/t150074.html
كود PHP://+------------------------------------------------------------------+
//| |
//| |
//| www.arabictrader.com/vb |
//| |
//| [email protected] |
//+------------------------------------------------------------------+
#property copyright "MR.dollarEA"
#property link "[email protected]"
extern bool UseTimeFilter = false;
extern int StartHour = 7;
extern int EndHour = 17;
extern string MM_Parameters = "---------- Money Management";
extern int MaxTrades = 1;
extern double Lots = 0.10;
extern string Ich=" Ichimoku Settings";
extern int tenkansen=9;
extern int kijunsen=26;
extern int senkospan=52;
extern int shift=1;
extern int shift2=26;
extern int Ichimoku_TIME_FRAME=240;
extern string S5="Order Management";
extern int BreakEven=0;
extern int movestopto=1;
extern int StopLoss=0;
extern int TakeProfit=0;
extern int TrailingStop=0;
extern int TrailingStep=0;
double point;
int digits;
extern int MagicNumber=2533;
int init()
{
if(Digits<4)
{
point=0.01;
digits=2;
}
else
{
point=0.0001;
digits=4;
}
return(0);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
Comment("");
}
int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
return(cnt);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS Start function |
//+------------------------------------------------------------------+
int start()
{
Comment("Programmed by MR.dollar"+"\n"+"منتدى المتداول العربي"+"\n"+"www.arabictrader.com/vb");
if (UseTimeFilter){
if(!((StartHour < EndHour && TimeHour(TimeCurrent()) >= StartHour && TimeHour(TimeCurrent()) < EndHour) || (StartHour > EndHour && TimeHour(TimeCurrent()) >= StartHour ||
TimeHour(TimeCurrent()) < EndHour))){
Comment("Non-Trading Hours!");
return(0);
}
}
//|---------trailing stop
if(TrailingStop>0)MoveTrailingStop();
if(BreakEven>0)MoveBreakEven();
//////////////////////////////////////////////////
double Tenkan=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_TENKANSEN,shift);
double Kijun=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_KIJUNSEN,shift);
double Senkou=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_CHINKOUSPAN,1+kijunsen);
double Senkoua=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift);
double Senkouaplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift+27);
double Senkoub=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift);
double Senkoubplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift+27);
double Ichimoku_B=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",1,shift);
double Ichimoku_S=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",0,shift);
double Ichimoku_BF=iCustom(Symbol(),0,"Ichimoku Bars Filter",0,shift);
double Ichimoku_SF=iCustom(Symbol(),0,"Ichimoku Bars Filter",1,shift);
double IchimoAA=iIchimoku(NULL,Ichimoku_TIME_FRAME,9,26,52,MODE_SENKOUSPANA,shift);
double IchimoBB=iIchimoku(NULL,Ichimoku_TIME_FRAME,9,26,52,MODE_SENKOUSPANB,shift);
////////////////////////////////////////////////////
double SL,TP;
////////////////////////////////
if((Open[1]>Tenkan)&&(Close[1]>Tenkan)&&(Tenkan>=Kijun)&&(Close[1]>Senkoub)&&(Close[1]>Senkoua)&&(Ichimoku_B==3)&&(Senkou>Senkoubplus&&Senkou>Senkouaplus)&&(Ichimoku_BF>0)&&(Close[1]>IchimoAA)&&(Close[1]>IchimoBB))
{
if(orderstotal()<MaxTrades){
if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point;}
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Point;}
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"MR.dollar EA",MagicNumber,0,Blue);
PlaySound("Alert.wav");
}
}
/////////////////////
if ((Open[1]<Tenkan)&&(Close[1]<Tenkan)&&(Tenkan<=Kijun)&&(Close[1]<Senkoua)&&(Close[1]<Senkoub)&&(Ichimoku_S==3)&&(Senkou<Senkoubplus&&Senkou<Senkouaplus)&&(Ichimoku_SF>0)&&(Close[1]<IchimoAA)&&(Close[1]<IchimoBB))
{
if(orderstotal()<MaxTrades){
if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*Point;}
if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*Point;}
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SL,TP,"MR.dollar EA",MagicNumber,0,Red);
PlaySound("Alert.wav");
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
// Limiting Orders
int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
return(cnt);
}
//+------------------------------------------------------------------+
// OrdersHistoryTotal -- MODE_HISTORY -- Closed Orders //
// OrdersTotal -- MODE_TRADES -- Opend Orders //
//+------------------------------------------------------------------+
// lastlot & WinorLoss Functions //
double lastlot(){
for(int i=0;i<OrdersHistoryTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
double lotsnumber=OrderLots();
}
}
return(lotsnumber);
}
double lastlot2(){
for(int i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
double lotsnumber=OrderLots();
}
}
return(lotsnumber);
}
bool WinorLoss(){
bool win=true;
for(int i=0;i<OrdersHistoryTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
if(OrderProfit()>0){
win=true;
}
else{
win=false;
}
}
}
return(win);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS TrailingStop |
//+------------------------------------------------------------------+
//|---------trailing stop
void MoveTrailingStop()
{
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)
{
if(TrailingStop>0&&NormalizeDouble(Ask-TrailingStep*point,digits)>NormalizeDouble(OrderOpenPrice()+TrailingStop*point,digits))
{
if((NormalizeDouble(OrderStopLoss(),digits)<NormalizeDouble(Bid-TrailingStop*point,digits))||(OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop*point,digits),OrderTakeProfit(),0,Blue);
}
}
}
else
{
if(TrailingStop>0&&NormalizeDouble(Bid+TrailingStep*point,digits)<NormalizeDouble(OrderOpenPrice()-TrailingStop*point,digits))
{
if((NormalizeDouble(OrderStopLoss(),digits)>(NormalizeDouble(Ask+TrailingStop*point,digits)))||(OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+TrailingStop*point,digits),OrderTakeProfit(),0,Red);
}
}
}
}
}
}
void MoveBreakEven()
{
int cnt,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)
{
if(BreakEven>0)
{
if(NormalizeDouble((Bid-OrderOpenPrice()),digits)>BreakEven*point)
{
if(NormalizeDouble((OrderStopLoss()-OrderOpenPrice()),digits)<0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+movestopto*point,digits),OrderTakeProfit(),0,Blue);
}
}
}
}
else
{
if(BreakEven>0)
{
if(NormalizeDouble((OrderOpenPrice()-Ask),digits)>BreakEven*point)
{
if(NormalizeDouble((OrderOpenPrice()-OrderStopLoss()),digits)<0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-movestopto*point,digits),OrderTakeProfit(),0,Red);
}
}
}
}
}
}
}
وجزاك الله خيرا
- 28-07-2012, 07:30 PM #2510
- 28-07-2012, 07:39 PM #2511
رد:موضوع مخصص للأسئلة البرمجية
لدى سؤال آخر ، فـ الاكسيبرت المرفق انا قمت بوضع الشرط الخاص بوضع أوامر باى ليمت وسيل ليمت مع زيادة الاستيب والمضاعفات حسب الحلقة if
كود PHP:for(int i=0;i<NumOF_Additional_LIMITSTOPLots;i++){
if(OpenPrice(OP_BUY)!=0 &&orderstotal2(OP_BUYLIMIT)<i && NumOF_Additional_LIMITSTOP_Lots==true){
OrderSend(Symbol(),OP_BUYLIMIT,lot*2*i,OpenPrice(OP_BUY)-Space*point*i,5*Q,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits)," EA",MagicNumber,0,Blue);}
if(OpenPrice(OP_SELL)!=0 &&orderstotal2(OP_SELLLIMIT)<i && NumOF_Additional_LIMITSTOP_Lots==true){
OrderSend(Symbol(),OP_SELLLIMIT,lot*2*i,OpenPrice(OP_SELL)+Space*point*i,5*Q,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits)," EA",MagicNumber,0,Red);}
}
2 , 4 , 8 , ....
- 28-07-2012, 11:47 PM #2512
- 28-07-2012, 11:55 PM #2513
- 29-07-2012, 12:06 AM #2514
- 29-07-2012, 12:46 AM #2515
- 29-07-2012, 04:01 AM #2516
لا يوجد خطأ في الكود لكن إذا كنت تقصد
Function is not referenced and will be removed
فهذا ليس خطأ لكن لإنك لم تستخدم الداله ClosePrice داخل الكود فهو يخبرك بأن الداله سوف تم حذفها من ملف ex4 لأنها غير مستخدمه
إذا جعلت القيمة False فهو سيعود بأقرب بار للتوقيت المحدد إذا لم يجد البار الذي تم تحديد التوقيت له
إذا جعلت القيمه True فلن يبحث عن أقرب بار إذا لم يجد البار المحدد وسوف يعود بالقيمه -1 مباشرة
- 29-07-2012, 04:06 AM #2517
ما رأيك بإضافة تعبير آخر للحلقه for
كود PHP:int i,j;
for(i=0,j=1;i<=NumOF_Additional_LIMITSTOPLots;i++,j+=j){
if(OpenPrice(OP_BUY)!=0 &&orderstotal2(OP_BUYLIMIT)<i && NumOF_Additional_LIMITSTOP_Lots==true){
OrderSend(Symbol(),OP_BUYLIMIT,lot*j,OpenPrice(OP_BUY)-Space*point*i,5*Q,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits)," EA",MagicNumber,0,Blue);
}
- 29-07-2012, 04:09 AM #2518
لأ لن تضيف متغير خارجي بإسم WinorLoss لإن المستخدمه في الشرط هي الداله نفسها الموجوده في الإكسبرت وهي تلقائيا تقوم بمعرفة آخر صفقه هل أغلقت على ربح أو خساره
أما إذا أردت إضافة متغير خارجي لتفعيل أو تعطيل خيار المضاعفات حسب ما تريده مثلا فيمكنك إضافة متغير خارجي كما ذكرت أنت لكن تقوم بتغيير إسمه مثلا
كود PHP:if(UseMultiplier){
if(WinorLoss()==false)Lots=lastlot()*2;
}
كود PHP:extern bool UseMultiplier
- 29-07-2012, 04:11 AM #2519
- 29-07-2012, 04:48 AM #2520
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM