MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 349 1...342343344345346347348349350351352353354355356...1953 新しいコメント Nauris Zukas 2017.10.25 08:37 #3481 iCustom経由でインジケーターに動的な入力パラメータを渡すことは可能ですか?これを実行しようとすると、新しい動的入力パラメータごとに、新しいインジケータ・ウィンドウが開きます。 if(NewBarCur())BulsPeriod++; double sep_window=iCustom(Symbol(),PERIOD_CURRENT,"Bulls",BulsPeriod,0,0); Nauris Zukas 2017.10.25 09:33 #3482 それとこの質問ですが、例えばテストチャートの残り時間が1バーなのか3分なのかを知る方法はないのでしょうか? vkravtzov 2017.10.26 13:24 #3483 Artyom Trishkin:このスレッドでは、新しいMQL4でプログラミングを理解し、学び、MQL5に簡単に切り替えたいと考えている人たちの手助けを始めたいと思います - 言語は非常によく似ています。タスクやそれを解決するためのアルゴリズムなど、とにかくMTプログラミングに関連する疑問について話し合う場とします。当フォーラムの他の経験豊富なメンバーにも参加してもらい、このスレッドが皆にとって興味深いものになることを期待しています。アルチョム・トリシキンこのブランチでは、新しいMQL4でプログラミングを本当に理解し学びたい、そしてMQL5に簡単に切り替えたい、つまり言語が非常に似ている、という方々のお手伝いを始めたいと思います。MTのプログラミングに関する問題やアルゴリズム、その他の質問について議論する良い場となるでしょう。当フォーラムの他の経験豊富なメンバーも一緒になって問題を解決し、このスレッドが皆の興味を引くことを期待しています。アルチョム・トリシキンこのブランチでは、新しいMQL4でプログラミングを本当に理解し学びたい、そしてMQL5に簡単に切り替えたい、つまり言語が非常に似ている、という方々のお手伝いを始めたいと思います。MTのプログラミングに関する問題やアルゴリズム、その他の質問について議論する良い場となるでしょう。当フォーラムの他の経験豊富なメンバーにも参加してもらい、このトピックが皆にとって興味深いものになることを期待しています。アルチョム・トリシキンこのブランチでは、新しいMQL4でプログラミングを本当に理解し学びたい、そしてMQL5に簡単に切り替えたい、つまり言語が非常に似ている、という方々のお手伝いを始めたいと思います。MTのプログラミングに関する問題やアルゴリズム、その他の質問について議論する良い場となるでしょう。当フォーラムの他の経験豊富なメンバーにも参加してもらい、このトピックが皆にとって興味深いものになることを期待しています。アルチョム・トリシキンこのブランチでは、新しいMQL4でプログラミングを本当に理解し学びたい、そしてMQL5に簡単に切り替えたい、つまり言語が非常に似ている、という方々のお手伝いを始めたいと思います。この場では、タスクやその解決方法、その他MTプログラミングに関連するあらゆる疑問について議論することができます。当フォーラムの他の経験豊富なメンバーにも参加してもらい、このトピックが皆にとって興味深いものになることを期待しています。アルチョムアルチョム・トリシキンこの章は、新しいMQL4でプログラミングを本当に理解し、学びたい人、そしてMQL5に簡単に切り替えたい人のために始めたいと思います - 言語はとてもよく似ています。ここは、タスクやそれを解決するためのアルゴリズム、その他MTプログラミングに一通り関連するあらゆる疑問について議論する場です。当フォーラムの他の経験豊富なメンバーも一緒になって問題を解決し、このスレッドが皆の興味を引くことを期待しています。 助けてください、私は自分のEAにトレーリングストップ機能を追加しました、私はそれをテストし、それは私に2つのエラーを与える。- どう直せばいいのかわからない。しかし、取引は旧来の戦略に従って、価格がチャンネルの上限と下限にそれぞれタッチした後に終了します。ここでも何かを変えなければならないのでしょう。- DNRの軍隊の連中を呼び戻す。#property copyright "Copyright 2017, MetaQuotes Software Corp.#プロパティリンク "https://www.mql5.com"#property version "1.00"#プロパティの厳密さ//---------------------------------------------------------extern double Lots = 0.01;extern int TakeProfit = 600;extern int StopLoss = 25;extern int Magic = 0001;extern int Slippage = 3;extern int TralType = 0; // 0-SAR、1-ATR、2-HMA。extern double SAR_Step = 0.02;extern double SAR_Max = 0.2;extern int ATR_Period = 14;extern double ATR_K = 2.0;extern inttern HMA_Period = 16;extern intern HMA_Method = 3;extern inttern HMA_Shift = 0;datetime LBT。//---------------------------------------------------------extern string TMA = "TMAインジケータパラメータ";extern string TimeFrame = "現在の時間枠";extern int HalfLength = 56;extern int Price = "PRICE_CLOSE;extern double ATRMultiplier = 2.0;extern inttern ATRPeriod = 100;extern bool Interpolate = true;//---------------------------------------------------------Double PriceHigh, PriceLow, SL, TP;int ticketです。//+------------------------------------------------------------------+//| 専門家による初期化機能//+------------------------------------------------------------------+int OnInit(){if (Digits == 3 || Digits == 5){TakeProfit *= 10;StopLoss *= 10;スリッページ *= 10;}return(INIT_SUCCEEDED);}//+------------------------------------------------------------------+//| 専門家による初期化関数//+------------------------------------------------------------------+void OnDeinit(const int reason){}//+------------------------------------------------------------------+//| エキスパートティック機能//+------------------------------------------------------------------+void OnTick(){PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0)です。PriceLow = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0)です。if(CountSell() == 0 && Bid >= PriceHigh){ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "TMA robot", Magic, 0, Red)です。仮{SL = NormalizeDouble(Bid + StopLoss*Point, Digits)です。TP = NormalizeDouble(Bid - TakeProfit*Point, Digits)です。if (OrderSelect(ticket, SELECT_BY_TICKET))if (!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0))Print(" 注文変更エラー!")}}if (CountBuy() == 0 && Ask <= PriceLow){ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "TMA robot", Magic, 0, Blue)です。仮{TP = NormalizeDouble(Ask + TakeProfit*Point, Digits)です。SL = NormalizeDouble(Ask - StopLoss*Point, Digits)です。if (OrderSelect(ticket, SELECT_BY_TICKET))if(!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0))Print("買い注文の修正に失敗しました!")} else Print("Error opening Buy order");}//+------------------------------------------------------------------+//| 専門家による初期化機能//+------------------------------------------------------------------+int init(){//--------//--------を返します(0)。}//+------------------------------------------------------------------+//| エキスパートティック機能//+------------------------------------------------------------------+void OnTick(){PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0)です。PriceLow = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0)です。if(CountSell() == 0 && Bid >= PriceHigh){ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "TMA robot", Magic, 0, Red)です。仮{SL = NormalizeDouble(Bid + StopLoss*Point, Digits)です。TP = NormalizeDouble(Bid - TakeProfit*Point, Digits)です。if (OrderSelect(ticket, SELECT_BY_TICKET))if (!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0))Print("売り注文の修正に失敗しました!")} else Print("売り注文の開始でエラー!")}if (CountBuy() == 0 && Ask <= PriceLow){ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "TMA robot", Magic, 0, Blue)です。仮{TP = NormalizeDouble(Ask + TakeProfit*Point, Digits)です。SL = NormalizeDouble(Ask - StopLoss*Point, Digits)です。if (OrderSelect(ticket, SELECT_BY_TICKET))if(!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0))Print("買い注文の修正に失敗しました!")} else Print("Error opening Buy order");}if (Ask <= PriceLow && CountSell() > 0){for (int i = OrdersTotal() -1; i>0; i--){if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)if (!OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Black))Print("売り注文終了エラー!")}}}if (Bid >= PriceHigh && CountBuy() > 0){for (int i = OrdersTotal() -1; i>0; i--){if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)if(!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Black))Print("OrderClose買いエラー!")}}}}//+------------------------------------------------------------------+int CountSell(){int count = 0;for (int trade = OrdersTotal()-1; trade>=0; trade--){if(OrderSelect(trade, SELECT_BY_POS, MODE_TRADES)){if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL)count++です。}}return(count)です。}//+------------------------------------------------------------------+int CountBuy(){int count = 0;for (int trade = OrdersTotal()-1; trade>=0; trade--){if(OrderSelect(trade, SELECT_BY_POS, MODE_TRADES)){if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY)count++です。}}return(count)です。}//+------------------------------------------------------------------+//| 専門家による初期化関数//+------------------------------------------------------------------+int deinit(){//+-------//+-------返す}//+------------------------------------------------------------------+//| エキスパートスタート機能//+------------------------------------------------------------------+int Start(){//-----bool error = fals;if (LBT!=Time[0]) { { { (LBT!if (OrdersTotal()!=0){。for (int i=0; i<OrdersTotal(); i++){if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()<2) {。double SL = OrderStopLoss();if OrderType()==0) { {.switch (TralType) {case 0: SL = iSAR(NULL,0,SAR_Step,SAR_Max,0);が壊れる。ケース1:SL = High[1] - iATR(NULL,0,ATR,Period,1)*ATR_K;が壊れる。case 2: SL = iCustom(NULL,0, "VinI_HMAsound&",HMA_Period,HMA_Method,3,HMA_Shift, fals,fals,",1,0,0);が壊れる。}if (SL<OrderStopLoss())SL = OrderStopLoss()。}if (OrderType()==1)の場合{。switch (TralType) {case 0: SL = iSAR(NULL,0,SAR_Step,SAR_Max,0);が壊れる。ケース1:SL = Low[1] + iATR(NULL,0,ATR,Period,1)*ATR_K;が壊れる。case 2: SL = iCustom(NULL,0, "VinI_HMAsound&",HMA_Period,HMA_Method,3,HMA_Shift, fals,fals,",1,0,0);が壊れる。}if (SL>OrderStopLoss())SL = OrderStopLoss()。}if (SL!=OrderStopLoss()の場合){if(!OrderModify(OrderTicket(),OrderOpenPrice(),SL,OrderTakeProfit(),0))error = true とする。}}}}if (!エラー)LBT = Time[0];}を返します(0)。}//+------------------------------------------------------------------+ mql4アドバイザーを無料で書かせていただきます。 どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - I will write a Alexey Viktorov 2017.10.26 15:13 #3484 vkravtzov:コードの挿入 方法を学ぼう!!!コードの挿入を覚えよう!!!コードの挿入方法を学ぼう!!!コードの挿入方法を学ぼう!!!コードの挿入方法を学ぼう!!!コードの挿入方法を学ぼう!!!コードの挿入方法を学ぼう!!!コードの挿入方法を学ぼう!!!コードの挿入方法を学ぼう!!!コードの挿入を覚えよう!!! Konstantin Erin 2017.10.26 17:36 #3485 vkravtzov: Expert Advisorにトレーリングストップ機能を追加し、テストしたところ、2つのエラーが発生したのですが、理解できますか?- 脳みそが割れてしまった、どうしたら治るのかわからない。しかし、取引は旧来の戦略に従って、価格がチャンネルの上限と下限にそれぞれタッチした後に終了します。ここでも何かを変えなければならないのでしょう。- dnrの軍隊の連中に呼び戻す。手伝うことにした。しかし、作者に質問が あります。2つの初期化関数がありますが、これは何をするものなのでしょうか?//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { if (Digits == 3 || Digits == 5) { TakeProfit *= 10; StopLoss *= 10; Slippage *= 10; } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int init() { //-------- //-------- return (0); }2つのOnTick()関数と 3つ目の関数int Start()があり、これらはすべてティックの到着とともに実行されます。また、端末はどのような順番で起動するのでしょうか?エラー:OnTick()関数の 最後に閉じ角括弧がありません。//+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0); PriceLow = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0); if(CountSell() == 0 && Bid >= PriceHigh) { ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "TMA robot", Magic, 0, Red); if (ticket > 0) { SL = NormalizeDouble(Bid + StopLoss*Point, Digits); TP = NormalizeDouble(Bid - TakeProfit*Point, Digits); if (OrderSelect(ticket, SELECT_BY_TICKET)) if (!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0)) Print("Ошибка модификации ордера на продажу!"); } } if (CountBuy() == 0 && Ask <= PriceLow) { ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "TMA robot", Magic, 0, Blue); if (ticket > 0) { TP = NormalizeDouble(Ask + TakeProfit*Point, Digits); SL = NormalizeDouble(Ask - StopLoss*Point, Digits); if (OrderSelect(ticket, SELECT_BY_TICKET)) if(!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0)) Print("Ошибка модификации ордера на покупку!"); } else Print("Ошибка открытия ордера на покупку"); } } // Эту скобку добавил !!!!!!!!!!!!!!!!!!!!!!!!!これで、コンパイラは8つのエラーを検出しました。削除しました。//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int init() { //-------- //-------- return (0); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //+------- //+------- return (0); } 現在、7つのエラーがあります。if(OrderType()==0)の後に括弧を付けて置き換えました: if(OrderType()==0) - 8つのエラーが発生しました。iATR(NULL,0,ATR,Period,1) - 必要です iATR(NULL,0,ATR_Period,1) - 2つのエラーが発生しました。bool error = fals; が必要である。 bool error = false; - エラー数は3個になった。VininI_HMAsound&のインジケータはどこで手に入りますか? どんなパラメータがありますか? = エラーになるのはまだ1です。また、なぜ3カ所で質問をするのですか? vovik36 Степанов 2017.10.26 19:22 #3486 ヘルプダウンロードとインストール無料EAsと信号のMT4にはないneemoguとしてダウンロードビデオのみをインストールする方法が、ないダウンロード。どこを見ればいいのか教えてください Vitaly Muzichenko 2017.10.26 20:04 #3487 vovik36 Степанов:ヘルプダウンロードとインストール無料EAsと信号のMT4にはないneemoguとしてダウンロードビデオのみをインストールする方法が、ないダウンロード。どこを見ればいいのかアドバイスしてください。まず卒業して、それから来てください。 Rustam Bikbulatov 2017.10.26 21:51 #3488 Artyom Trishkin:どうですか? for(i=pos; i<rates_total && !IsStopped(); i++) { double dmin=1000000.0; double dmax=-1000000.0; for(k=i-InpKPeriod+1; k<=i; k++) {double ima=iMA(Symbol(),1,60,0,1,0,k); if(dmin>ima) dmin=ima; if(dmax<ima) dmax=ima; Comment(ima); } ExtLowesBuffer[i]=dmin; ExtHighesBuffer[i]=dmax; } こんにちは。ima=iMA(Symbol(),1,60,0,1,0,k) が表示されないのですが、どうしてでしょうか?コメントには、ラインそのものよりもはるかに高い引用が表示されます。最小値、最大値が正しく計算されないのはそのせいです。 Maxim Kuznetsov 2017.10.26 21:58 #3489 Rustam Bikbulatov: こんにちは。ima=iMA(NULL,60,24,0,1,0,k) が表示されないのですが、どうしてでしょうか?コメントを通して、回線そのものよりもはるかに高い引用度を示しています。このため、最小値、最大値が正しく計算されない。 iMAは時系列のようにナンバリングされており、0が最も関連性の高い数字です。あなたの場合はその逆かもしれません Rustam Bikbulatov 2017.10.26 22:00 #3490 Maxim Kuznetsov: iMAは時系列のようにナンバリングされており、0が最も関連性の高い数字です。そして、おそらくその逆もあることでしょう。意図しない賭けに出てしまうのです。何も変わらないんです。まさに、kと間違って表示されるのがポイントです! 1...342343344345346347348349350351352353354355356...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
iCustom経由でインジケーターに動的な入力パラメータを渡すことは可能ですか?これを実行しようとすると、新しい動的入力パラメータごとに、新しいインジケータ・ウィンドウが開きます。
このスレッドでは、新しいMQL4でプログラミングを理解し、学び、MQL5に簡単に切り替えたいと考えている人たちの手助けを始めたいと思います - 言語は非常によく似ています。
タスクやそれを解決するためのアルゴリズムなど、とにかくMTプログラミングに関連する疑問について話し合う場とします。
当フォーラムの他の経験豊富なメンバーにも参加してもらい、このスレッドが皆にとって興味深いものになることを期待しています。
このブランチでは、新しいMQL4でプログラミングを本当に理解し学びたい、そしてMQL5に簡単に切り替えたい、つまり言語が非常に似ている、という方々のお手伝いを始めたいと思います。
MTのプログラミングに関する問題やアルゴリズム、その他の質問について議論する良い場となるでしょう。
当フォーラムの他の経験豊富なメンバーも一緒になって問題を解決し、このスレッドが皆の興味を引くことを期待しています。
このブランチでは、新しいMQL4でプログラミングを本当に理解し学びたい、そしてMQL5に簡単に切り替えたい、つまり言語が非常に似ている、という方々のお手伝いを始めたいと思います。
MTのプログラミングに関する問題やアルゴリズム、その他の質問について議論する良い場となるでしょう。
当フォーラムの他の経験豊富なメンバーにも参加してもらい、このトピックが皆にとって興味深いものになることを期待しています。
このブランチでは、新しいMQL4でプログラミングを本当に理解し学びたい、そしてMQL5に簡単に切り替えたい、つまり言語が非常に似ている、という方々のお手伝いを始めたいと思います。
MTのプログラミングに関する問題やアルゴリズム、その他の質問について議論する良い場となるでしょう。
当フォーラムの他の経験豊富なメンバーにも参加してもらい、このトピックが皆にとって興味深いものになることを期待しています。
このブランチでは、新しいMQL4でプログラミングを本当に理解し学びたい、そしてMQL5に簡単に切り替えたい、つまり言語が非常に似ている、という方々のお手伝いを始めたいと思います。
この場では、タスクやその解決方法、その他MTプログラミングに関連するあらゆる疑問について議論することができます。
当フォーラムの他の経験豊富なメンバーにも参加してもらい、このトピックが皆にとって興味深いものになることを期待しています。
アルチョム
この章は、新しいMQL4でプログラミングを本当に理解し、学びたい人、そしてMQL5に簡単に切り替えたい人のために始めたいと思います - 言語はとてもよく似ています。
ここは、タスクやそれを解決するためのアルゴリズム、その他MTプログラミングに一通り関連するあらゆる疑問について議論する場です。
当フォーラムの他の経験豊富なメンバーも一緒になって問題を解決し、このスレッドが皆の興味を引くことを期待しています。
助けてください、私は自分のEAにトレーリングストップ機能を追加しました、私はそれをテストし、それは私に2つのエラーを与える。- どう直せばいいのかわからない。しかし、取引は旧来の戦略に従って、価格がチャンネルの上限と下限にそれぞれタッチした後に終了します。ここでも何かを変えなければならないのでしょう。- DNRの軍隊の連中を呼び戻す。
#property copyright "Copyright 2017, MetaQuotes Software Corp.
#プロパティリンク "https://www.mql5.com"
#property version "1.00"
#プロパティの厳密さ
//---------------------------------------------------------
extern double Lots = 0.01;
extern int TakeProfit = 600;
extern int StopLoss = 25;
extern int Magic = 0001;
extern int Slippage = 3;
extern int TralType = 0; // 0-SAR、1-ATR、2-HMA。
extern double SAR_Step = 0.02;
extern double SAR_Max = 0.2;
extern int ATR_Period = 14;
extern double ATR_K = 2.0;
extern inttern HMA_Period = 16;
extern intern HMA_Method = 3;
extern inttern HMA_Shift = 0;
datetime LBT。
//---------------------------------------------------------
extern string TMA = "TMAインジケータパラメータ";
extern string TimeFrame = "現在の時間枠";
extern int HalfLength = 56;
extern int Price = "PRICE_CLOSE;
extern double ATRMultiplier = 2.0;
extern inttern ATRPeriod = 100;
extern bool Interpolate = true;
//---------------------------------------------------------
Double PriceHigh, PriceLow, SL, TP;
int ticketです。
//+------------------------------------------------------------------+
//| 専門家による初期化機能
//+------------------------------------------------------------------+
int OnInit()
{
if (Digits == 3 || Digits == 5)
{
TakeProfit *= 10;
StopLoss *= 10;
スリッページ *= 10;
}
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| 専門家による初期化関数
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| エキスパートティック機能
//+------------------------------------------------------------------+
void OnTick()
{
PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0)です。
PriceLow = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0)です。
if(CountSell() == 0 && Bid >= PriceHigh)
{
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "TMA robot", Magic, 0, Red)です。
仮
{
SL = NormalizeDouble(Bid + StopLoss*Point, Digits)です。
TP = NormalizeDouble(Bid - TakeProfit*Point, Digits)です。
if (OrderSelect(ticket, SELECT_BY_TICKET))
if (!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0))
Print(" 注文変更エラー!")
}
}
if (CountBuy() == 0 && Ask <= PriceLow)
{
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "TMA robot", Magic, 0, Blue)です。
仮
{
TP = NormalizeDouble(Ask + TakeProfit*Point, Digits)です。
SL = NormalizeDouble(Ask - StopLoss*Point, Digits)です。
if (OrderSelect(ticket, SELECT_BY_TICKET))
if(!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0))
Print("買い注文の修正に失敗しました!")
} else Print("Error opening Buy order");
}
//+------------------------------------------------------------------+
//| 専門家による初期化機能
//+------------------------------------------------------------------+
int init()
{
//--------
//--------
を返します(0)。
}
//+------------------------------------------------------------------+
//| エキスパートティック機能
//+------------------------------------------------------------------+
void OnTick()
{
PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0)です。
PriceLow = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0)です。
if(CountSell() == 0 && Bid >= PriceHigh)
{
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "TMA robot", Magic, 0, Red)です。
仮
{
SL = NormalizeDouble(Bid + StopLoss*Point, Digits)です。
TP = NormalizeDouble(Bid - TakeProfit*Point, Digits)です。
if (OrderSelect(ticket, SELECT_BY_TICKET))
if (!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0))
Print("売り注文の修正に失敗しました!")
} else Print("売り注文の開始でエラー!")
}
if (CountBuy() == 0 && Ask <= PriceLow)
{
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "TMA robot", Magic, 0, Blue)です。
仮
{
TP = NormalizeDouble(Ask + TakeProfit*Point, Digits)です。
SL = NormalizeDouble(Ask - StopLoss*Point, Digits)です。
if (OrderSelect(ticket, SELECT_BY_TICKET))
if(!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0))
Print("買い注文の修正に失敗しました!")
} else Print("Error opening Buy order");
}
if (Ask <= PriceLow && CountSell() > 0)
{
for (int i = OrdersTotal() -1; i>0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)
if (!OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Black))
Print("売り注文終了エラー!")
}
}
}
if (Bid >= PriceHigh && CountBuy() > 0)
{
for (int i = OrdersTotal() -1; i>0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)
if(!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Black))
Print("OrderClose買いエラー!")
}
}
}
}
//+------------------------------------------------------------------+
int CountSell()
{
int count = 0;
for (int trade = OrdersTotal()-1; trade>=0; trade--)
{
if(OrderSelect(trade, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL)
count++です。
}
}
return(count)です。
}//+------------------------------------------------------------------+
int CountBuy()
{
int count = 0;
for (int trade = OrdersTotal()-1; trade>=0; trade--)
{
if(OrderSelect(trade, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY)
count++です。
}
}
return(count)です。
}
//+------------------------------------------------------------------+
//| 専門家による初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//+-------
//+-------
返す
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int Start()
{
//-----
bool error = fals;
if (LBT!=Time[0]) { { { (LBT!
if (OrdersTotal()!=0){。
for (int i=0; i<OrdersTotal(); i++){
if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()<2) {。
double SL = OrderStopLoss();
if OrderType()==0) { {.
switch (TralType) {
case 0: SL = iSAR(NULL,0,SAR_Step,SAR_Max,0);
が壊れる。
ケース1:SL = High[1] - iATR(NULL,0,ATR,Period,1)*ATR_K;
が壊れる。
case 2: SL = iCustom(NULL,0, "VinI_HMAsound&",HMA_Period,HMA_Method,3,HMA_Shift, fals,fals,",1,0,0);
が壊れる。
}
if (SL<OrderStopLoss())
SL = OrderStopLoss()。
}
if (OrderType()==1)の場合{。
switch (TralType) {
case 0: SL = iSAR(NULL,0,SAR_Step,SAR_Max,0);
が壊れる。
ケース1:SL = Low[1] + iATR(NULL,0,ATR,Period,1)*ATR_K;
が壊れる。
case 2: SL = iCustom(NULL,0, "VinI_HMAsound&",HMA_Period,HMA_Method,3,HMA_Shift, fals,fals,",1,0,0);
が壊れる。
}
if (SL>OrderStopLoss())
SL = OrderStopLoss()。
}
if (SL!=OrderStopLoss()の場合){
if(!OrderModify(OrderTicket(),OrderOpenPrice(),SL,OrderTakeProfit(),0))
error = true とする。
}
}
}
}
if (!エラー)
LBT = Time[0];
}
を返します(0)。
}
//+------------------------------------------------------------------+
コードの挿入 方法を学ぼう!!!
コードの挿入を覚えよう!!!
コードの挿入方法を学ぼう!!!
コードの挿入方法を学ぼう!!!
コードの挿入方法を学ぼう!!!
コードの挿入方法を学ぼう!!!
コードの挿入方法を学ぼう!!!
コードの挿入方法を学ぼう!!!
コードの挿入方法を学ぼう!!!
コードの挿入を覚えよう!!!
手伝うことにした。しかし、作者に質問が あります。2つの初期化関数がありますが、これは何をするものなのでしょうか?
2つのOnTick()関数と 3つ目の関数int Start()があり、これらはすべてティックの到着とともに実行されます。また、端末はどのような順番で起動するのでしょうか?
エラー:OnTick()関数の 最後に閉じ角括弧がありません。
これで、コンパイラは8つのエラーを検出しました。削除しました。
現在、7つのエラーがあります。
if(OrderType()==0)の後に括弧を付けて置き換えました: if(OrderType()==0) - 8つのエラーが発生しました。
iATR(NULL,0,ATR,Period,1) - 必要です iATR(NULL,0,ATR_Period,1) - 2つのエラーが発生しました。
bool error = fals; が必要である。 bool error = false; - エラー数は3個になった。
VininI_HMAsound&のインジケータはどこで手に入りますか? どんなパラメータがありますか? = エラーになるのはまだ1です。
また、なぜ3カ所で質問をするのですか?
ヘルプダウンロードとインストール無料EAsと信号のMT4にはないneemoguとしてダウンロードビデオのみをインストールする方法が、ないダウンロード。どこを見ればいいのか教えてください
ヘルプダウンロードとインストール無料EAsと信号のMT4にはないneemoguとしてダウンロードビデオのみをインストールする方法が、ないダウンロード。どこを見ればいいのかアドバイスしてください。
まず卒業して、それから来てください。
どうですか?
こんにちは。ima=iMA(Symbol(),1,60,0,1,0,k) が表示されないのですが、どうしてでしょうか?コメントには、ラインそのものよりもはるかに高い引用が表示されます。最小値、最大値が正しく計算されないのはそのせいです。
こんにちは。ima=iMA(NULL,60,24,0,1,0,k) が表示されないのですが、どうしてでしょうか?コメントを通して、回線そのものよりもはるかに高い引用度を示しています。このため、最小値、最大値が正しく計算されない。
iMAは時系列のようにナンバリングされており、0が最も関連性の高い数字です。そして、おそらくその逆もあることでしょう。
意図しない賭けに出てしまうのです。何も変わらないんです。まさに、kと間違って表示されるのがポイントです!