النتائج 4,066 إلى 4,080 من 10285
الموضوع: موضوع مخصص للأسئلة البرمجية
- 24-06-2013, 01:41 AM #4066
تمام أستاذي الكريم
أيضا نسيت دالة اغلاق كل أوامر الاكسبيرتات...
إذن الدالة خاطئة
ألا توجد دالة تعمل على الفكرة؟؟
(عند تحقق ربح معين من الحساب أو الاكويتي يتم إغلاق الكل والبدء من جديد باللوت الابتدائي على جميع الاكسبيرتات)
الفكرة مهمة جدا لأنها تزيد نسبة الأمان من خطر المضاعفات وهي يدويا متعبة جدا
جزاك الله خيراآخر تعديل بواسطة kira-h ، 24-06-2013 الساعة 01:43 AM
- 25-06-2013, 01:26 AM #4067
رد:موضوع مخصص للأسئلة البرمجية
الحل الأفضل في رأيي هو ستقوم بعمل دالة ستضعها في إكسبرت واحد فقط وليس جميع الإكسبرتات وستكون هي المسئوله عن حساب الربح بالنسبه المئويه وإغلاق جميع صفقات الحساب ثم سأحفظ التوقيت الذي قمت بإغلاق جميع الصفقات فيه بإستخدام GlobalVariableSet
مثال
كود PHP:void CheckCloseAll()
{
if(AccountProfit()>(AccountBalance()*ProfitRatio)/100)
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3);
i--;
}
if(OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3);
i--;
}
GlobalVariableSet("ClosedTime",TimeCurrent());
}
}
}
مثال
كود PHP:double LastOrderProfit()
{
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderCloseTime()<GlobalVariableGet("ClosedTime"))
return(OrderProfit());
else return(0);
}
}
return(0);
}
كود PHP:double LastOrderLot()
{
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
return(OrderLots());
}
}
return(0);
}
كود PHP:if(LastOrderProfit()<0)CurrentLots = LastOrderLot() * LotsMpOnLoss;
- 25-06-2013, 04:33 AM #4068
- 26-06-2013, 01:53 AM #4069
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم استاذى الكريم
مستر دولار
وكل عام وانت بخير
سؤال برمجى
عندى اكسبيرت فتح صفقة شراء مثلا
وعكس السعر حتى وصل الى منطقة الاستيب فتح صفقة شراء تعزيز
وعكس السوق تانى حتى وصل الى صفقة شراء تعزيز تانى
السؤال هنا
عايز طريقة تجعل التيك بروفيت يتحرك الى اسفل مع كل صفقة تعزيز فى الشراء وفى البيع يتحرك الى اعلى مع كل صفقة تعزيز بيع وعند ملامسة خط التيك بروفيت يتم اغلاق كل الصفقات
وجزاك الله خير
وكل عام وانت بخير وصحة واحسن حال
- 26-06-2013, 03:32 AM #4070
- 26-06-2013, 10:06 AM #4071
رد:موضوع مخصص للأسئلة البرمجية
شباب حاولت بعدل على مؤشر وضعه مستر دولار هنا
https://forum.arabictrader.com/t9652...ml#post1721989
بس يتاقطع موفينج افريج يظهر اسهم
لكن التعديل
اذا قطعت 6 مؤشرات موفينج المؤشر البطيئ 55
يظهر تقاطع
كود:#property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 DarkGoldenrod #property indicator_color2 FireBrick double CrossUp[]; double CrossDown[]; extern string S1="0=SMA /1=EMA /2=SMMA /3=Linear"; extern int FasterMA_Method=1; extern int FasterMA = 3; extern int FasterMA2 = 4; extern int FasterMA3 = 5; extern int FasterMA4 = 6; extern int FasterMA5 = 7; extern int FasterMA6 = 8; extern int SlowerMA = 55; extern int SlowerMA_Method=1; extern bool SoundON=true; double alertTag; double control=2147483647; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0, DRAW_ARROW, EMPTY,1); SetIndexArrow(0, 233); SetIndexBuffer(0, CrossUp); SetIndexStyle(1, DRAW_ARROW, EMPTY,1); SetIndexArrow(1, 234); SetIndexBuffer(1, CrossDown); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit, i, counter; double fasterEMAnow, slowerEMAnow, fasterEMAprevious, slowerEMAprevious, fasterEMAafter, slowerEMAafter,fasterEMAnow2,fasterEMAprevious2,fasterEMAafter2,fasterEMAnow3,fasterEMAprevious3,fasterEMAafter3,fasterEMAnow4,fasterEMAprevious4,fasterEMAafter4,fasterEMAnow5,fasterEMAprevious5,fasterEMAafter5,fasterEMAnow6,fasterEMAprevious6,fasterEMAafter6; double Range, AvgRange; int counted_bars=IndicatorCounted(); //---- //---- check for possible errors if(counted_bars<0) return(-1); //---- last counted bar will be recounted if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for(i = 0; i <= limit; i++) { counter=i; Range=0; AvgRange=0; for (counter=i ;counter<=i+9;counter++) { AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]); } Range=AvgRange/10; fasterEMAnow = iMA(NULL, 0, FasterMA, 0, FasterMA_Method, PRICE_CLOSE, i); fasterEMAprevious = iMA(NULL, 0, FasterMA, 0, FasterMA_Method, PRICE_CLOSE, i+1); fasterEMAafter = iMA(NULL, 0, FasterMA, 0, FasterMA_Method, PRICE_CLOSE, i-1); fasterEMAnow2 = iMA(NULL, 0, FasterMA2, 0, FasterMA_Method, PRICE_CLOSE, i); fasterEMAprevious2 = iMA(NULL, 0, FasterMA2, 0, FasterMA_Method, PRICE_CLOSE, i+1); fasterEMAafter2 = iMA(NULL, 0, FasterMA2, 0, FasterMA_Method, PRICE_CLOSE, i-1); fasterEMAnow3 = iMA(NULL, 0, FasterMA3, 0, FasterMA_Method, PRICE_CLOSE, i); fasterEMAprevious3 = iMA(NULL, 0, FasterMA3, 0, FasterMA_Method, PRICE_CLOSE, i+1); fasterEMAafter3 = iMA(NULL, 0, FasterMA3, 0, FasterMA_Method, PRICE_CLOSE, i-1); fasterEMAnow4 = iMA(NULL, 0, FasterMA4, 0, FasterMA_Method, PRICE_CLOSE, i); fasterEMAprevious4 = iMA(NULL, 0, FasterMA4, 0, FasterMA_Method, PRICE_CLOSE, i+1); fasterEMAafter4 = iMA(NULL, 0, FasterMA4, 0, FasterMA_Method, PRICE_CLOSE, i-1); fasterEMAnow5 = iMA(NULL, 0, FasterMA5, 0, FasterMA_Method, PRICE_CLOSE, i); fasterEMAprevious5 = iMA(NULL, 0, FasterMA5, 0, FasterMA_Method, PRICE_CLOSE, i+1); fasterEMAafter5 = iMA(NULL, 0, FasterMA5, 0, FasterMA_Method, PRICE_CLOSE, i-1); fasterEMAnow6 = iMA(NULL, 0, FasterMA6, 0, FasterMA_Method, PRICE_CLOSE, i); fasterEMAprevious6 = iMA(NULL, 0, FasterMA6, 0, FasterMA_Method, PRICE_CLOSE, i+1); fasterEMAafter6 = iMA(NULL, 0, FasterMA6, 0, FasterMA_Method, PRICE_CLOSE, i-1); slowerEMAnow = iMA(NULL, 0, SlowerMA, 0, SlowerMA_Method, PRICE_CLOSE, i); slowerEMAprevious = iMA(NULL, 0, SlowerMA, 0, SlowerMA_Method, PRICE_CLOSE, i+1); slowerEMAafter = iMA(NULL, 0, SlowerMA, 0, SlowerMA_Method, PRICE_CLOSE, i-1); if(((fasterEMAnow&&fasterEMAnow2&&fasterEMAnow3&&fasterEMAnow4&&fasterEMAnow5&&fasterEMAnow6) > slowerEMAnow) && ((fasterEMAprevious&&fasterEMAprevious2&&fasterEMAprevious3&&fasterEMAprevious4&&fasterEMAprevious5&&fasterEMAprevious6) < slowerEMAprevious) && ((fasterEMAafter&&fasterEMAafter2&&fasterEMAafter3&&fasterEMAafter4&&fasterEMAafter5&&fasterEMAafter6) > slowerEMAafter)) { CrossUp[i] = Low[i] - Range*0.5; } else if (((fasterEMAnow&&fasterEMAnow2&&fasterEMAnow3&&fasterEMAnow4&&fasterEMAnow5&&fasterEMAnow6) < slowerEMAnow) && ((fasterEMAprevious&&fasterEMAprevious2&&fasterEMAprevious3&&fasterEMAprevious4&&fasterEMAprevious5&&fasterEMAprevious6) > slowerEMAprevious) && ((fasterEMAafter&&fasterEMAafter2&&fasterEMAafter3&&fasterEMAafter4&&fasterEMAafter5&&fasterEMAafter6) < slowerEMAafter)) { CrossDown[i] = High[i] + Range*0.5; } if (SoundON==true && i==1 && CrossUp[i] > CrossDown[i] && alertTag!=Time[0]){ Alert("EMA Cross Trend going Down on ",Symbol()," ",Period()); alertTag = Time[0]; } if (SoundON==true && i==1 && CrossUp[i] < CrossDown[i] && alertTag!=Time[0]){ Alert("EMA Cross Trend going Up on ",Symbol()," ",Period()); alertTag = Time[0]; } } //---- return(0); } //+------------------------------------------------------------------+
- 26-06-2013, 11:22 AM #4072
- 26-06-2013, 01:47 PM #4073
رد:موضوع مخصص للأسئلة البرمجية
اهلا بك أستاذ سمير ، حنعمل دالتين الأولى للرجوع بتارجت الصفقة الأخيرة
كود PHP:double LastOrderTPB(){
for(int i=OrdersTotal()-1; i>=0; i--){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MyMagic&&OrderType()==OP_BUY){
return(OrderTakeProfit());
}
}
return(0);
}
كود PHP:void BuyOrderModify()
{
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == MyMagic)
{
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), 0, LastOrderTPB(), 0, White);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
}
}
}
كود PHP:BuyOrderModify();
الله يوفقك أخي سمير .آخر تعديل بواسطة Jmeel ، 26-06-2013 الساعة 01:52 PM
- 26-06-2013, 03:39 PM #4074
- 26-06-2013, 08:33 PM #4075
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمة الله وبركاته
استاذ أسامة بعد التحية وايضا تحياتي للاستاذ جميل والاستاذ يوسف
بارك الله فيكم جميعا
في فكرة بحاول اكتب لها أكواد برمجية وللأسف عجزت مع أنها تقريبا بسيطة بس صراحة احترت فيها جدا
احتاج أكواد لتصميم اكسبرت بالمواصفات التالية
عندما يقوم الاكسبرت بفتح صفقة وليكن شراء طبقا لشروط الشراء الموضوعة به يتم عمل التالي
يقوم الاكسبرت فور فتح عملية الشراء السابقة ولتكن 1 لوت ان يقوم بفتح صفقة بيع ستوب على مسافة من صفقة الشراء كمتغير خارجي Step وتكون صفقة البيع ستوب هذه بـ 3 لوت
في حالة تحقق صفقة الشراء السابقة لهدفها يتم إغلاق صفقة البيع ستوب المعلقة والبدء من جديد
أما في حالة عكس السعر علينا وتفعلت صفقة البيع ستوب يقوم الاكسبرت فورا بفتح صفقة شراء ستوب بلوت مضاعف للاسبق ( ضعف صفقة البيع والتي كانت بيع ستوب ) أي يقوم بفتح صفقة شراء ستوب بـ 6 لوت
في حال تحقيق صفقة البيع لهدفها يتم إغلاق جميع الصفقات المفتوحة والمعلقة والبدء من جديد
أما في حالة عدم تحقيق صفقة البيع المفتوحة لهدفها وعكس السعر وتفعلت صفقة الشراء ستوب وأصبحت شراء فورا يقوم الاكسبرت بفتح صفقة بيع ستوب بلوت مضاعف للسابق أي بـ 12 لوت وهكذا إلى ان يتم تحقيق الهدف بحول الله
ملخص السابق كالتالي
عند تحقق شروط الشراء مثلا
يقوم الاكسبرت بفتح صفقة الشراء بلوت مبدئي وليكن1 لوت
وفي نفس الوقت فتح صفقة بيع ستوب على مسافة Step بـ 3 لوت
يوجد 2 سيناريو
الأول تحقيق صفقة الشراء هدفها وهنا يتم إغلاق الصفقات جميعا بما فيها المعلقة
الثاني عدم تحقيق صفقة الشراء هدفها وعكس السعر وتفعلت صفقة البيع ستوب
هنا يتم فتح صفقة شراء ستوب فورا بـ 6 لوت ضعف السابق
يعني أستاذ أسامة وأسف اطلت عليك مطلوب من الاكسبرت عندما يفتح صفقة شراء ان يضع بيع ستوب بلوت ثلاث امثال اللوت المبدئي ولو تفعلت صفقة البيع ستوب يفتح فورا شراء ستوب بضعف السابق أي 6 لوت ولو جابت صفقة البيع هدفها يغلق الجميع أما إذا لم تحقق هدفها وتفعلت صفقة الشراء ستوب يقوم فورا بفتح صفقة بيع ستوب بضعف السابقة أي 12 لوت وهكذا
أما في حالة قيام الاكسبرت بفتح صفقة أولى بيع بلوت وليكن 1
يقوم بفتح صفقة شراء ستوب على بعد Step بلوت 3
واذا حققت هدفها يغلق المعلقة فورا والبدء من جديد
اما لو عكس السعر وتفعلت صفقة الشراء ستوب يقوم فورا بفتح صفقة بيع ستوب بضعف اللوت السابق أي 6 لوت
وهكذا
توضيح اخر
الصفقة الاولى بيع 1 لوت يفتح شراء ستوب على بعد Step بـ 3 لوت ثم بيع ستوب بـ 6 لوت ثم شراء ستوب بـ 12 لوت الخ
اما اذا كانت الصفقة الأولى شراء 1 لوت يفتح بيع ستوب بـ 3 لوت ثم شراء ستوب بـ 6 لوت ثم بيع ستوب بـ 12 لوت وهكذا
اسف اطلت عليك بس صدقني بحاول مع نفسي ولما بعجز بكتب ليك أستاذي الكريم
تحياتي لشخصك الكريم
أخيك في الله وليد
آخر تعديل بواسطة waleedgadelmola ، 26-06-2013 الساعة 08:40 PM
- 27-06-2013, 09:25 PM #4076
رد:موضوع مخصص للأسئلة البرمجية
وضعك للشروط بهذا الشكل خاطئه
كود PHP:(fasterEMAnow&&fasterEMAnow2&&fasterEMAnow3&&fasterEMAnow4&&fasterEMAnow5&&fasterEMAnow6) > slowerEMAnow)
طبعا بعد تعديل هذه المشكله سيبقى ملاحظه أخرى
بهذه الشروط أنت جعلت شرط التحقق أن تتقاطع جميع الخطوط في نفس الشمعه فربما هذا يكون نادرا جدا حدوثه
- 28-06-2013, 05:35 AM #4077
- 28-06-2013, 01:26 PM #4078
اخ وليد الاستاذ اسامة قد قام بصنع اكسبيرت لطريقتك هذه ويمكنك مراجعةهذه المواضيع :
https://forum.arabictrader.com/t160746.html
https://forum.arabictrader.com/t97056.htmlآخر تعديل بواسطة abou fares ، 28-06-2013 الساعة 01:28 PM
- 28-06-2013, 04:55 PM #4079
رد:موضوع مخصص للأسئلة البرمجية
أشكرك جدا أخي الكريم abou fares بارك الله فيك
يبدو أن هذا المنتدى مليء بالكنوز والتي ليس لها إلا عنوان واحد
Made By MR.dollar
قمت بتنزل أخر نسخة من الاكسبرت وللاسف لا يعمل معي ويظهر في الجورنال ان الاكسبرت تم ازالتة removed ولا أدري ما السبب ولا يعمل إطلاقا
مرفق النسخة الأخيرة من الاكسبرت
- 28-06-2013, 05:30 PM #4080
رد:موضوع مخصص للأسئلة البرمجية
مرحبا أيها الاصدقاء أحتج مساعدتكم على تعديل هدا السكريبت .
هو سكريبت موفينغ 5 close و open و قف الخصارة على 40 .
المشكلة هي أريده أن "لا يغلق أي الصفقات الرابحة أقل من 40 نقطة ."
هدا هو السكريبت وشرا لكم جميعا.
كود PHP://+------------------------------------------------------------------+
//| This MQL is generated by Expert Advisor Builder |
//| http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/ |
//| |
//| In no event will author be liable for any damages whatsoever. |
//| Use at your own risk. |
//| |
//+------------------- DO NOT REMOVE THIS HEADER --------------------+
#define SIGNAL_NONE 0
#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
#property copyright "Expert Advisor Builder"
#property link "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"
extern int MagicNumber = 0;
extern bool SignalMail = False;
extern bool EachTickMode = True;
extern double Lots = 1.0;
extern int Slippage = 3;
extern bool UseStopLoss = True;
extern int StopLoss = 40;
extern bool UseTakeProfit = False;
extern int TakeProfit = 60;
extern bool UseTrailingStop = False;
extern int TrailingStop = 30;
int BarCount;
int Current;
bool TickCheck = False;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init() {
BarCount = Bars;
if (EachTickMode) Current = 0; else Current = 1;
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit() {
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start() {
int Order = SIGNAL_NONE;
int Total, Ticket;
double StopLossLevel, TakeProfitLevel;
if (EachTickMode && Bars != BarCount) TickCheck = False;
Total = OrdersTotal();
Order = SIGNAL_NONE;
//+------------------------------------------------------------------+
//| Variable Begin |
//+------------------------------------------------------------------+
double Buy1_1 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 1);
double Buy1_2 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_OPEN, Current + 1);
double Buy2_1 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 2);
double Buy2_2 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_OPEN, Current + 2);
double Sell1_1 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 1);
double Sell1_2 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_OPEN, Current + 1);
double Sell2_1 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 2);
double Sell2_2 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_OPEN, Current + 2);
double CloseBuy1_1 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 1);
double CloseBuy1_2 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_OPEN, Current + 1);
double CloseSell1_1 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 1);
double CloseSell1_2 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_OPEN, Current + 1);
//+------------------------------------------------------------------+
//| Variable End |
//+------------------------------------------------------------------+
//Check position
bool IsTrade = False;
for (int i = 0; i < Total; i ++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
IsTrade = True;
if(OrderType() == OP_BUY) {
//Close
//+------------------------------------------------------------------+
//| Signal Begin(Exit Buy) |
//+------------------------------------------------------------------+
if (CloseBuy1_1 < CloseBuy1_2) Order = SIGNAL_CLOSEBUY;
//+------------------------------------------------------------------+
//| Signal End(Exit Buy) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if(Bid - OrderOpenPrice() > Point * TrailingStop) {
if(OrderStopLoss() < Bid - Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
} else {
//Close
//+------------------------------------------------------------------+
//| Signal Begin(Exit Sell) |
//+------------------------------------------------------------------+
if (CloseSell1_1 > CloseSell1_2) Order = SIGNAL_CLOSESELL;
//+------------------------------------------------------------------+
//| Signal End(Exit Sell) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) {
if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
}
}
}
//+------------------------------------------------------------------+
//| Signal Begin(Entry) |
//+------------------------------------------------------------------+
if (Buy1_1 > Buy1_2 && Buy2_1 <= Buy2_2) Order = SIGNAL_BUY;
if (Sell1_1 < Sell1_2 && Sell2_1 >= Sell2_2) Order = SIGNAL_SELL;
//+------------------------------------------------------------------+
//| Signal End |
//+------------------------------------------------------------------+
//Buy
if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("BUY order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");
} else {
Print("Error opening BUY order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
//Sell
if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("SELL order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
} else {
Print("Error opening SELL order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
if (!EachTickMode) BarCount = Bars;
return(0);
}
//+------------------------------------------------------------------+
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM