[アーカイブ!】アドバイザーの書き方を無料公開中 - ページ 65 1...585960616263646566676869707172...94 新しいコメント techno 2011.03.01 14:14 #641 Antton86: 私はSLとTPと指標のパラメータ(ストキャスティクス)とフィルタ(MA)を変更する能力を持つEAを必要とする、助けてください - 信号は、高速のラインは、ダウンして販売するために遅く交差する購入する。MAがある方向にトレードされる!私はEAが複雑で非常に興味深いものではないことを理解しますが、データベース内のアドバイザーのすべてを見直すと、同様のものを発見していません!私は、このようなEAを使用することをお勧めします。自分で書こうとしたら......3日間が無駄になりました(( https://www.mql5.com/ru/job Виктор 2011.03.22 11:53 #642 tigra-max: エキスパートアドバイザーの取引方法(5つある)を削除し、テイクプロフィットも削除してほしいです。 投稿を削除しました。デコンパイルされたコード。 削除済み 2011.03.22 11:59 #643 さあ) Виктор 2011.03.22 12:05 #644 tigra-max: さあ) 何を言ってるんだ? freshxxx95 2011.03.22 14:33 #645 こんにちは。写真のようなソフトウェアアルゴリズムを実行できる人はいますか?手を動かして試しているところです。しかし、モニターの前に座っているのは面倒です。少しは自動化したいですね。ポジションのオープンを自動化したいのですが。私は、利益のために別のプログラムでそれらを閉じたいと思います。 私はあなたの助けを求めている、私は成功しなかった、それは一方向に全体の束を開くか、またはスキップする。MQLを長く勉強して、何がどうなっているのか理解しなければならない。そのため、皆さんの力をお借りしたいのです。 ここではっきりしたようです。1.4125の売りストップが 開かれたら、1.4135に買いストップを置き、LotUpを掛け、他のプログラムが全て閉じるまで、そのロットを続けます。 セルゲイさんへ Armen1963 2011.03.23 21:53 #646 fortrader.ru: 私は無料でアドバイザーを書きますが、一度に1つ、それを必要とする人に電子メールhttp://forum.fortrader.ru/index.php?board=3.0 Armen1963 2011.03.23 21:57 #647 を弖紗することができます.瑟瑟.瑟瑟.瑟瑟.瑟瑟.瑟瑟.瑟瑟.瑟瑟.瑟瑟 .瑟瑟.瑟瑟.瑟瑟.瑟瑟.瑟瑟 .瑟瑟.瑟瑟.瑟瑟.瑟瑟 .瑟瑟瑟.をご覧ください。 #property copyright "Armen Alaverdyan" #property link "bravolc@mail.ru" extern double PercentProfit = 0.15; // Процент профита extern double PercentLoss = 100; // Процент убытка extern bool DeleteOrders = False; // Удалять ордера extern bool CloseTerminal = False; // Закрывать терминал extern bool ShowComment = True; // Показывать комментарий extern int NumberAccount = 0; // Номер торгового счёта extern bool UseSound = False; // Использовать звуковой сигнал extern string NameFileSound = "expert.wav"; // Наименование звукового файла extern int Slippage = 3; // Проскальзывание цены extern int NumberOfTry = 5; // Количество попыток extern int PauseAfterError = 75; // Пауза после ошибки в секундах extern double maxsimum_Lots=0.3; extern int rsi_period=22; extern double MATrendPeriod=26; extern double MACDOpenLevel=3; extern double MACDCloseLevel=2; //---- input parameters extern double Lots=0.1; extern int StLoss=200; extern int TPrfit=100; extern string Times="H1"; extern int TrailingStop=11; extern int MagicNumber = 15031963; //------- Глобальные переменные советника -------------------------------------- bool gbDisabled = False; // Флаг блокировки советника color clCloseBuy = Blue; // Цвет значка закрытия покупки color clCloseSell = Red; // Цвет значка закрытия продажи color clDelete = Yellow; // Цвет значка удаления ордеров //------- Поключение внешних модулей ------------------------------------------- #include <stdlib.mqh> #include <WinUser32.mqh> //=================================================================================================== extern int MaxOrders=100; extern int n=5;//minuta starta double lava_aper; double LotsOptimized() { lava_aper = NormalizeDouble(AccountFreeMargin() * Lots / 10000.0, 1); if (lava_aper < Lots) lava_aper = Lots; if (lava_aper > maxsimum_Lots) lava_aper = Lots;{ return (lava_aper); } } Print("Свободная маржа счета = ",AccountFreeMargin()); Print("Баланс счета = ",AccountBalance()); Print(" Средства = ",AccountEquity()); int Tick; //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { for(int cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) { if(TrailingStop>0 && Bid-OrderOpenPrice()>Point*TrailingStop && (OrderStopLoss()<Bid-Point*TrailingStop|| OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(), Bid-Point*TrailingStop,OrderTakeProfit(),0); } } if(OrderType()==OP_SELL) { if(TrailingStop>0 && OrderOpenPrice()-Ask>Point*TrailingStop && (OrderStopLoss()>Ask+Point*TrailingStop || OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(), Ask+Point*TrailingStop,OrderTakeProfit(),0); } } } } Comment("lava_aper= ",lava_aper, "TrailingStop= ",TrailingStop,"StopLoss= ",StLoss, "TakeProfit= ",TPrfit, " Средства = ",AccountEquity(), "AccountBalance()= ",AccountBalance(), "AccountFreeMargin()= ",AccountFreeMargin() ); double bull=0,bear=0; bull = iBullsPower(NULL,0,5,PRICE_CLOSE,1); bear = iBearsPower(NULL,0,5,PRICE_CLOSE,1); // Comment("bull+bear= ",bull + bear,"\n I Blue "); double SignalPrevious, MaCurrent, MaPrevious; MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0); MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1); double MacdCurrent, MacdPrevious, SignalCurrent; MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0); MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1); SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0); SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1); double rsi17_0 = NormalizeDouble(iRSI(Symbol(),PERIOD_H1, rsi_period, 0, 0), Digits); double rsi17_1 = NormalizeDouble(iRSI(Symbol(),PERIOD_H1, rsi_period, 3, 3), Digits); if (Minute() == n && (iDeMarker(NULL,0,14,2)<0.49) &&(iDeMarker(NULL,0,14,0)>0.49) //&& rsi17_1<rsi17_0 //&& Open[1] < Close[1] && Tick == 0 //&& (bull + bear > 0) && MacdCurrent<0 //&& MacdCurrent>SignalCurrent //&& MacdPrevious<SignalPrevious //&& MathAbs(MacdCurrent)>(MACDOpenLevel*Point) //&& MaCurrent>MaPrevious ) { OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,0,Ask - StLoss*Point,Ask + TPrfit*Point,"",MagicNumber,0,CLR_NONE); Tick++; return(0); } if (Minute() == n && (iDeMarker(NULL,0,14,2)>0.51) &&(iDeMarker(NULL,0,14,0)<0.51) //&& (bull + bear < 0) //&& rsi17_1>rsi17_0 //&& Open[1] > Close[1] && Tick == 0 && MacdCurrent>0 //&& MacdCurrent<SignalCurrent //&& MacdPrevious>SignalPrevious //&& MathAbs(MacdCurrent)>(MACDOpenLevel*Point) //&& MaCurrent<MaPrevious ) { OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,0,Bid + StLoss*Point,Bid - TPrfit*Point,"",MagicNumber,0,CLR_NONE); Tick++; return(0); } if (OrdersTotal() <= MaxOrders) { //1 //---- if (Minute() == 59) { Tick = 0; } } if (AccountEquity()>=AccountBalance()*(1+PercentProfit/100) || AccountEquity()<=AccountBalance()*(1-PercentLoss /100)) { ClosePosFirstProfit(); DeleteOrders(); } } //+----------------------------------------------------------------------------+ //| | //| ПОЛЬЗОВАТЕЛЬСКИЕ ФУНКЦИИ | //| | //+----------------------------------------------------------------------------+ //| Закрытие одной предварительно выбранной позиции | //+----------------------------------------------------------------------------+ void ClosePosBySelect() { bool fc; color clClose; double ll, pAsk, pBid, pp; int err, it; if (OrderType()==OP_BUY || OrderType()==OP_SELL) { for (it=1; it<=NumberOfTry; it++) { if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break; while (!IsTradeAllowed()) Sleep(5000); RefreshRates(); pAsk=MarketInfo(OrderSymbol(), MODE_ASK); pBid=MarketInfo(OrderSymbol(), MODE_BID); if (OrderType()==OP_BUY) { pp=pBid; clClose=clCloseBuy; } else { pp=pAsk; clClose=clCloseSell; } ll=OrderLots(); fc=OrderClose(OrderTicket(), ll, pp, Slippage, clClose); if (fc) { if (UseSound) PlaySound(NameFileSound); break; } else { err=GetLastError(); if (err==146) while (IsTradeContextBusy()) Sleep(1000*PauseAfterError); Print("Error(",err,") Close ",GetNameOP(OrderType())," ", ErrorDescription(err),", try ",it); Print(OrderTicket()," Ask=",pAsk," Bid=",pBid," pp=",pp); Print("sy=",OrderSymbol()," ll=",ll," sl=",OrderStopLoss(), " tp=",OrderTakeProfit()," mn=",OrderMagicNumber()); Sleep(1000*PauseAfterError); } } } else Print("Некорректная торговая операция. Close ",GetNameOP(OrderType())); } //+----------------------------------------------------------------------------+ //| Закрытие позиций по рыночной цене сначала прибыльных | //+----------------------------------------------------------------------------+ void ClosePosFirstProfit() { int i, k=OrdersTotal(); // Сначала закрываем прибыльные позиции for (i=k-1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (OrderProfit()+OrderSwap()>0) ClosePosBySelect(); } } } // Потом все остальные k=OrdersTotal(); for (i=k-1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) ClosePosBySelect(); } } if (CloseTerminal && !ExistPositions()) CloseTerminal(); } //+----------------------------------------------------------------------------+ //| Закрывает торговый терминал. | //+----------------------------------------------------------------------------+ void CloseTerminal() { Print("Сработала функция CloseTerminal()"); int hwnd=WindowHandle(Symbol(), Period()); int hwnd_parent=0; while(!IsStopped()) { // hwnd=GetParent(hwnd); if (hwnd==0) break; hwnd_parent=hwnd; } if (hwnd_parent!=0) PostMessageA(hwnd_parent, WM_CLOSE, 0, 0); } //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 28.11.2006 | //| Описание : Удаление ордеров | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - любой символ, | //| NULL - текущий символ) | //| op - операция (-1 - любой ордер) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ void DeleteOrders(string sy="", int op=-1, int mn=-1) { bool fd; int err, i, it, k=OrdersTotal(), ot; if (sy=="0") sy=Symbol(); for (i=k-1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { ot=OrderType(); if (ot>1 && ot<6) { if ((OrderSymbol()==sy || sy=="") && (op<0 || ot==op)) { if (mn<0 || OrderMagicNumber()==mn) { for (it=1; it<=NumberOfTry; it++) { if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break; while (!IsTradeAllowed()) Sleep(5000); fd=OrderDelete(OrderTicket(), clDelete); if (fd) { if (UseSound) PlaySound(NameFileSound); break; } else { err=GetLastError(); Print("Error(",err,") delete order ",GetNameOP(ot),": ",ErrorDescription(err),", try ",it); Sleep(1000*5); } } } } } } } } //+----------------------------------------------------------------------------+ //| Возвращает флаг существования позиций | //| Параметры: | //| sy - наименование инструмента ("" - любой символ, | //| NULL - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ bool ExistPositions(string sy="", int op=-1, int mn=-1) { int i, k=OrdersTotal(); if (StringLen(sy)==1 && StringGetChar(sy, 0)==48) sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sy || sy=="") { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) return(True); } } } } } return(False); } //+----------------------------------------------------------------------------+ //| Возвращает наименование операции | //+----------------------------------------------------------------------------+ string GetNameOP(int op) { switch (op) { case OP_BUY : return("Buy"); case OP_SELL : return("Sell"); case OP_BUYLIMIT : return("Buy Limit"); case OP_SELLLIMIT: return("Sell Limit"); case OP_BUYSTOP : return("Buy Stop"); case OP_SELLSTOP : return("Sell Stop"); default : return("Unknown Operation"); } //} //+----------------------------------------------------------------------------+ //| Вывод сообщения в коммент и в журнал | //+----------------------------------------------------------------------------+ //void Message(string m) { // Comment(m); // if (StringLen(m)>0) Print(m); //} return(0); }//0 //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ Andrey F. Zelinsky 2011.03.24 06:05 #648 Armen63: を恬撹し、恬撹を恬撹し、恬撹を恬撹し、恬撹を恬撹し、恬撹を恬撹し、恬撹を恬撹し、恬撹を恬撹し、...............恬淡な、恬淡な、恬淡な、恬淡な、恬淡な、恬淡な、恬淡な。をご覧ください。 プライベートにする。 - ボタン「SCR」を押す。 - このボタンがあれば、ワークフローが簡単になります。 Armen1963 2011.03.24 06:54 #649 abolk: プライベートのみ。 ファイル: artur1.mq4 14 kb Armen1963 2011.03.24 06:56 #650 エト・チェルノヴィク・キソテル・ポスモトレット・エトゴ・ポルチツヤ・イ・スパシーボ 1...585960616263646566676869707172...94 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私はSLとTPと指標のパラメータ(ストキャスティクス)とフィルタ(MA)を変更する能力を持つEAを必要とする、助けてください - 信号は、高速のラインは、ダウンして販売するために遅く交差する購入する。MAがある方向にトレードされる!私はEAが複雑で非常に興味深いものではないことを理解しますが、データベース内のアドバイザーのすべてを見直すと、同様のものを発見していません!私は、このようなEAを使用することをお勧めします。自分で書こうとしたら......3日間が無駄になりました((
エキスパートアドバイザーの取引方法(5つある)を削除し、テイクプロフィットも削除してほしいです。
さあ)
こんにちは。写真のようなソフトウェアアルゴリズムを実行できる人はいますか?手を動かして試しているところです。しかし、モニターの前に座っているのは面倒です。少しは自動化したいですね。ポジションのオープンを自動化したいのですが。私は、利益のために別のプログラムでそれらを閉じたいと思います。
私はあなたの助けを求めている、私は成功しなかった、それは一方向に全体の束を開くか、またはスキップする。MQLを長く勉強して、何がどうなっているのか理解しなければならない。そのため、皆さんの力をお借りしたいのです。
ここではっきりしたようです。1.4125の売りストップが 開かれたら、1.4135に買いストップを置き、LotUpを掛け、他のプログラムが全て閉じるまで、そのロットを続けます。
セルゲイさんへ
私は無料でアドバイザーを書きますが、一度に1つ、それを必要とする人に電子メールhttp://forum.fortrader.ru/index.php?board=3.0
を弖紗することができます.瑟瑟.瑟瑟.瑟瑟.瑟瑟.瑟瑟.瑟瑟.瑟瑟.瑟瑟 .瑟瑟.瑟瑟.瑟瑟.瑟瑟.瑟瑟 .瑟瑟.瑟瑟.瑟瑟.瑟瑟 .瑟瑟瑟.をご覧ください。
を恬撹し、恬撹を恬撹し、恬撹を恬撹し、恬撹を恬撹し、恬撹を恬撹し、恬撹を恬撹し、恬撹を恬撹し、...............恬淡な、恬淡な、恬淡な、恬淡な、恬淡な、恬淡な、恬淡な。をご覧ください。
プライベートのみ。