[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 187 1...180181182183184185186187188189190191192193194...537 新しいコメント Roma 2011.03.04 14:52 #1861 NayTmeR: 例えば、線分val1[c]が上方0.45を横切った時、変数TimeBeginに時間値が代入される 交差点があるかどうかを調べてから、時刻を記憶する。 削除済み 2011.03.04 14:56 #1862 この時間をどのように変数に代入するのですか? ScioMe 2011.03.04 15:21 #1863 eddy: まあ、矢印はオープニングバーにあるんだけどね。 オープニングバーに矢印がありますが、対応する関数 - OrderSend()によって描かれています。この矢印はOrderModify()で描かれた矢印とは関係ありませんよね?OrderModify()を使って、矢印の色だけでなく、変数SLの値を変えることで、ストップロスのレベルも変えられると理解したのですが、いかがでしょうか?ヘルプに書いてあります。 boolOrderModify() int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE) 過去に建てたポジションや未決済注文の パラメータを変更します。 矢印の色を変えるだけでなく、「以前に開いた注文のパラメータを変更する」ことを意味します。ストップを変更し、矢印を描くことを示唆するものである。でも、なぜかやらないんです。 Roma 2011.03.04 15:36 #1864 のみ」は矢印のことであって、機能がどうこうということではありません。 стрелки на баре открытия есть, но нарисованные соответствующей функцией - OrderSend(). Эти стрелки же не относятся к стрелкам, рисуемым OrderModify()? つまり、ストップやテイクを設定することで、矢印が変化するのです。 Dmitry Tolmachev 2011.03.04 17:25 #1865 NayTmeR: この時間をどのように変数に代入するのですか? キムの本には、このための関数があります。 削除済み 2011.03.04 17:56 #1866 todem: キムのコレクションには、そんな特集があります。 もう少し具体的に教えてください。どこにあるのですか?キムのコレクションはどこで見ることができますか? ScioMe 2011.03.04 18:03 #1867 eddy: のみ」は矢印のことであって、機能がどうこうということではありません。 ストップやテイクを設定する機能で、矢印が変化します。 OrderModify()のマニュアルにはこう書かれています。 arrow_color - チャート上のストップロスやテイクプロフィットの修正矢印の色です。このパラメータがない場合、または値がCLR_NONEの場合、チャートに矢印は表示されません。 つまり、私が理解した限りでは、OrderModify()は「MODIFICATION arrows」と書いてあるので、OrderSendで作成した開閉矢印だけでなく、OrderModifyで作成した修正矢印もあるため、棒を描いているのだと思います。また、これらのMODIFICATION矢印は、パラメータが存在しないかCLR_NONEに 等しい場合にのみ、欠落させることができる。しかし、私のパラメータは存在し、"Green "に等しい。修正矢印の有無は、特別なパラメータはなく、そのCLR_NONEの有無で制御されていると理解しました。同じヘルパーにあるOrderSendと類推して判断しています。 arrow_color - チャート上の開始矢印の色です。パラメータがない場合、または値がCLR_NONEの場合は、グラフにオープニングの矢印は表示されません。 削除済み 2011.03.04 19:43 #1868 isCloseLastPosByStop 関数 ()についてのヘルプをお願いします。 MetaEditorの 関数isCloseLastPosByStop ()に挿入しています(ただし、https://www.mql5.com/ru/forum/107476/page21 に書かれているもののみ)。 コンパイルに失敗した後、エラーが発生します。 '(' - 関数定義が予期しない 't' - 変数が定義されていない 't' - 変数が定義されていない '}'- アンバランスな括弧 他のコードにコメントしたように、この関数です。 削除済み 2011.03.04 20:41 #1869 みなさん、こんにちは。以下のものを組み合わせるのにご協力ください。結果は、価格に沿った2本の線と、Askの20ピップ下の線となるはずです。 しかも、1tickで20ポイントも変わるとビープ音が鳴るんです。 すべて別個に問題なく動作します。ありがとうございました。 1) ラインはAskの20ピップス下にある。 //+------------------------------------------------------------------+ //| エキスパート初期化関数 //+------------------------------------------------------------------+ int start() { ObjectCreate("MyPriceLine", OBJ_HLINE, 0, 0, Ask-20*Point) ; ObjectSet("MyPriceLine", OBJPROP_PRICE1, Ask-20*Point); return(0)です。 } //+------------------------------------------------------------------+ 2)Askの上のラインは20pで。 //+------------------------------------------------------------------+ //| エキスパート初期化関数 //+------------------------------------------------------------------+ int start() { ObjectCreate("MyPriceLine", OBJ_HLINE, 0, 0, Ask+20*Point) ; ObjectSet("MyPriceLine", OBJPROP_PRICE1, Ask+20*Point); return(0)です。 } //+------------------------------------------------------------------+ 3) 価格の時間的変化率 #property show_inputs extern int int pips=2; //Ask を変更する。 extern double Time_=0.1; //c.~ ダニ extern bool all_from_view=true; //カレントシンボルのみ - false int i, l, p, number_of_characters; 文字列 val[], on_screen; int Ask_save[]; //+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= void start(){。 number_of_characters=SymbolsList(val, true);//val 配列にツールとその数を書き込む SymbolsList 関数を呼び出す。 ArrayResize(Ask_save,number of_characters); if(number of_characters == -1){ Alert("SymbolsList(string &Symbols[], bool Selected) failed"); return;}; }. if(!all_from_selected){。 number_of_characters=1です。 ArrayResize(Ask_save,number_of_characters)を使用します。 ArrayResize(val,number of_characters)。 val[0]=Symbol()。 } while(true&&!IsStopped()){ //許可され、停止されていなければスクリプトは続行されます。 Alert("再計算時間" +Time_+" 秒;) for(i=0;i<number of_characters;i++){ //calculate value of spread for symbol from market watch. if((Ask_save[i]-MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT))>=pips){ (Ask_save[i]-MarketInfo[i]/MODE_POINT])です。 Alert(val[i]+", "+Period()+" changed downward by "+DoubleToStr((Ask_save[i]-MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)),0)+" pips"); PlaySound("timeout.wav")。 } if((MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)-Ask_save[i])>=pips){ (MarketInfo(val[i],MODE_POINT)-Ask_save[i])>=pips)) Alert(val[i]+", "+Period()+" changed upwards by "+DoubleToStr((MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)-Ask_save[i]),0)+" pips"); PlaySound("email.wav")。 } Ask_save[i]=MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT) とする。 } Sleep(Time_*1000);// 秒間休止する。 } /* number_of_characters=SymbolsList(val, true);//val 配列にツールとその数を書き込む SymbolsList 関数呼び出し if(number of_characters == -1){ Alert("Error opening file in SymbolsList(string &Symbols[], bool Selected)"); return;} ・・・・・・・・・・。 while(true&&!IsStopped()){ //許可され、停止されていなければスクリプトは続行されます。 on_screen="\rn"; // インデント for(i=0;i<number of_characters;i++)//calculate spread value for symbol from market review. on_screen=on_screen+val[i]+" スプレッドコスト = " + DoubleToStr(MarketInfo(val[i],MODE_SPREAD)*MarketInfo(val[i],MODE_TICKVALUE),0)+"\r\n". コメント(to_screen);//表示 Alert("recalculate");//Signal Sleep(3000);//3秒間の一時停止。 } */ } void deinit(){Comment("");}. //+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= //+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= //この関数は,Market Watchからすべての金融商品を読み取ります. //+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= int SymbolsList(string &Symbols[], bool Selected){. int Offset, SymbolsNumber; string SymbolsFileName; if(Selected) SymbolsFileName = "symbols.sel"; else SymbolsFileName = "symbols.raw"; int hFile = FileOpenHistory(SymbolsFileName, FILE_BIN|FILE_READ); if(hFile < 0) return(-1); if(Selected) { SymbolsNumber = (FileSize(hFile) - 4) / 128; Offset = 116; }. else { SymbolsNumber = FileSize(hFile) / 1936; Offset = 1924; }. ArrayResize(Symbols,SymbolsNumber)。 if(Selected) FileSeek(hFile, 4, SEEK_SET); for(int i = 0; i < SymbolsNumber; i++){Symbols[i] = FileReadString(hFile, 12); FileSeek(hFile, Offset, SEEK_CUR);}. FileClose(hFile)を実行します。 return(SymbolsNumber)とする。 } [Archive!] Any rookie question, Market Watchウィンドウで選択されているすべての金融商品をスクリプトでプログラム的に確認するにはどうしたらよいでしょうか。 Help Needed : manage Vadim Zhunko 2011.03.04 20:50 #1870 globad: 皆さん、こんにちは。以下のものを組み合わせるのにご協力ください。最終的な結果は、価格に続く2本の線、20ptsでAskの下の1本、...となるはずです。 これはお願いする側にも失礼な話です。正しいポストコードの方法を学ぶ→SRC 1...180181182183184185186187188189190191192193194...537 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
例えば、
線分val1[c]が上方0.45を横切った時、変数TimeBeginに時間値が代入される
この時間をどのように変数に代入するのですか?
まあ、矢印はオープニングバーにあるんだけどね。
オープニングバーに矢印がありますが、対応する関数 - OrderSend()によって描かれています。この矢印はOrderModify()で描かれた矢印とは関係ありませんよね?OrderModify()を使って、矢印の色だけでなく、変数SLの値を変えることで、ストップロスのレベルも変えられると理解したのですが、いかがでしょうか?ヘルプに書いてあります。
過去に建てたポジションや未決済注文の パラメータを変更します。
矢印の色を変えるだけでなく、「以前に開いた注文のパラメータを変更する」ことを意味します。ストップを変更し、矢印を描くことを示唆するものである。でも、なぜかやらないんです。
のみ」は矢印のことであって、機能がどうこうということではありません。
стрелки на баре открытия есть, но нарисованные соответствующей функцией - OrderSend(). Эти стрелки же не относятся к стрелкам, рисуемым OrderModify()?
つまり、ストップやテイクを設定することで、矢印が変化するのです。
この時間をどのように変数に代入するのですか?
キムのコレクションには、そんな特集があります。
もう少し具体的に教えてください。どこにあるのですか?キムのコレクションはどこで見ることができますか?
のみ」は矢印のことであって、機能がどうこうということではありません。
ストップやテイクを設定する機能で、矢印が変化します。
OrderModify()のマニュアルにはこう書かれています。
arrow_color - チャート上のストップロスやテイクプロフィットの修正矢印の色です。このパラメータがない場合、または値がCLR_NONEの場合、チャートに矢印は表示されません。
つまり、私が理解した限りでは、OrderModify()は「MODIFICATION arrows」と書いてあるので、OrderSendで作成した開閉矢印だけでなく、OrderModifyで作成した修正矢印もあるため、棒を描いているのだと思います。また、これらのMODIFICATION矢印は、パラメータが存在しないかCLR_NONEに 等しい場合にのみ、欠落させることができる。しかし、私のパラメータは存在し、"Green "に等しい。修正矢印の有無は、特別なパラメータはなく、そのCLR_NONEの有無で制御されていると理解しました。同じヘルパーにあるOrderSendと類推して判断しています。
arrow_color - チャート上の開始矢印の色です。パラメータがない場合、または値がCLR_NONEの場合は、グラフにオープニングの矢印は表示されません。
isCloseLastPosByStop 関数 ()についてのヘルプをお願いします。
MetaEditorの 関数isCloseLastPosByStop ()に挿入しています(ただし、https://www.mql5.com/ru/forum/107476/page21 に書かれているもののみ)。
コンパイルに失敗した後、エラーが発生します。
'(' - 関数定義が予期しない
't' - 変数が定義されていない
't' - 変数が定義されていない
'}'- アンバランスな括弧
他のコードにコメントしたように、この関数です。
みなさん、こんにちは。以下のものを組み合わせるのにご協力ください。結果は、価格に沿った2本の線と、Askの20ピップ下の線となるはずです。
しかも、1tickで20ポイントも変わるとビープ音が鳴るんです。
すべて別個に問題なく動作します。ありがとうございました。
1) ラインはAskの20ピップス下にある。
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int start()
{
ObjectCreate("MyPriceLine", OBJ_HLINE, 0, 0, Ask-20*Point) ;
ObjectSet("MyPriceLine", OBJPROP_PRICE1, Ask-20*Point);
return(0)です。
}
//+------------------------------------------------------------------+
2)Askの上のラインは20pで。
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int start()
{
ObjectCreate("MyPriceLine", OBJ_HLINE, 0, 0, Ask+20*Point) ;
ObjectSet("MyPriceLine", OBJPROP_PRICE1, Ask+20*Point);
return(0)です。
}
//+------------------------------------------------------------------+
3) 価格の時間的変化率
#property show_inputs
extern int int pips=2; //Ask を変更する。
extern double Time_=0.1; //c.~ ダニ
extern bool all_from_view=true; //カレントシンボルのみ - false
int i, l, p, number_of_characters;
文字列 val[], on_screen;
int Ask_save[];
//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
void start(){。
number_of_characters=SymbolsList(val, true);//val 配列にツールとその数を書き込む SymbolsList 関数を呼び出す。
ArrayResize(Ask_save,number of_characters);
if(number of_characters == -1){ Alert("SymbolsList(string &Symbols[], bool Selected) failed"); return;}; }.
if(!all_from_selected){。
number_of_characters=1です。
ArrayResize(Ask_save,number_of_characters)を使用します。
ArrayResize(val,number of_characters)。
val[0]=Symbol()。
}
while(true&&!IsStopped()){ //許可され、停止されていなければスクリプトは続行されます。
Alert("再計算時間" +Time_+" 秒;)
for(i=0;i<number of_characters;i++){ //calculate value of spread for symbol from market watch.
if((Ask_save[i]-MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT))>=pips){ (Ask_save[i]-MarketInfo[i]/MODE_POINT])です。
Alert(val[i]+", "+Period()+" changed downward by "+DoubleToStr((Ask_save[i]-MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)),0)+" pips");
PlaySound("timeout.wav")。
}
if((MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)-Ask_save[i])>=pips){ (MarketInfo(val[i],MODE_POINT)-Ask_save[i])>=pips))
Alert(val[i]+", "+Period()+" changed upwards by "+DoubleToStr((MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)-Ask_save[i]),0)+" pips");
PlaySound("email.wav")。
}
Ask_save[i]=MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT) とする。
}
Sleep(Time_*1000);// 秒間休止する。
}
/*
number_of_characters=SymbolsList(val, true);//val 配列にツールとその数を書き込む SymbolsList 関数呼び出し
if(number of_characters == -1){ Alert("Error opening file in SymbolsList(string &Symbols[], bool Selected)"); return;} ・・・・・・・・・・。
while(true&&!IsStopped()){ //許可され、停止されていなければスクリプトは続行されます。
on_screen="\rn"; // インデント
for(i=0;i<number of_characters;i++)//calculate spread value for symbol from market review.
on_screen=on_screen+val[i]+" スプレッドコスト = " + DoubleToStr(MarketInfo(val[i],MODE_SPREAD)*MarketInfo(val[i],MODE_TICKVALUE),0)+"\r\n".
コメント(to_screen);//表示
Alert("recalculate");//Signal
Sleep(3000);//3秒間の一時停止。
}
*/
}
void deinit(){Comment("");}.
//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
//この関数は,Market Watchからすべての金融商品を読み取ります.
//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
int SymbolsList(string &Symbols[], bool Selected){.
int Offset, SymbolsNumber; string SymbolsFileName;
if(Selected) SymbolsFileName = "symbols.sel"; else SymbolsFileName = "symbols.raw";
int hFile = FileOpenHistory(SymbolsFileName, FILE_BIN|FILE_READ);
if(hFile < 0) return(-1); if(Selected) { SymbolsNumber = (FileSize(hFile) - 4) / 128; Offset = 116; }.
else { SymbolsNumber = FileSize(hFile) / 1936; Offset = 1924; }.
ArrayResize(Symbols,SymbolsNumber)。
if(Selected) FileSeek(hFile, 4, SEEK_SET);
for(int i = 0; i < SymbolsNumber; i++){Symbols[i] = FileReadString(hFile, 12); FileSeek(hFile, Offset, SEEK_CUR);}.
FileClose(hFile)を実行します。
return(SymbolsNumber)とする。
}
皆さん、こんにちは。以下のものを組み合わせるのにご協力ください。最終的な結果は、価格に続く2本の線、20ptsでAskの下の1本、...となるはずです。
これはお願いする側にも失礼な話です。正しいポストコードの方法を学ぶ→SRC