[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 116 1...109110111112113114115116117118119120121122123...652 新しいコメント Victor Nikolaev 2011.08.21 12:54 #1151 Roman.: EAでインジケータを開くことができないというエラーが発生する理由を教えてください。 この条件を満たしている。 -パラメータのリスト(必要な場合)。送信されるパラメータは、カスタムインジケータの外部変数(extern)の宣言順と型が一致している必要があります。 インジケーターの名称を確認する必要があります。 である可能性があります。 Роман 2011.08.21 13:01 #1152 Vinin: インジケータ名を確認する必要がありますね。 それが何であるかはわからない。 名前を確認しました。いいんです。図解すると... 追伸:5桁のDCターミナルを設置し、そこにすべてを移し、再度すべてをダブルチェックし、たくさんのコードを編集しましたが、もうそのようなエラーは起こりません。 削除済み 2011.08.21 13:25 #1153 MQLプログラミングの達人たちよ、新参者が問題を解決するのを助けてくれ。プログラムが正しく動作しない、やるべきことができない。私のエラーの原因を教えてください。プログラムに必要なのは 1.注文を開き、PriceBuy変数に始値の 値を代入し、それに関するメッセージを表示する。 2.TakeProfitに達した時点で、同じ条件で新規注文を出す。 extern double PriceBuy = 0; extern bool Buy = true; extern bool number = false; int start() { if(Buy) { int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-100*Point,Bid+100*Point); if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES). PriceBuy=OrderOpenPrice(); Alert("Buy Price = ",PriceBuy); Buy = false; number = true;}; Alert("Buy Price = ",PriceBuy); Alert("Buy Price = false"); Number = true;}. if (Bid+100*Point<=PriceBuy && number) {PriceBuy = 0; number = false; Buy=true;}。 return; } よろしくお願いします。 [ARCHIVE] Any rookie question, [アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. Buy order problems Andrey F. Zelinsky 2011.08.21 13:43 #1154 OTPOK: MQLプログラミングの達人たちよ、新参者が問題を解決するのを助けてくれ。プログラムが正しく動作しない、やるべきことができない。私のエラーの原因を教えてください。プログラムに必要なのは 1. 注文をオープンし、PriceBuy変数にオープンプライスの値を代入し、それに関するメッセージを表示します。 TakeProfitに達したときに、同じ条件で新規注文を 出すこと。 以下はプログラムコードです。 extern double PriceBuy = 0; extern bool Buy = true; extern bool number = false; int start() { もし(買い) { int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-100*Point,Ask+100*Point)とします。 if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) PriceBuy=OrderOpenPrice()です。 Alert("買い値 = ",PriceBuy); 購入=falseとする。 number = true;}。 if(Bid+100*Point<=PriceBuy&& number) {PriceBuy = 0; number = false とする。 Buy=true;}。 を返します。 } ありがとうございました。 ビッド>=プライスバイ+100*ポイント toropchin 2011.08.21 16:13 #1155 kernel32.dllのCreateNamedPipe()関数を接続したいのですが、どうすればよいですか?Dwordタイプのフラグを処方してほしい。 私はこの方法でやっています。 #define ACCESS_SYSTEM_SECURITY 0x01000000L 当然、コンパイラは最後のLに悪態をつく。どうすればいいか教えてください。 Роман 2011.08.22 00:56 #1156 Vinin: インジケータ名を確認する必要がありますね。 そうかもしれませんね。 そう、本当にビクター、私の間違いは、自動的に 対処しようとしたことだ...。:-)) を経由してインジケータに接続します。 ... string short_name; ... short_name="NonLagMA"; IndicatorShortName(short_name); ... ...iCustom()を通してインジケータの値にアドレスするとき、つまり、それらが一致しないとき、インジケータはその「通常」の名前によってのみアドレスされるべきです、私は「短い」および「通常」の名前を見つけませんでした。 ありがとうございます。 [Deleted] 2011.08.22 01:15 #1157 こんにちは。 エラーを見つけるのに協力してください。 このコードは、価格がチャート上に引かれたラインを超えたら、すべてのポジションを決済するように設計されています。ほとんどの場合、そうです。しかし、定期的に2つの不具合が発生します。価格がラインを超えたが、ポジションが決済されない。2.線は現在の価格 水準と(斜めに)交差しているが、一致しない(現在のローソク足に影響しない)、一方、すべてのポジションは閉じている(これは起こってはならないことである)。 int start() { //============== Закрытие по линии Close ======================================== int bar1,bar2,bar3; if (Draw_Close && ObjectFind("LINES CLOSE")==-1) { bar3 = searcFR(0,1);bar2 = searcFR(bar3,-1);bar1 = searcFR(bar2,1); drawline("LINES CLOSE",Color_Close,Time[bar1],High[bar1]+15*Point,Time[bar3],High[bar3]+15*Point); } string order = checkapp(); if (order=="LINES CLOSE") {DeleteAllOtlozh_b(); CloseAll_b(DeleteOtlozh,Proskalz); ObjectDelete("LINES CLOSE"); ObjectDelete("LINES CLOSE n"); Draw_Close = false; if(UseAlert){ Alert("Уровень достигнут, заблокирован"); } } } //================================================================================== //=========== Вычисление линии Close ================================================================= int searcFR(int bar, int UP_DN) { while(true)//ищем 1 фрактал после bar { bar++; if (Fractal(bar) == UP_DN) return(bar);} return(0); } //-------------------------------------------------------------------------- int Fractal(int br) { if (br <= 2) return(0); if (High[br] >= High[br+1] && High[br] > High[br+2] && High[br] >= High[br-1] && High[br] > High[br-2]) return( 1); if (Low [br] <= Low [br+1] && Low [br] < Low [br+2] && Low [br] <= Low [br-1] && Low [br] < Low [br-2]) return(-1); return(0); } //------------------------------------------------------------------- int drawline(string Name, color col,int X1,double Y1,int X2,double Y2) { if (ObjectFind(Name)==0)return; //Если обьект существует int X1g=Time[0]; int X2g=Time[0]+Period()*1200; double Y1g=Y1+(Y2-Y1)*(X1g-X1)/(X2-X1); double Y2g=Y1+(Y2-Y1)*(X2g-X1)/(X2-X1); ObjectCreate(Name, OBJ_TREND, 0,X1g,Y1g,X2g,Y2g); ObjectSet (Name, OBJPROP_COLOR, col); ObjectSet (Name, OBJPROP_STYLE, STYLE_SOLID); ObjectSet (Name, OBJPROP_WIDTH, 2); ObjectSet (Name, OBJPROP_BACK, false); ObjectSet (Name, OBJPROP_RAY, false); return; } //----------------------------------------------------------------------- проверка всех линий string checkapp() { int X_1,X_2,X_3; double Y_1,Y_2,Y_3; double shift_Y = (WindowPriceMax()-WindowPriceMin()) / 50; color col; for(int n=ObjectsTotal()-1; n>=0; n--) { string Obj_N=ObjectName(n); if (ObjectType(Obj_N)!=OBJ_TREND) continue; if (StringFind(Obj_N,"LINES ",0)!=-1)//найден обьект-тренд к которому вычисляется приближение { X_1 = ObjectGet(Obj_N, OBJPROP_TIME1); X_2 = ObjectGet(Obj_N, OBJPROP_TIME2); ObjectDelete (Obj_N+" n"); if (X_1>X_2 || X_2<Time[0]) {continue;}//ObjectDelete(Obj_N); Y_1 = ObjectGet(Obj_N, OBJPROP_PRICE1); Y_2 = ObjectGet(Obj_N, OBJPROP_PRICE2); col= ObjectGet(Obj_N, OBJPROP_COLOR); ObjectCreate (Obj_N+" n", OBJ_TEXT,0,X_1-Period()*60,Y_1+shift_Y,0,0,0,0); ObjectSetText(Obj_N+" n",StringSubstr(Obj_N,6,5) ,7,"Arial"); ObjectSet (Obj_N+" n", OBJPROP_COLOR, col); if (X_1<=Time[0] && X_2>=Time[0])//попадает во временной диапазон { X_3=Time[0];Y_3=Y_1+(Y_2-Y_1)*(X_3-X_1)/(X_2-X_1);//уравнение прямой if (Y_3>=Bid&&Y_3<=Ask) { return(Obj_N); } } } } } あらかじめご了承ください。 [Deleted] 2011.08.22 07:01 #1158 nemo811: エラーを見つけるのに協力してください。 質問を撤回し、私はそれを理解しました。 toropchin 2011.08.22 08:59 #1159 toropchin: kernel32.dllのCreateNamedPipe()関数を接続したいのですが、どうすればよいですか?Dwordタイプのフラグを処方してほしい。 私はこの方法でやっています。 #define ACCESS_SYSTEM_SECURITY 0x01000000L 当然、コンパイラは最後のLに悪態をつく。何かアドバイスがあれば教えてください。 ずん子。 桁を削除します。8ビットしかありえない。MQL4は大きなものには対応できない。 余分なゼロを削除する必要があります。次のように試してみてください:0x1000000L こうはいかないんです。コンパイラがエラー'0x1000000L' を表示 - 無効な数値 Vadim Zhunko 2011.08.22 09:47 #1160 toropchin: そのようなことはありません。コンパイラはエラー'0x1000000L' - 無効な番号を 生成します。 夜は全く考えず...。:-))16ビットシステムには、そのような数値はありません。定型の識別子である。 Lを削除する必要があります:0x01000000 1...109110111112113114115116117118119120121122123...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
EAでインジケータを開くことができないというエラーが発生する理由を教えてください。
この条件を満たしている。
-パラメータのリスト(必要な場合)。送信されるパラメータは、カスタムインジケータの外部変数(extern)の宣言順と型が一致している必要があります。
インジケーターの名称を確認する必要があります。 である可能性があります。
インジケータ名を確認する必要がありますね。 それが何であるかはわからない。
名前を確認しました。いいんです。図解すると...
追伸:5桁のDCターミナルを設置し、そこにすべてを移し、再度すべてをダブルチェックし、たくさんのコードを編集しましたが、もうそのようなエラーは起こりません。
1.注文を開き、PriceBuy変数に始値の 値を代入し、それに関するメッセージを表示する。
2.TakeProfitに達した時点で、同じ条件で新規注文を出す。
extern double PriceBuy = 0;
extern bool Buy = true;
extern bool number = false;
int start()
{
if(Buy)
{
int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-100*Point,Bid+100*Point);
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES).
PriceBuy=OrderOpenPrice();
Alert("Buy Price = ",PriceBuy);
Buy = false;
number = true;}; Alert("Buy Price = ",PriceBuy); Alert("Buy Price = false"); Number = true;}.
if (Bid+100*Point<=PriceBuy && number)
{PriceBuy = 0;
number = false;
Buy=true;}。
return;
}
よろしくお願いします。
MQLプログラミングの達人たちよ、新参者が問題を解決するのを助けてくれ。プログラムが正しく動作しない、やるべきことができない。私のエラーの原因を教えてください。プログラムに必要なのは
1. 注文をオープンし、PriceBuy変数にオープンプライスの値を代入し、それに関するメッセージを表示します。
TakeProfitに達したときに、同じ条件で新規注文を 出すこと。
以下はプログラムコードです。
extern double PriceBuy = 0;
extern bool Buy = true;
extern bool number = false;
int start()
{
もし(買い)
{
int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-100*Point,Ask+100*Point)とします。
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
PriceBuy=OrderOpenPrice()です。
Alert("買い値 = ",PriceBuy);
購入=falseとする。
number = true;}。
if(Bid+100*Point<=PriceBuy&& number)
{PriceBuy = 0;
number = false とする。
Buy=true;}。
を返します。
}
ありがとうございました。
ビッド>=プライスバイ+100*ポイント
kernel32.dllのCreateNamedPipe()関数を接続したいのですが、どうすればよいですか?Dwordタイプのフラグを処方してほしい。
私はこの方法でやっています。
#define ACCESS_SYSTEM_SECURITY 0x01000000L
当然、コンパイラは最後のLに悪態をつく。どうすればいいか教えてください。
インジケータ名を確認する必要がありますね。 そうかもしれませんね。
そう、本当にビクター、私の間違いは、自動的に 対処しようとしたことだ...。:-)) を経由してインジケータに接続します。
...iCustom()を通してインジケータの値にアドレスするとき、つまり、それらが一致しないとき、インジケータはその「通常」の名前によってのみアドレスされるべきです、私は「短い」および「通常」の名前を見つけませんでした。
ありがとうございます。
こんにちは。
エラーを見つけるのに協力してください。
このコードは、価格がチャート上に引かれたラインを超えたら、すべてのポジションを決済するように設計されています。ほとんどの場合、そうです。しかし、定期的に2つの不具合が発生します。価格がラインを超えたが、ポジションが決済されない。2.線は現在の価格 水準と(斜めに)交差しているが、一致しない(現在のローソク足に影響しない)、一方、すべてのポジションは閉じている(これは起こってはならないことである)。
あらかじめご了承ください。
エラーを見つけるのに協力してください。
質問を撤回し、私はそれを理解しました。
kernel32.dllのCreateNamedPipe()関数を接続したいのですが、どうすればよいですか?Dwordタイプのフラグを処方してほしい。
私はこの方法でやっています。
#define ACCESS_SYSTEM_SECURITY 0x01000000L
当然、コンパイラは最後のLに悪態をつく。何かアドバイスがあれば教えてください。
桁を削除します。8ビットしかありえない。MQL4は大きなものには対応できない。
余分なゼロを削除する必要があります。次のように試してみてください:0x1000000L
こうはいかないんです。コンパイラがエラー'0x1000000L' を表示 - 無効な数値
そのようなことはありません。コンパイラはエラー'0x1000000L' - 無効な番号を 生成します。
夜は全く考えず...。:-))16ビットシステムには、そのような数値はありません。定型の識別子である。
Lを削除する必要があります:0x01000000